C++《超市商品管理系统》课程设计报告
程序源代码
#include
#include
class Goods //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Goods类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ {
public: Goods() { } int kind;
char name[20];//哇哈哈 char Id[20]; char place[10]; char brand[10];
float buyprice; //进货价; float saleprice; //卖出价; int amount; //存货数量; int amount1; //售货数量; int profit; //净利润; Goods * Next; void InputAll() {
InputName(); InputKind(); InputID(); InputOther();
}
void InputKind() {
cout<<\请选择种类:\ }
void InputName() {
21
C++《超市商品管理系统》课程设计报告
cout<<\请输入商品的名称:\ }
void InputID() {
cout<<\请输入商品的编号:\ }
void InputBuyprice() {
cout<<\请输入进货价:\ }
void InputSaleprice() {
cout<<\请输入售出价:\ }
void InputAmount() {
cout<<\请输入剩余商品数量:\ }
void InputProfit() {
cout<<\请输入净利润:\ }
void InputPlace() {
cout<<\请输入商品产地:\ }
void Inputbrand() {
cout<<\请输入生产商品牌:\ }
void InputOther() {
cout<<\请输入进货价:\ cout<<\请输入售出价:\ cout<<\请输入存货数量:\ cout<<\请输入商品的产地:\ cout<<\请输入生产商品牌:\ profit=0; }
void ReadFile(istream & in) {
in>>name>>kind>>Id>>buyprice>>saleprice>>amount>>place>>brand>>prof
22
C++《超市商品管理系统》课程设计报告
it; }
void Show() {
cout<<\商品名: \种类:\编号: \进货价 \售出价 \剩余商品数量: \
amount< class Goodsmessage : public Goods //﹌﹌﹌﹌﹌﹌﹌﹌﹌Goodsmessage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ { public: Goodsmessage(); ~Goodsmessage(); void showMenu(int n); void Find(); void Save(); void ModifyItem(); void RemoveItem(); void Swap(Goods *,Goods *); void Paixu(); void Saleprice(); //void Chack(); int ListCount(); void Display() { system(\ i=0; for(Goods * p=Head->Next;p!=End;p=p->Next) { p->Show(); i++; } cout<<\共有\个商品\ cout<<\输入任意字符!继续??\ getch(); } void AddItem()//从键盘输入商品信息 23 C++《超市商品管理系统》课程设计报告 { system(\ End->InputName(); showMenu(1); End->InputKind(); do { End->InputID(); }while(FindID(End->Id)); End->InputOther(); End->Next = new Goods; End=End->Next; cout<<\添加成功!\ Save(); cout<<\输入任意字符!继续??\ getch(); } private: Goods * Head,* End; int i; ifstream in; ofstream out; Goods *FindItem(char * name) { for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->name,name))return p; return NULL; } Goods *FindID(char * Id) { for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->Id,Id))return p; return NULL; } }; Goodsmessage::Goodsmessage() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 24 C++《超市商品管理系统》课程设计报告 { Head=new Goods; Head->Next=new Goods; End=Head->Next; in.open(\ if(!in) cout<<\无商品信息。请先进货。\ else { while(!in.eof()) { End->ReadFile(in); if(End->name[0]=='\\0')break; End->Next=new Goods; End=End->Next; } in.close(); cout<<\读取商品信息成功!\ } } Goodsmessage::~Goodsmessage() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ { //Save(); for(Goods * temp;Head->Next!=End;) { temp=Head->Next; Head->Next=Head->Next->Next; delete temp; } delete Head,End; } void Goodsmessage::showMenu(int n)//菜单 //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ { switch(n) { case 1: { 25