宠物商店管理系统_第1页
宠物商店管理系统_第2页
宠物商店管理系统_第3页
宠物商店管理系统_第4页
宠物商店管理系统_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 思路1 、问题描述:设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号, 名称,体重, 年龄,类别,价格,性格等)的输入、显示、查询等功能;宠物的交易、状态及顾客(宠物主人)的记录查询和修改。2、设计要求:( 1)至少包含4 个类,日期Date 类记录交易日期,宠物 PetAnimals 类包含宠物的基本信息和基本操作,输入和输出操作要求重载“ >>” 和 “ <<” 运算符。顾客 Customer类记录顾客的信息,另外再设计一个管理类,实现对宠物情况的操作;( 2) 用文本编辑器编辑一个文本文件(总数 20 个以上小动物)包含至少有3 类 (如狗

2、、 猫、 鸟等),程序运行时进行初始化数据,使用vector 数组存放。另外再编写一个记录交易的文本文件,记录交易的日期、宠物名称、宠物类别、顾客姓名、交易金额等,有5 条以上记录即可。( 3)菜单功能:显示所有宠物信息,根据类别显示记录,根据名称查询记录,添加(购入) 宠物,删除(卖出)宠物,交易记录,按日期查询交易记录。3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:( 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;( 2)分析系统中的各个实体及它们之间的关系;( 3)根据问题描述,设计系统的类层次;( 4)完成类层次中各个类的描述;( 5)完成类中各个

3、成员函数的定义;( 6)完成系统的应用模块;( 7)功能调试;( 8)完成系统总结报告宠物商店库存宠反馈信息最新动态二.知识点系统主要函数说明1 .宠物基本信息1)主函数 main():定义宠物ID ,体重等信息结构体数组,调用录入、统计 等函数对宠物信息进行处理;2)录入函数 AllPrint():输入ID到数量的宠物信息;3)查询函数 search():查询指定宠物的信息;4)删除函数Del() :删除宠物信息;5)修改函数ChangePet():修改指定宠物的信息;6)输出函数AllPrint():输出全部宠物的信息;7)保存函数save():保存宠物信息;8)判断函数Inquire(s

4、tring a) :判断信息真假;9)插入函数AddPet():插入新宠物信息;2 .宠物的交易,状态1)主函数main() :对交易记录,输入客户的姓名,客户联系方式,交易金额,交易日期对信息进行录入保存,购买宠物种类,购买数量,购买宠物单价进行录入保存。2)录入函数Addsale() :增加;3)删除函数delesale() :删除;4)查询函数search():查找;5)输出函数AllPrint() :输出显示;6)保存函数save() :保存3 . 顾客的记录查询和修改1)主函数main() :对顾客姓名,购买宠物种类,购买数量,购买宠物单价进行录入保存,顾客记录查询和修改。2)录入函

5、数add() :增加顾客;3)删除函数del() :删除顾客;4)修改函数alter():修改顾客信息;5)保存函数save():保存顾客信息;6)查询函数search():查询顾客信息;7)判断函数Inquire(string a) :判断用户是否已注册;8)查询函数show():查询顾客的姓名是否存在回ture9)输出函数Output() :输出全部顾客记录;三 . 详细设计1)主函数main() :定义宠物ID ,体重等信息结构体数组,调用录入、统计等函数对宠物信息进行处理;int Pet:xianshi() int menu;宠物店管理系统欢迎您的使用cout<<"

6、;*"<<endl;cout <<endl;cout<< endl<<endl;cout<<""<<endl;cout<<" I"<<endl;cout<<" I"<<endl;cout<<" I"<<endl;cout<<" I"<<endl;cout<<"1 1.新添加宠物2.查找宠物3删除宠物

7、"<<endl;cout<<"1"<<endl;cout<<"I7.结束运行"<<endl;cout<<"1"<<endl;cout<<"1 4.显示所有5.修改宠物6返回主菜单"<<endl;cout<<""<<endl;cout<<endl<<" 请选择相应操作菜单项:"<<endl;cin>

8、;>menu;while(menu<1|menu>7)cout<<" 请选择正确的菜单选项:"<<endl;cin.clear();/*清除输入*/cin>>menu;return menu;system("cls");2)录入函数AllPrint():输入 ID 到数量的宠物信息;/ 成员函数的实现void Pet:AddPet()/ 增加宠物输入文本中docout<<"*增加新的宠物<<endl;*cout<<" 输入宠物编号ID: &quo

9、t; cin>>ID;cout<<endl;if(Inquire(ID)cout<<" 输入宠物名:" cin>>petname; fflush(stdin); cout<<" 体重 :" cin>>weight;fflush(stdin);cout«"年龄:";cin»age;fflush(stdin);cout«"类别:";cin»category;fflush(stdin);cout«&q

10、uot;性格:";cin»character;fflush(stdin);cout«"价格:";cin»price;fflush(stdin);cout«"数量:";cin»count;cout«"ttlDt"«ID«endl«,tt 宠物名 t"«petname«endl«"tt t"«weight«endl«"tt年龄t"&

11、#171;age«endl«"tt类另八t"vvcategoryvvendlvv”tt性格t"«character«endl«"tt宠物价格 t”vvpricevvendlvv”tt宠物数量t"«count«endl;fflush(stdin);characterelse(cout«"输入的ID以存在,请重新输入! ! "«endl;)while(!(lnquire(ID);save();cout«endl«&quo

12、t;*信息已保!*”vvendl .system("pause");system("cls");)3)查询函数search():查询指定宠物的信息;void Pet:search()/查找宠物信息(ifstream inData("pet",ios:in);if(!inData)cout<<endl<<" 对不起 ! 文件找不到!"<<endl;system("pause");return;string sign;cout<<endl<<

13、;" 输入你想查找的宠物的编号或名称: "cin>>sign;bool flag=true;string str;while(inData>>ID>>petname) getline(inData, str);/*字符 str 用来接受除 与输入编号或影片名称相同之外的其他信息*/if(ID=sign)|(petname=sign) cout<<endl<<" 你要查找的宠物信息是: "<<endl<<endl;cout<<setiosflags(ios:le

14、ft)<<setw(8)<<"ID"<<setw(8)<<"宠物名"<<setw(8)<<" 体重"<<setw(8)<<" 年龄"<<setw(8)<<" 类别 "<<setw(8)<<"性格"<<setw(8)<<" 单价"<<setw(8)<<" 数量

15、"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<ID<<petname<<str<<endl;/*输出所要查找的人的信息*/flag=false; continue; if(flag) cout<<" 没找到你的宠物!"system("pause"); system("cls");4)删除函数Del() :删除宠物信息;void Pet:Del()/ 删除宠物信息 ifstream in

16、Data("pet",ios:in);ofstream outData("pet1",ios:out); if(!inData)II.cout<<"对不起!打不开此文件。system("pause");return;)string str,del;cout<<"请输入要删除的宠物ID或名字:"<<endl;cin>>str;bool flag=true;while(inData>>ID>>petname)getline(inData,

17、del);if(ID=str|petname=str) cout<<setiosflags(ios:left)<<setw(8)<<"您所要删除的宠物:"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<"ID"<<setw(8)<<"宠物名"<<setw(8)<<"体重"<<setw(8)<<"年龄"

18、<<setw(8)<<"类别"<<setw(8)<<” 性格"<<setw(8)<<"单价"<<setw(8)<<"数量"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<ID<<petname<<del<<endl;flag=false;continue;)outData<<setiosflag

19、s(ios:left)<<setw(8)<<ID<<petname<<del<<endl;)inData.close();outData.close();if(flag)cout<<"对不起!没有找到你删除的宠物!"system("pause");)else ofstream outData("pet”,ios二out);ifstream inData("pet1",ios:in);if(!inData)cout<<"对不起打不开文

20、件!"<<endl;system("pause"); return;while(getline(inData,str) outData<<str<<endl; outData.close();inData.close();cout<<" 宠物已删除!"system("pause");system("cls");5)修改函数ChangePet() :修改指定宠物的信息;void Pet:ChangePet()/ 修改宠物单价 ofstream outData(

21、"pet1",ios:out);/* 创建一个名为pet1 的文件并打开*/ifstream inData("pet",ios:in);/*打开名为pet 的文件并读取里面的内容 */if(!inData) cout<<" 对不起 ! 找不到此文件!"<<endl;system("pause");return;string alter;cout<<" 请输入要修改的宠物ID 或宠物名 :"cin>>alter;bool flag=true;/* 布

22、尔型函数*/string str;while(inData>>ID>>petname)/* 查找函数*/getline(inData,str);/* 赋予信息给str*/string newID;if(alter=ID)|(alter=petname) docout<<" 您所要修改的宠物:"<<endl;宠物名cout«setiosflags(ios:left)<<setw(8)«"ID"«setw(8)«" "«setw(

23、8)«"体重 "vvsetw(8)vv" 年龄"vvsetw(8)vv” 类别"vvsetw(8)vv” 性格 "«setw(8)«"单价"vvsetw(8)vv" 数量"vvendl;cout«setiosflags(ios:left)«setw(8)«ID«petname<<str«endl;cout«"*请根据一下提示修彳请自 *”coutvv”输入新的宠物ID: cin

24、7;newlD;cout«endl;if(lnquire(newlD)(cout«"输入新宠物名:" cin»petname;fflush(stdin);cout«"价格:";cin»price;fflush(stdin);cout«"体重:";cin»weight;fflush(stdin);cout«"年龄:";cin»age;fflush(stdin);cout«"性格:"; cin

25、7;character;fflush(stdin);cout«"数量cin»count;flag=false;)else(coutvv”你输入的ID以存在,请重新输入! !"«endl; )while(!lnquire(newlD);ID=newlD;save();continue;outData<<setiosflags(ios:left)<<setw(8)<<ID<<petname<<str<<endl;/* 把信息读取到Pet1*/outData.close();in

26、Data.close();cout<<endl<<"I*信息已保!*"<<endl;if(flag)cout<<" 找不到您所要修改的宠物!"system("pause");elseifstream inData("pet1",ios:in);ofstream outData("pet",ios:out);if(!inData)cout<<" 对不起 ! 找不到此文件!"<<endl;system(&qu

27、ot;pause");return;while(getline(inData,str)outData<<str<<endl;outData.close();inData.close();cout<<" 宠物的信息已修改!"system("pause");6)输出函数AllPrint() :输出全部宠物的信息;void Pet:AllPrint()/ 输出所有宠物信息 ifstream inData("pet",ios:in);if(!inData) cout<<" 对

28、不起 ! 打不开文件!"<<endl;system("pause");return ;bool flag=true;string all;while(getline(inData,all)if(flag)所有宠物如cout<<"*下 :*"cout<<endl<<endl;cout<<setiosflags(ios:left)<<setw(8)<<"ID"<<setw(8)<<"宠物名 "<&

29、lt;setw(8)<<" 体重"<<setw(8)<<" 年龄"<<setw(8)<<" 类别 "<<setw(8)<<" 性格 "<<setw(8)<<" 单价"<<setw(8)<<" 数量"<<endl;cout<<all<<endl;flag=false;if(flag)cout <<en

30、dl <<" 你的宠物库中没有宠物!"<<endl<<endl;elsecout <<endl <<" 所有宠物已经全部显示出来!"<<endl <<endl;system("pause");system("cls");7)保存函数save() :保存宠物信息;void Pet:save() ofstream outData("pet",ios:app);if(!outData)cout<<"

31、; 对不起!打不开此文件。"system("pause");return ;outData<<setiosflags(ios:left)<<setw(8)<<ID<<setw(8)<<petname<<s etw(8)<<weight<<setw(8)<<age<<setw(8)<<category<<setw(8)<<character<< setw(8)<<price<<

32、setw(8)<<count<<endl;outData.close();8)判断函数Inquire(string a) :判断用户是否已注册;bool Pet:Inquire(string s)/ 判断真假 ifstream inData("pet",ios:in);string newID;if(!inData) cout<<endl<<" 对不起 ! 文件找不到!"<<endl;system("pause");return true;bool flag=true;str

33、ing str;while(inData>>newID) getline(inData, str);/*字符 str 用来接受其他信息*/if(newID=s)(flag=false; break;)return flag;inData.close();system("pause"); system("cls");)2 .宠物的交易,状态1)主函数 main():对交易记录,输入客户的姓名,客户联系方式,交易金额, 交易日期对信息进行录入保存,购买宠物种类,购买数量,购买宠物单价进行录 入保存。int SaleItem:menu() (int

34、 a;cout<<"I*宠物店账单系统cout<<endl<<endl;cout<<”"<<endl;cout<<”1"<<endl;cout<<”1"<<endl;cout<<”1"<<endl;cout<<”1"<<endl;cout<<”I 1、添加信息"<<endl;cout<<”1"<<endl;cout

35、<<”1"<<endl;cout<<”I 2、删除信息"<<endl;cout<<”1"<<endl;*”<<endl;cout<<endl<<endl;欢迎进入账单管理系统4、显示所信息5、返回主菜单cout<<"I"<<endl;cout<<"| 3、查询信息6"<<endl;cout<<"Q、退出系统J"<<endl;co

36、ut<<" 请选择所要应用的编号:"cin>>a;while (a<1|a>6)cout<<" 请正确输入选择编号!"<<endl;cin.clear();cin>>a;return a;system("pause");system("cls");2)录入函数Addsale() :增加;void SaleItem:Addsale()cout<<" 请输入顾客姓名:"cin>>name;cout<

37、<" 请输入购买宠物种类:"cin>>petname;cout<<" 请输入购买数量:"cin>>count;cout<<" 请输入宠物单价:"cin>>price;cout<<"tt 顾客姓名t"<<name<<endl<<"tt 宠物种类t"<<petname<<endl<<"tt 宠物单价t"<<price&l

38、t;<endl<<"ttt"<<count<<endl;购买数量save();cout<<endl<<"I*信息已保!*"<<endl;system("pause");system("cls");3)删除函数delesale() :删除;void SaleItem:delesale()ofstream outData("saleItem1.txt",ios:out);ifstream inData("sale

39、Item.txt",ios:in); if(!inData) (cout<<"打不开文件!"<<endl;system("pause"); return;string del;cout<<"输入你想删除的客户名:"<<endl;cin>>del;bool flag=true;string str;while(inData>>name>>petname>>count>>price)(getline(inData,str)

40、;if(del=name)(cout<<"您所要删除的账单:"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<"客户姓名"<<setw(8)<<"宠物种类"<<setw(8)<<"购买数量"<<setw(8)<<"宠物单价 "<<endl;cout<<setiosflags(ios:left)<

41、<setw(8)<<name<<setw(8)<<petname<<setw(8 )<<count<<setw(8)<<price<<endl;/*输出所要删除的人的信息 */flag=false;continue;outData<<setiosflags(ios:left)<<setw(8)<<name<<setw(8)<<petname< <setw(8)<<count<<setw(8)<

42、<price<<endl;outData.close();inData.close();if(flag)(cout<<"没有您要删除的账单的信息!"<<endl;system("pause");else(ofstream outData("saleItem.txt",ios二out);ifstream inData("saleItem1.txt",ios:in); if(!inData) cout<<" 对不起打不开文件!"<<e

43、ndl;system("pause");return;while(getline(inData,str) outData<<str<<endl;outData.close();inData.close();system("pause");system("cls");4)查询函数search() :查找;void SaleItem:search()/ 查找宠物信息 ifstream inData("saleItem.txt",ios:in);if(!inData) cout<<en

44、dl<<" 对不起 ! 文件找不到!"<<endl;system("pause");return;string sign;cout<<endl<<" 输入你想查找的客户姓名: "cin>>sign;bool flag=true;string str;while(inData>>name) getline(inData, str);/*字符 str 用来接受除 与输入编号或影片名称相同之外的其他信息*/if(name=sign)cout<<endl<

45、;<" 你要查找客户信息是: "<<endl<<endl;cout<<setiosflags(ios:left)<<setw(8)<<" 客户名"<<setw(8)<<" 宠物名 "<<setw(8)<<" 价格 "<<setw(8)<<" 数量 "<<endl;cout<<setiosflags(ios:left)<<se

46、tw(8)<<name<<str<<endl;/* 输出所要查找的人的信息*/flag=false;continue;if(flag)cout<<" 没找到你的顾客!"system("pause");system("cls");5)输出函数AllPrint() :输出显示;void SaleItem:AllPrint()/ 输出所有信息 ifstream inData("saleItem.txt",ios:in);if(!inData)cout<<&quo

47、t; 对不起 ! 打不开文件!"<<endl;system("pause");return ;bool flag=true;string all;while(inData>>name>>petname>>count>>price)if(flag) cout<<"所有账单信息如客户 "<<setw(8)<<" 名*下 :*"cout<<endl<<endl;cout<<setiosflags(io

48、s:left)<<setw(8)<<"称 "<<setw(8)<<" 价格 "<<setw(8)<<" 数量 "<<endl; cout<<setiosflags(ios:left)<<setw(8)<<name<<setw(8)<<petname<<setw(8 )<<count<<setw(8)<<price<<endl;flag

49、=false;if(flag)cout <<endl <<" 你的信息库中没有信息!!”<<endl<<endl;elsecout <<endl <<"所有信息已经全部显示出来!!"<<endl <<endl;system("pause");system("cls");6)保存函数save():保存void SaleItem二save() ofstream outData("saleItem.txt",ios二

50、app);if(!outData)cout<<"对不起打不开文件!"<<endl;system("pause");return;outData<<setiosflags(ios:left)<<setw(8)<<name<<setw(8)<<petname< <setw(8)<<price<<setw(8)<<count<<endl;cout<<"信息已保存! !"outData.c

51、lose();3 .顾客的记录查询和修改1)主函数main() :对顾客姓名,购买宠物种类,购买数量,购买宠物单价进行录入保存,顾客记录查询和修改。2)录入函数add() :增加顾客;void Customer:add()docout<<"*注册新用户*<<endl;cout<<" 输入新客户的姓名:cin>>name;cout<<endl;if(Inquire(name)/ 如果文件里没有返回truecout<<" 输入新客户的联系方式:"cin>>telephone;

52、cout<<endl;break; elsecout<<" 姓名已被人注册,请重新输入!"<<endl;while(1); save();cout<<endl<<"I*信息已保!*"<<endl;system("pause");system("cls");3)删除函数del() :删除顾客;void Customer:del()/ 删除 ofstream outData("customer1",ios:out); ifstr

53、eam inData("customer",ios:in); if(!inData)cout<<" 打不开文件!"<<endl;system("pause");return;string del,name,str;cout<<" 输入你想删除的客户的名字:"cin>>del;bool flag=true;while(inData>>name>>telephone)if(del=name)cout<<" 您所要删除的客户为:

54、"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<" 客户名字 :"<<setw(8)<<" 电话号码"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<name<<telephone<<endl;flag=false;continue;outData<<setiosflags(ios:left)<<

55、;setw(8)<<name<<telephone<<endl; outData.close();inData.close();if(flag)cout<<" 没有您要删除的客户的信息!"<<endl;system("pause");elseofstream outData("customer",ios:out);ifstream inData("customer1",ios:in);if(!inData)cout<<" 对不起打不开

56、文件!"<<endl;system("pause");return;while(getline(inData,str)outData<<str<<endl; outData.close();inData.close();cout<<" 客户已删除!"system("pause");system("cls");4)查询函数alter() :修改顾客信息;void Customer:alter()/ 修改 ifstream inData("custom

57、er",ios:in);ofstream outData("customer1",ios:out);if(!inData)cout<<" 对不起 ! 找不到此文件!"<<endl;system("pause");return;string alter;cout<<" 请输入要修改的客户名:"cin>>alter;bool flag=true;/* 布尔型函数*/string str;while(inData>>name>>teleph

58、one)string newname;if(alter=name)docout<<" 您所要修改信息的用户为:"<<endl;cout<<setiosflags(ios:left)<<setw(10)<<" 客户姓名"<<setw(10)<<" 联系电话"<<endl;cout<<setiosflags(ios:left)<<setw(8)<<name<<telephone<<en

59、dl;*请根据一下提示修改信自 *“ 息;cout<<" 请输入新客户姓名:"cin>>newname;fflush(stdin);cout<<endl;if(Inquire(newname)cout<<" 输入客户的联系方式:"cin>>telephone;fflush(stdin);cout<<endl;flag=false;break;信息已保cout<<endl<<"*存 !*"<<endl;elsecout<&l

60、t;" 姓名已被人注册!"<<endl;while(1);name=newname;save();continue;outData<<setiosflags(ios:left)<<setw(8)<<name<<telephone<<endl;/* 把信息读取到customer1*/if(flag)cout<<" 找不到您所要修改信息的客户!"system("pause");elseoutData.close();inData.close();ifstr

61、eam inData("customer1",ios:in);ofstream outData("customer",ios:out);if(!inData)cout<<" 对不起 ! 找不到此文件!"<<endl;system("pause");return;while(getline(inData,str)outData<<str<<endl;outData.close();inData.close();cout<<" 此客户的信息已修改!&

62、quot;system("pause");5)保存函数save() :保存顾客信息;void Customer:save()/ 保存 ofstream outData("customer",ios:app); if(!outData) cout<<" 对不起!打不开此文件。"system("pause");return; outData<<setiosflags(ios:left)<<setw(8)<<name<<setw(8)<<teleph

63、on e<<endl;cout<<" 信息已保存!"outData.close(); bool Customer:Inquire(string s)/ 判断真假 ifstream inData("customer",ios:in);string Newname;if(!inData) cout<<endl<<" 对不起 ! 文件找不到!"<<endl;system("pause");return true;bool flag=true;string str

64、;while(inData>>Newname) getline(inData, str);/*字符 str 用来接受其他信息*/if(Newname=s)flag=false;break; return flag;inData.close();system("pause");system("cls");6)查询函数search() :查询顾客信息;void Customer:search()/ 查找宠物信息 ifstream inData("customer",ios:in);if(!inData) cout<<

65、;endl<<" 对不起 ! 文件找不到!"<<endl;system("pause");return;string sign;cout<<endl<<" 输入你想查找的客户名: "cin>>sign;bool flag=true;string str;while(inData>>name) getline(inData, str);/*字符 str 用来接受其他信息 */if(name=sign)cout<<endl<<" 你要查找的客户名: "<<endl<<endl;cout<<setiosflags(ios:left)<<setw(8)<<" 客户姓名"<<setw(8)<<" 联系电话"<<end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论