您好,欢迎访问三七文档
一.思路1、问题描述:设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号,名称,体重,年龄,类别,价格,性格等)的输入、显示、查询等功能;宠物的交易、状态及顾客(宠物主人)的记录查询和修改。2、设计要求:(1)至少包含4个类,日期Date类记录交易日期,宠物PetAnimals类包含宠物的基本信息和基本操作,输入和输出操作要求重载“”和“”运算符。顾客Customer类记录顾客的信息,另外再设计一个管理类,实现对宠物情况的操作;(2)用文本编辑器编辑一个文本文件(总数20个以上小动物)包含至少有3类(如狗、猫、鸟等),程序运行时进行初始化数据,使用vector数组存放。另外再编写一个记录交易的文本文件,记录交易的日期、宠物名称、宠物类别、顾客姓名、交易金额等,有5条以上记录即可。(3)菜单功能:显示所有宠物信息,根据类别显示记录,根据名称查询记录,添加(购入)宠物,删除(卖出)宠物,交易记录,按日期查询交易记录。3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告宠物商店用户商店购买宠物卖出宠物最新动态发布求购信息宠物交易查看宠物信息反馈信息修改宠物状态宠物交易发布新宠信息反馈信息库存宠物培育宠物二.知识点系统主要函数说明1.宠物基本信息1)主函数main():定义宠物ID,体重等信息结构体数组,调用录入、统计等函数对宠物信息进行处理;2)录入函数AllPrint():输入ID到数量的宠物信息;3)查询函数search():查询指定宠物的信息;4)删除函数Del():删除宠物信息;5)修改函数ChangePet():修改指定宠物的信息;6)输出函数AllPrint():输出全部宠物的信息;7)保存函数save():保存宠物信息;8)判断函数Inquire(stringa):判断信息真假;9)插入函数AddPet():插入新宠物信息;2.宠物的交易,状态1)主函数main():对交易记录,输入客户的姓名,客户联系方式,交易金额,交易日期对信息进行录入保存,购买宠物种类,购买数量,购买宠物单价进行录入保存。2)录入函数Addsale():增加;3)删除函数delesale():删除;4)查询函数search():查找;5)输出函数AllPrint():输出显示;6)保存函数save():保存3.顾客的记录查询和修改1)主函数main():对顾客姓名,购买宠物种类,购买数量,购买宠物单价进行录入保存,顾客记录查询和修改。2)录入函数add():增加顾客;3)删除函数del():删除顾客;4)修改函数alter():修改顾客信息;5)保存函数save():保存顾客信息;6)查询函数search():查询顾客信息;7)判断函数Inquire(stringa):判断用户是否已注册;8)查询函数show():查询顾客的姓名是否存在回ture9)输出函数Output():输出全部顾客记录;三.详细设计1)主函数main():定义宠物ID,体重等信息结构体数组,调用录入、统计等函数对宠物信息进行处理;intPet::xianshi(){intmenu;cout******************************宠物店管理系统********************************endl;coutendl;coutendlendl;cout╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮endl;cout││endl;cout│★★★★★欢迎您的使用★★★★★│endl;cout│☆(*^__^*)☆│endl;cout││endl;cout│1.新添加宠物2.查找宠物3.删除宠物│endl;cout││endl;cout│7.结束运行│endl;cout││endl;cout│4.显示所有5.修改宠物6.返回主菜单│endl;cout╰---------------------------------------------------------------------╯endl;coutendl请选择相应操作菜单项:endl;cinmenu;while(menu1||menu7){cout请选择正确的菜单选项:endl;cin.clear();/*清除输入*/cinmenu;}returnmenu;system(cls);}2)录入函数AllPrint():输入ID到数量的宠物信息;//成员函数的实现voidPet::AddPet()//增加宠物输入文本中{do{cout*****************************增加新的宠物*******************************endl;cout输入宠物编号ID:;cinID;coutendl;if(Inquire(ID)){cout输入宠物名:;cinpetname;fflush(stdin);cout体重:;cinweight;fflush(stdin);cout年龄:;cinage;fflush(stdin);cout类别:;cincategory;fflush(stdin);cout性格:;cincharacter;fflush(stdin);cout价格:;cinprice;fflush(stdin);cout数量:;cincount;cout\t\tID\tIDendl\t\t宠物名\tpetnameendl\t\t体重\tweightendl\t\t年龄\tageendl\t\t类别\tcategoryendl\t\t性格\tcharacterendl\t\t宠物价格\tpriceendl\t\t宠物数量\tcountendl;fflush(stdin);}characterelse{cout输入的ID以存在,请重新输入!!endl;}}while(!(Inquire(ID)));save();coutendl**********************信息已保存!!!******************endl;system(pause);system(cls);}3)查询函数search():查询指定宠物的信息;voidPet::search()//查找宠物信息{ifstreaminData(pet,ios::in);if(!inData){coutendl对不起!!!!文件找不到!!!!endl;system(pause);return;}stringsign;coutendl输入你想查找的宠物的编号或名称:;cinsign;boolflag=true;stringstr;while(inDataIDpetname){getline(inData,str);/*字符str用来接受除与输入编号或影片名称相同之外的其他信息*/if((ID==sign)||(petname==sign)){coutendl你要查找的宠物信息是:endlendl;coutsetiosflags(ios::left)setw(8)IDsetw(8)宠物名setw(8)体重setw(8)年龄setw(8)类别setw(8)性格setw(8)单价setw(8)数量endl;coutsetiosflags(ios::left)setw(8)IDpetnamestrendl;/*输出所要查找的人的信息*/flag=false;continue;}}if(flag){cout没找到你的宠物!!!;}system(pause);system(cls);}4)删除函数Del():删除宠物信息;voidPet::Del()//删除宠物信息{ifstreaminData(pet,ios::in);ofstreamoutData(pet1,ios::out);if(!inData){cout对不起!打不开此文件。;system(pause);return;}stringstr,del;cout请输入要删除的宠物ID或名字:endl;cinstr;boolflag=true;while(inDataIDpetname){getline(inData,del);if(ID==str||petname==str){coutsetiosflags(ios::left)setw(8)您所要删除的宠物:endl;coutsetiosflags(ios::left)setw(8)IDsetw(8)宠物名setw(8)体重setw(8)年龄setw(8)类别setw(8)性格setw(8)单价setw(8)数量endl;coutsetiosflags(ios::left)setw(8)IDpetnamedelendl;flag=false;continue;}outDatasetiosflags(ios::left)setw(8)IDpetnamedelendl;}inData.close();outData.close();if(flag){cout对不起!没有找到你删除的宠物!;system(pause);}else{ofstreamoutData(pet,ios::out);ifstreaminData(pet1,ios::in);if(!inData){cout对不起打不开文件!endl;system(pause);return;}while(getline(inData,str)){outDatastrendl;}outData.close();inData.close();cout宠物已删除!!;}system(pause);system(cls);}5)修改函数ChangePet():修改指定宠物的信息;voidPet::ChangePet()//修改宠物单价{ofstreamoutData(pet1,ios::out);/*创建一个名为pet1的文件并打开*/ifstreaminData(pet,ios::in);/*打开名为pet的文件并读取里面的内容*/if(!inData){cout对不起!找不到此文件!!!endl;system(pause);return;}stringalter;cout请输入要修改的宠物ID或宠物名:;cinalter;boolflag=true;/*布尔型函数*/stringstr;while(inDataIDpetname)/*查找函数*/{getline(inData,str);/*赋予信息给str*/stringnewID;if((alter==ID)||(alter==petname)){do{cout您所要修改的宠物:endl;coutsetiosflags(ios::left)setw(8)IDsetw(8)宠物名setw(8)体重setw(8)年龄setw(8
本文标题:宠物商店管理系统
链接地址:https://www.777doc.com/doc-6259754 .html