C++实现宠物商店信息管理系统
本文实例为大家分享了C++实现宠物商店信息管理系统的具体代码,供大家参考,具体内容如下
一、问题描述
设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号,名称,体重, 年龄,类别,价格,性格等)的输入、显示、查询等功能;宠物的交易、状态及顾客(宠物主人)的记录查询和修改。
二、基本要求
(1)使用面向对象思想开发需要的类,比如:宠物类包含宠物的基本属性信息和基本操作,日期类记录交易日期,顾客类记录顾客的信息;管理类,实现对宠物情况的操作;输入和输出的操作要求对输出运算符“>>”和输出运算符“<<”进行重载
(2)输入和输出可以使用文本文件重定向输入(保存数据为磁盘文件);也可以使用标准输入输出进行(提交时需要提交TXT格式输入数据)。程序运行时进行初始化数据,使用vector数组存放。交易数据记录交易的日期、宠物名称、宠物类别、顾客姓名、交易金额等,有6条以上记录。
(3)运行后使用菜单功能显示所有宠物信息,根据类别显示记录,根据名称查询记录,添加( 购入) 宠物,删除(卖出)宠物,交易记录,按日期查询交易记录。
系统流程图
文章图片
源代码
#include#include #include #include #include"list"using namespace std; class Data// 日期类 {public:void set_time( ); void show_time( ); private:bool is_time(int, int, int); int year; int month; int day; }; void Data::set_time( ){char c1,c2; cout<<"请输入日期(格式年-月-日)"< >year>>c1>>month>>c2>>day; if(c1!='-'||c2!='-')cout<<"格式不正确,请重新输入"< >Pet.Cnumber; cout<<"名称:"; cin>>Pet.Cname; cout<<"年龄:"; cin>>Pet.Cage; cout<<"重量:"; cin>>Pet.Cweight; cout<<"种类:"; cin>>Pet.Ctype; cout<<"性格:"; cin>>Pet.Cnature; cout<<"价格:"; cin>>Pet.Cprice; cout<<"主人:"; cin>>Pet.Cpeople; for( ; first != last ; ++first ){if((Pet.Cname==(*first).Cname)&&(Pet.Cprice==(*first).Cprice)&&(Pet.Ctype==(*first).Ctype))//假设宠物可以重名{symbol=1; // 如果存在此宠物 cout< >ch; }while(ch=='Y'||ch=='y'); }//查找宠物信息bool PetAnimals::Look(){string name,price,type; int symbol=0; int option; list ::iterator first,last; do{cout<<"\t【请输入你查找的方式】!"< >option; switch(option){case 1: cout<<"请输入名称:"; cin>>name; break; case 2: cout<<"请输入价格:"; cin>>price; break; case 3: cout<<"请输入种类:"; cin>>type; break; case 4:break; }first=PetList.begin(); last=PetList.end(); for(; first!=last; ++first){if((name==(*first).Cname)&&(option==1)){symbol=1; cout<<"★宠物名称为"+(*first).Cname+"宠物信息如下:"< >name; cout<<"请输入价格:"; cin>>price; cout<<"请输入种类:"; cin>>type; list ::iterator first,last; first=PetList.begin(); last=PetList.end(); for(; first!=last; ++first){if((name==(*first).Cname)&&(price==(*first).Cprice)&&(type==(*first).Ctype)){symbol=1; cout< >pet.Cage; cout<<"重量:"; cin>>pet.Cweight; cout<<"性格:"; cin>>pet.Cnature; cout<<"主人:"; cin>>pet.Cpeople; pet.Cname=name; pet.Cprice=price; pet.Ctype=type; for(; first!=last; ++first){if((name==(*first).Cname)&&(price==(*first).Cprice)&&(type==(*first).Ctype)){(*first)=pet; }}return true; }else{cout<<"★没有该宠物信息!"; return false; }}//显示所有宠物信息void PetAnimals::Show(){list ::iterator first,last,it; first=PetList.begin(); last=PetList.end(); for(; first!=last; ++first){cout<<"******************您的宠物信息**********************"< >name; cout<<"请输入价格:"; cin>>price; cout<<"请输入种类:"; cin>>type; list ::iterator first,last,it; first=PetList.begin(); last=PetList.end(); for(; first!=last; ++first){if((name==(*first).Cname)&&(price==(*first).Cprice)&&(type==(*first).Ctype)){symbol=1; cout<<"★找到该宠物信息!可删除!"< >FileName; if(FileName.find (".")>FileName.length()){FileName=FileName+".txt"; } //把String型的字符串转换成char*型的字符串strcpy(file,FileName.c_str()); ofstream fout(file); if(!fout){cout<<"★文件写入失败!请检查您的文件名!"< >FileName; if(FileName.find (".")>FileName.length()){FileName=FileName+".txt"; }strcpy(file,FileName.c_str()); ifstream fin(file); int index; if(!fin){cout<<"★文件写入失败!请检查您的文件名!"< >str; index=str.find(":"); //要":"后的内容 pet.Cnumber =str.substr(index+1); //要":"后的剩下字符串 fin>>str; index=str.find (":"); pet.Cname =str.substr(index+1); fin>>str; index=str.find (":"); pet.Cage =str.substr(index+1); fin>>str; index=str.find (":"); pet.Cweight =str.substr(index+1); fin>>str; index=str.find (":"); pet.Ctype =str.substr(index+1); fin>>str; index=str.find (":"); pet.Cnature=str.substr(index+1); fin>>str; index=str.find (":"); pet.Cprice=str.substr(index+1); fin>>str; index=str.find (":"); pet.Cpeople =str.substr(index+1); PetList.insert(PetList.end(),pet); }cout<<"\n"<<"★请保护好您的爱宠哦(^。^*)!★ "< >option; switch(option)//选择不同函数功能 {case 1: { pet.Insert(); break; }case 2: { pet.Look(); break; }case 3: { pet.Change(); break; }case 4: { pet.Show(); break; }case 5: { pet.Delete(); break; }case 6: { pet.Write(); break; }case 7: { pet.Read(); break; }case 8: { break ; }} } while(option != 8); return 0; }
【C++实现宠物商店信息管理系统】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- C语言实现火车票管理系统
- Python|Python PaddleNLP实现自动生成虎年藏头诗
- 栅格布局的三种主要实现方式原理分析
- SpringBoot实现前后端、json数据交互以及Controller接收参数的几种常用方式
- 超详细讲解Java秒杀项目登陆模块的实现
- vue实现导航收缩框
- c语言实现简易版三子棋(附完整代码)
- Unity实战之FlyPin(见缝插针)小游戏的实现
- MySQL 深潜 - MDL 锁的实现与获取机制
- C++|蓝桥杯之奇妙的数字