如何使用C++实现宠物商店信息管理系统
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关如何使用C++实现宠物商店信息管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下一、问题描述设计一个程序实现对小动物商店
千家信息网最后更新 2025年01月19日如何使用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<<"格式不正确,请重新输入"< PetList;//使用双向链表//添加宠物信息void PetAnimals::Insert(){ PetAnimals Pet; char ch; int symbol=0;//判断宠物信息是否存在 list ::iterator first,last; first=PetList.begin();//begin()指链表开始处 last=PetList.end();//end()指链表结尾处do{ 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<<"★文件写入失败!请检查您的文件名!"< ::iterator first,last; first=PetList.begin(); last=PetList.end(); for(;first!=last;++first) { fout< >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++实现宠物商店信息管理系统"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
宠物
信息
名称
文件
价格
种类
输入
主人
年龄
性格
重量
交易
日期
系统
管理
输出
商店
功能
数据
顾客
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ftp服务器域名
传统网络技术发展趋势
数据库应用技术第一章自测答案
尊赢足球软件开发
网络安全的建设需求
火车上的数据库
海南电商软件开发外包
九朵云云端服务器
网络安全应急预案工作包括
软件开发项目技术沟通
数据库事务的实现原理
魔兽服务器一个区能建多少角色
景区数据库规划书
消防主机和服务器连接图
cms32软件开发
产生数据库
彻底解决数据库sa账号被锁定
软件开发简历项目责任描述
如何进内网服务器
软件开发人员有什么岗位
大学生网络安全空间素养
尊赢足球软件开发
运城展厅互动软件开发
计算机等级考试网络技术题
软件开发加工缺陷是什么
渝中区网络安全审计系统咨询
计算机网络技术月工资最高是多少
对软件开发成果保密时间
剑侠世界选不了服务器
软件开发 英文翻译