int Pet::xianshi()
{
int menu;
cout<<“寵物店管理系統**”<<endl;
cout <<endl;
cout<< endl<<endl;
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;
cout<<endl<<“請選擇相應操作菜單項:”<<endl;
cin>>menu;
while(menu<1||menu>7)
{
cout<<“請選擇正確的菜單選項:”<<endl;
cin.clear(); /清除輸入/
cin>>menu;
}
return menu;
system(“cls”);
}
2)錄入函數 AllPrint():輸入ID到數量的寵物信息;
//成員函數的實現
void Pet::AddPet()//增加寵物輸入文本中
{
do{cout<<" *****************************增加新的寵物******************************* "<<endl;cout<<"輸入寵物編號ID:";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<<"性格:";cin>>character;fflush(stdin);cout<<"價格:";cin>>price;fflush(stdin);cout<<"數量:";cin>>count;cout<<"\t\tID\t"<<ID<<endl<<"\t\t寵物名\t"<<petname<<endl<<"\t\t體重\t"<<weight<<endl<<"\t\t年齡\t"<<age<<endl<<"\t\t類別\t"<<category<<endl<<"\t\t性格\t"<<character<<endl<<"\t\t寵物價格\t"<<price<<endl<<"\t\t寵物數量\t"<<count<<endl;fflush(stdin);}character else{cout<<"輸入的ID以存在,請重新輸入!!"<<endl;}}while(!(Inquire(ID)));
save();
cout<<endl<<"**********************信息已保存 !!!******************"<<endl;
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<<"輸入你想查找的寵物的編號或名稱: ";
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::left)<<setw(8)<<"ID"<<setw(8)<<"寵物名"<<setw(8)<<"體重"<<setw(8)<<"年齡"<<setw(8)<<"類別"<<setw(8)<<"性格"<<setw(8)<<"單價"<<setw(8)<<"數量"<<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 inData(“pet”,ios::in);
ofstream outData(“pet1”,ios::out);
if(!inData)
{
cout<<“對不起! 打不開此文件。”;
system(“pause”);
return;
}
string str,del;
cout<<"請輸入要刪除的寵物ID或名字:"<<endl;
cin>>str;
bool flag=true;
while(inData>>ID>>petname)
{getline(inData,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)<<"年齡"<<setw(8)<<"類別"<<setw(8)<<"性格"<<setw(8)<<"單價"<<setw(8)<<"數量"<<endl;cout<<setiosflags(ios::left)<<setw(8)<<ID<<petname<<del<<endl;flag=false;continue; }outData<<setiosflags(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<<"對不起打不開文件!"<<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(“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;/布爾型函數/
string str;
while(inData>>ID>>petname)/查找函數/
{
getline(inData,str);/賦予信息給str/
string newID;
if((alterID)||(alterpetname))
{
do{cout<<"您所要修改的寵物:"<<endl;cout<<setiosflags(ios::left)<<setw(8)<<"ID"<<setw(8)<<"寵物名"<<setw(8)<<"體重"<<setw(8)<<"年齡"<<setw(8)<<"類別"<<setw(8)<<"性格"<<setw(8)<<"單價"<<setw(8)<<"數量"<<endl;cout<<setiosflags(ios::left)<<setw(8)<<ID<<petname<<str<<endl;cout<<"****************************請根據一下提示修改信息*****************************";cout<<"輸入新的寵物ID:";cin>>newID;cout<<endl;if(Inquire(newID)) {cout<<"輸入新寵物名:";cin>>petname;fflush(stdin);cout<<"價格:";cin>>price;fflush(stdin);cout<<"體重:";cin>>weight;fflush(stdin);cout<<"年齡:";cin>>age;fflush(stdin);cout<<"性格:";cin>>character;fflush(stdin);cout<<"數量:";cin>>count;flag=false; }else{cout<<"你輸入的ID以存在,請重新輸入!!"<<endl;}}while(!Inquire(newID));ID=newID;save(); continue;}outData<<setiosflags(ios::left)<<setw(8)<<ID<<petname<<str<<endl;/*把信息讀取到Pet1*/}
outData.close();
inData.close();cout<<endl<<"**********************信息已保存 !!!******************"<<endl;
if(flag)
{cout<<"找不到您所要修改的寵物!";system("pause");
}
else
{ifstream inData("pet1",ios::in);ofstream outData("pet",ios::out);if(!inData){cout<<"對不起!找不到此文件!!!"<<endl;system("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<<"對不起!!!!打不開文件!!!!!!!"<<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)<<"寵物名"<<setw(8)<<"體重"<<setw(8)<<"年齡"<<setw(8)<<"類別"<<setw(8)<<"性格"<<setw(8)<<"單價"<<setw(8)<<"數量"<<endl;}cout<<all<<endl;flag=false;
}
if(flag)
{
cout <<endl <<"你的寵物庫中沒有寵物!!!!!"<<endl<<endl;
}else
{
cout <<endl <<"所有寵物已經全部顯示出來!!!!!"<<endl <<endl;
}system("pause");
system("cls");
}
7)保存函數 save() :保存寵物信息;
void Pet::save()
{
ofstream outData("pet",ios::app);
if(!outData)
{ cout<<"對不起! 打不開此文件。";system("pause");return ;}outData<<setiosflags(ios::left)<<setw(8)<<ID<<setw(8)<<petname<<setw(8)<<weight<<setw(8)<<age<<setw(8)<<category<<setw(8)<<character<<setw(8)<<price<<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;
string 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 a;
cout<<“寵物店賬單系統***”<<endl;
cout<<endl<<endl;
cout<<endl<<endl;
cout<<" ╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮ ╭╧╮ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ ★★★★★ 歡迎進入賬單管理系統 ★★★★★ │ “<<endl;
cout<<” │ ☆ (__) ☆ │ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ 1、添加信息 4、顯示所信息 │ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ 2、刪除信息 5、返回主菜單 │ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ │ “<<endl;
cout<<” │ 3、查詢信息 6、退出系統 │ “<<endl;
cout<<” ╰---------------------------------------------------------------╯ "<<endl;
cout<<“請選擇所要應用的編號:”;
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<<“請輸入購買寵物種類:”;
cin>>petname;
cout<<“請輸入購買數量:”;
cin>>count;
cout<<“請輸入寵物單價:”;
cin>>price;
cout<<"\t\t顧客姓名\t"<<name<<endl<<"\t\t寵物種類\t"<<petname<<endl<<"\t\t寵物單價\t"<<price<<endl<<"\t\t購買數量\t"<<count<<endl;
save();
cout<<endl<<"****信息已保存 !!!"<<endl;
system(“pause”);
system(“cls”);
}
3)刪除函數 delesale():刪除;
void SaleItem::delesale()
{
ofstream outData(“saleItem1.txt”,ios::out);
ifstream inData(“saleItem.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);
if(del==name)
{
cout<<“您所要刪除的賬單:”<<endl;
cout<<setiosflags(ios::left)<<setw(8)<<“客戶姓名”<<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=false;
continue;
}
outData<<setiosflags(ios::left)<<setw(8)<<name<<setw(8)<<petname<<setw(8)<<count<<setw(8)<<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<<"對不起打不開文件!"<<endl;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<<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)<<"寵物名"<<setw(8)<<"價格"<<setw(8)<<"數量"<<endl;cout<<setiosflags(ios::left)<<setw(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<<"對不起!!!!打不開文件!!!!!!!"<<endl;system("pause");return ;
}bool flag=true;string all;while(inData>>name>>petname>>count>>price){if(flag){cout<<"*******************************所有賬單信息如下:******************************";cout<<endl<<endl;cout<<setiosflags(ios::left)<<setw(8)<<"客戶"<<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=false;
}
if(flag)
{
cout <<endl <<"你的信息庫中沒有信息!!!!!"<<endl<<endl;
}else
{
cout <<endl <<"所有信息已經全部顯示出來!!!!!"<<endl <<endl;
}system("pause");
system("cls");
}
6)保存函數 save() :保存
void SaleItem::save()
{
ofstream outData(“saleItem.txt”,ios::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.close();
}
3.顧客的記錄查詢和修改
1)主函數 main():對顧客姓名,購買寵物種類,購買數量,購買寵物單價進行錄入保存,顧客記錄查詢和修改。
2)錄入函數 add():增加顧客;
void Customer::add()
{
do{cout<<" *****************************注冊新用戶******************************* "<<endl;cout<<"輸入新客戶的姓名:";cin>>name;cout<<endl;if(Inquire(name))//如果文件里沒有返回true {cout<<"輸入新客戶的聯系方式:";cin>>telephone;cout<<endl; break;}else{cout<<"姓名已被人注冊,請重新輸入!!"<<endl;}
}while(1);
save();
cout<<endl<<"**********************信息已保存 !!!******************"<<endl;
system("pause");
system("cls");
}
3)刪除函數 del():刪除顧客;
void Customer::del()//刪除
{
ofstream outData("customer1",ios::out);
ifstream 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<<"您所要刪除的客戶為:"<<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)<<setw(8)<<name<<telephone<<endl; }outData.close();inData.close();if(flag){cout<<"沒有您要刪除的客戶的信息!"<<endl;system("pause");}else{ofstream outData("customer",ios::out);ifstream inData("customer1",ios::in);if(!inData){cout<<"對不起打不開文件!"<<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("customer",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>>telephone)
{string newname;if(alter==name){ do{cout<<"您所要修改信息的用戶為:"<<endl;cout<<setiosflags(ios::left)<<setw(10)<<"客戶姓名"<<setw(10)<<"聯系電話"<<endl;cout<<setiosflags(ios::left)<<setw(8)<<name<<telephone<<endl;cout<<"****************************請根據一下提示修改信息*****************************";cout<<"請輸入新客戶姓名:";cin>>newname;fflush(stdin);cout<<endl;if(Inquire(newname)) {cout<<"輸入客戶的聯系方式:";cin>>telephone;fflush(stdin);cout<<endl;flag=false; break;cout<<endl<<"**********************信息已保存 !!!******************"<<endl;}else{cout<<"姓名已被人注冊!!"<<endl;} }while(1);name=newname;save();continue;}outData<<setiosflags(ios::left)<<setw(8)<<name<<telephone<<endl; /*把信息讀取到customer1*/
}if(flag)
{cout<<"找不到您所要修改信息的客戶!";system("pause");
}
else
{outData.close();inData.close();ifstream 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<<"此客戶的信息已修改!";
}
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)<<telephone<<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;
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<<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)<<"聯系電話"<<endl;cout<<setiosflags(ios::left)<<setw(8)<<name<<telephone<<endl;/*輸出所要查找的人的信息*/flag=false;continue;}
}
if(flag)
{
cout<<"沒找到客戶!!!";}
system("pause");
system("cls");
}
總結
以上是生活随笔為你收集整理的C++宠物商店管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。