餐廳管理系統(C++實踐)
阿新 • • 發佈:2019-02-10
int Changemenu::Addmenu()
{
while(1){
menudis();
printf("請輸入要新增的選單(按‘0’退出):");
cin>>CD;
fstream file12;
if(CD[0]=='0'&&CD[1]=='\0') return 1;
else if(!strcmp(CD,"1")) file12.open("選單\\01.頭盤 Appetizers.txt",ios::out|ios::app); //建立檔案
else if(!strcmp(CD,"2")) file12.open("選單\\02 .湯 Soup.txt",ios::out|ios::app);
else if(!strcmp(CD,"3")) file12.open("選單\\03.色拉 Salad.txt",ios::out|ios::app);
else if(!strcmp(CD,"4")) file12.open("選單\\04.主菜 Main Course.txt",ios::out|ios::app);
else if(!strcmp(CD,"5")) file12.open("選單\\05.主食 Main Food.txt",ios::out|ios::app);
else if(!strcmp(CD,"6")) file12.open("選單 \\06.甜品 Dessert.txt",ios::out|ios::app);
else if(!strcmp(CD,"7")) file12.open("選單\\07.比薩 Pizza.txt",ios::out|ios::app);
else if(!strcmp(CD,"8")) file12.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::out|ios::app);
else if(!strcmp(CD,"9")) file12.open("選單\\09.主廚推薦套餐.txt",ios::out|ios::app);
else if(!strcmp(CD,"10")) file12.open("選單 \\10.小吃 snack.txt",ios::out|ios::app);
else if(!strcmp(CD,"11")) file12.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::out|ios::app);
else if(!strcmp(CD,"12")) file12.open("選單\\12.酒單 The hourglass wine menu.txt",ios::out|ios::app);
else if(!strcmp(CD,"13")) file12.open("選單\\13.無酒精飲料 Mock tails.txt",ios::out|ios::app);
else if(!strcmp(CD,"14")) file12.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::out|ios::app);
else{
printf("\n未找到您訂的座位號!!!\n");
continue;
}
system("CLS");
printf("---------------------------------- 新增菜單系統 --------------------------------\n");
printf("請輸入要新增的選單(最好開啟檔案檢視編號後打入)\n");
while(1){
printf("編號(四位數):");
cin>>num;
if(num[0]=='0'&&num[1]=='\0') return 1;
if(num[4]!='\0'){
printf("輸入格式有誤\n\n");
continue;
}
break;
}
printf("請輸入名稱與價格,請對齊後輸入(用‘/’註明份量)\n");
printf("名稱 價格\n");
getchar();
gets(nepi);
printf("是否要確定(y/n):");
cin>>YN;
if(YN[0]=='y'&&YN[1]=='\0'||YN[0]=='Y'&&YN[1]=='\0'){
file12<<endl<<endl<<num<<endl<<nepi;
file12.close();
printf("\n\n新增");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf("成功\n");
Sleep(550);
printf("按回車返回");
getchar();
getchar();
}
else continue;
}
return 0;
}
int Changemenu::Delmenu()
{
while(1){
menudis();
printf("請輸入要刪除的選單(按‘0’退出):");
cin>>CD;
fstream file13;
if(CD[0]=='0'&&CD[1]=='\0') return 1;
else if(!strcmp(CD,"1")) file13.open("選單\\01.頭盤 Appetizers.txt",ios::in); //建立檔案
else if(!strcmp(CD,"2")) file13.open("選單\\02.湯 Soup.txt",ios::in);
else if(!strcmp(CD,"3")) file13.open("選單\\03.色拉 Salad.txt",ios::in);
else if(!strcmp(CD,"4")) file13.open("選單\\04.主菜 Main Course.txt",ios::in);
else if(!strcmp(CD,"5")) file13.open("選單\\05.主食 Main Food.txt",ios::in);
else if(!strcmp(CD,"6")) file13.open("選單\\06.甜品 Dessert.txt",ios::in);
else if(!strcmp(CD,"7")) file13.open("選單\\07.比薩 Pizza.txt",ios::in);
else if(!strcmp(CD,"8")) file13.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::in);
else if(!strcmp(CD,"9")) file13.open("選單\\09.主廚推薦套餐.txt",ios::in);
else if(!strcmp(CD,"10")) file13.open("選單\\10.小吃 snack.txt",ios::in);
else if(!strcmp(CD,"11")) file13.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::in);
else if(!strcmp(CD,"12")) file13.open("選單\\12.酒單 The hourglass wine menu.txt",ios::in);
else if(!strcmp(CD,"13")) file13.open("選單\\13.無酒精飲料 Mock tails.txt",ios::in);
else if(!strcmp(CD,"14")) file13.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::in);
else{
printf("\n未找到您訂的座位號!!!\n");
continue;
}
for(i=0;!file13.eof();i++){
details[i]=file13.get();
}
details[i]='\0';
file13.close();
system("CLS");
printf("---------------------------------- 刪減菜單系統 --------------------------------\n");
cout<<details;
cout<<"\n================================================================================\n";
printf("請輸入要刪減的選單\n");
while(1){
printf("編號(四位數):");
cin>>num;
if(num[0]=='0'&&num[1]=='\0') return 1;
if(num[4]!='\0'){
printf("輸入格式有誤\n\n");
continue;
}
p=strstr(details,num); //使用strstr函式來尋找
if(p==NULL){ //若空指標,則為沒找到
printf("沒有找到此編號\n");
continue;
}
break;
}
for(l=details,i=0;p-l!=0;l++,i++){
D1[i]=*l;
}
D1[i]='\0';
///////////////////////////////////////////////////////////////////////////////
/*跳過要刪除的選單*/
if(num[3]=='9'){
num[3]='0';
num[2]++;
}
else{
num[3]++;
}
////////////////////////////////////////////////////////////////////////////////
p=strstr(details,num);
if(p==NULL){
D2[0]='\0';
}
else{
for(i=0;*p!='\0';p++,i++){
D2[i]=*p;
}
D2[i-1]='\0';
}
flag=0;
for(i=0;D2[i]!='\0';i++){
if(flag==0){
i+=3;
if(D2[i]=='0'){
D2[i-1]--;
D2[i]='9';
}
else{
D2[i]--;
}
flag=1;
continue;
}
if(D2[i]=='\n'&&D2[i+1]=='\n'&&D2[i+2]>='0'&&D2[i+2]<='9'){
i+=5;
if(D2[i]=='0'){
D2[i-1]--;
D2[i]='9';
}
else{
D2[i]--;
}
}
}
strcat(D1,D2); //D1為新的選單
////////////////////////////////////////////////////////////////////////////////
for(i=0;D1[i]!='\0';i++);
i--;
for(j=i;D1[j]=='\n';j--){
D1[j]='\0';
}
printf("是否要確定(y/n):");
cin>>YN;
if(YN[0]=='y'&&YN[1]=='\0'||YN[0]=='Y'&&YN[1]=='\0'){
fstream file14;
if(!strcmp(CD,"1")) file14.open("選單\\01.頭盤 Appetizers.txt",ios::out); //建立檔案
else if(!strcmp(CD,"2")) file14.open("選單\\02.湯 Soup.txt",ios::out);
else if(!strcmp(CD,"3")) file14.open("選單\\03.色拉 Salad.txt",ios::out);
else if(!strcmp(CD,"4")) file14.open("選單\\04.主菜 Main Course.txt",ios::out);
else if(!strcmp(CD,"5")) file14.open("選單\\05.主食 Main Food.txt",ios::out);
else if(!strcmp(CD,"6")) file14.open("選單\\06.甜品 Dessert.txt",ios::out);
else if(!strcmp(CD,"7")) file14.open("選單\\07.比薩 Pizza.txt",ios::out);
else if(!strcmp(CD,"8")) file14.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::out);
else if(!strcmp(CD,"9")) file14.open("選單\\09.主廚推薦套餐.txt",ios::out);
else if(!strcmp(CD,"10")) file14.open("選單\\10.小吃 snack.txt",ios::out);
else if(!strcmp(CD,"11")) file14.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::out);
else if(!strcmp(CD,"12")) file14.open("選單\\12.酒單 The hourglass wine menu.txt",ios::out);
else if(!strcmp(CD,"13")) file14.open("選單\\13.無酒精飲料 Mock tails.txt",ios::out);
else if(!strcmp(CD,"14")) file14.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::out);
file14<<D1;
file14.close();
printf("\n\n刪減");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf("成功\n");
Sleep(550);
printf("按回車返回");
getchar();
getchar();
}
else continue;
}
return 0;
}
{
while(1){
menudis();
printf("請輸入要新增的選單(按‘0’退出):");
cin>>CD;
fstream file12;
if(CD[0]=='0'&&CD[1]=='\0') return 1;
else if(!strcmp(CD,"1")) file12.open("選單\\01.頭盤 Appetizers.txt",ios::out|ios::app); //建立檔案
else if(!strcmp(CD,"2")) file12.open("選單\\02
else if(!strcmp(CD,"3")) file12.open("選單\\03.色拉 Salad.txt",ios::out|ios::app);
else if(!strcmp(CD,"4")) file12.open("選單\\04.主菜 Main Course.txt",ios::out|ios::app);
else if(!strcmp(CD,"5")) file12.open("選單\\05.主食 Main Food.txt",ios::out|ios::app);
else if(!strcmp(CD,"6")) file12.open("選單
else if(!strcmp(CD,"7")) file12.open("選單\\07.比薩 Pizza.txt",ios::out|ios::app);
else if(!strcmp(CD,"8")) file12.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::out|ios::app);
else if(!strcmp(CD,"9")) file12.open("選單\\09.主廚推薦套餐.txt",ios::out|ios::app);
else if(!strcmp(CD,"10")) file12.open("選單
else if(!strcmp(CD,"11")) file12.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::out|ios::app);
else if(!strcmp(CD,"12")) file12.open("選單\\12.酒單 The hourglass wine menu.txt",ios::out|ios::app);
else if(!strcmp(CD,"13")) file12.open("選單\\13.無酒精飲料 Mock tails.txt",ios::out|ios::app);
else if(!strcmp(CD,"14")) file12.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::out|ios::app);
else{
printf("\n未找到您訂的座位號!!!\n");
continue;
}
system("CLS");
printf("---------------------------------- 新增菜單系統 --------------------------------\n");
printf("請輸入要新增的選單(最好開啟檔案檢視編號後打入)\n");
while(1){
printf("編號(四位數):");
cin>>num;
if(num[0]=='0'&&num[1]=='\0') return 1;
if(num[4]!='\0'){
printf("輸入格式有誤\n\n");
continue;
}
break;
}
printf("請輸入名稱與價格,請對齊後輸入(用‘/’註明份量)\n");
printf("名稱 價格\n");
getchar();
gets(nepi);
printf("是否要確定(y/n):");
cin>>YN;
if(YN[0]=='y'&&YN[1]=='\0'||YN[0]=='Y'&&YN[1]=='\0'){
file12<<endl<<endl<<num<<endl<<nepi;
file12.close();
printf("\n\n新增");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf("成功\n");
Sleep(550);
printf("按回車返回");
getchar();
getchar();
}
else continue;
}
return 0;
}
int Changemenu::Delmenu()
{
while(1){
menudis();
printf("請輸入要刪除的選單(按‘0’退出):");
cin>>CD;
fstream file13;
if(CD[0]=='0'&&CD[1]=='\0') return 1;
else if(!strcmp(CD,"1")) file13.open("選單\\01.頭盤 Appetizers.txt",ios::in); //建立檔案
else if(!strcmp(CD,"2")) file13.open("選單\\02.湯 Soup.txt",ios::in);
else if(!strcmp(CD,"3")) file13.open("選單\\03.色拉 Salad.txt",ios::in);
else if(!strcmp(CD,"4")) file13.open("選單\\04.主菜 Main Course.txt",ios::in);
else if(!strcmp(CD,"5")) file13.open("選單\\05.主食 Main Food.txt",ios::in);
else if(!strcmp(CD,"6")) file13.open("選單\\06.甜品 Dessert.txt",ios::in);
else if(!strcmp(CD,"7")) file13.open("選單\\07.比薩 Pizza.txt",ios::in);
else if(!strcmp(CD,"8")) file13.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::in);
else if(!strcmp(CD,"9")) file13.open("選單\\09.主廚推薦套餐.txt",ios::in);
else if(!strcmp(CD,"10")) file13.open("選單\\10.小吃 snack.txt",ios::in);
else if(!strcmp(CD,"11")) file13.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::in);
else if(!strcmp(CD,"12")) file13.open("選單\\12.酒單 The hourglass wine menu.txt",ios::in);
else if(!strcmp(CD,"13")) file13.open("選單\\13.無酒精飲料 Mock tails.txt",ios::in);
else if(!strcmp(CD,"14")) file13.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::in);
else{
printf("\n未找到您訂的座位號!!!\n");
continue;
}
for(i=0;!file13.eof();i++){
details[i]=file13.get();
}
details[i]='\0';
file13.close();
system("CLS");
printf("---------------------------------- 刪減菜單系統 --------------------------------\n");
cout<<details;
cout<<"\n================================================================================\n";
printf("請輸入要刪減的選單\n");
while(1){
printf("編號(四位數):");
cin>>num;
if(num[0]=='0'&&num[1]=='\0') return 1;
if(num[4]!='\0'){
printf("輸入格式有誤\n\n");
continue;
}
p=strstr(details,num); //使用strstr函式來尋找
if(p==NULL){ //若空指標,則為沒找到
printf("沒有找到此編號\n");
continue;
}
break;
}
for(l=details,i=0;p-l!=0;l++,i++){
D1[i]=*l;
}
D1[i]='\0';
///////////////////////////////////////////////////////////////////////////////
/*跳過要刪除的選單*/
if(num[3]=='9'){
num[3]='0';
num[2]++;
}
else{
num[3]++;
}
////////////////////////////////////////////////////////////////////////////////
p=strstr(details,num);
if(p==NULL){
D2[0]='\0';
}
else{
for(i=0;*p!='\0';p++,i++){
D2[i]=*p;
}
D2[i-1]='\0';
}
flag=0;
for(i=0;D2[i]!='\0';i++){
if(flag==0){
i+=3;
if(D2[i]=='0'){
D2[i-1]--;
D2[i]='9';
}
else{
D2[i]--;
}
flag=1;
continue;
}
if(D2[i]=='\n'&&D2[i+1]=='\n'&&D2[i+2]>='0'&&D2[i+2]<='9'){
i+=5;
if(D2[i]=='0'){
D2[i-1]--;
D2[i]='9';
}
else{
D2[i]--;
}
}
}
strcat(D1,D2); //D1為新的選單
////////////////////////////////////////////////////////////////////////////////
for(i=0;D1[i]!='\0';i++);
i--;
for(j=i;D1[j]=='\n';j--){
D1[j]='\0';
}
printf("是否要確定(y/n):");
cin>>YN;
if(YN[0]=='y'&&YN[1]=='\0'||YN[0]=='Y'&&YN[1]=='\0'){
fstream file14;
if(!strcmp(CD,"1")) file14.open("選單\\01.頭盤 Appetizers.txt",ios::out); //建立檔案
else if(!strcmp(CD,"2")) file14.open("選單\\02.湯 Soup.txt",ios::out);
else if(!strcmp(CD,"3")) file14.open("選單\\03.色拉 Salad.txt",ios::out);
else if(!strcmp(CD,"4")) file14.open("選單\\04.主菜 Main Course.txt",ios::out);
else if(!strcmp(CD,"5")) file14.open("選單\\05.主食 Main Food.txt",ios::out);
else if(!strcmp(CD,"6")) file14.open("選單\\06.甜品 Dessert.txt",ios::out);
else if(!strcmp(CD,"7")) file14.open("選單\\07.比薩 Pizza.txt",ios::out);
else if(!strcmp(CD,"8")) file14.open("選單\\08.鐵板燒 Teppanyaki.txt",ios::out);
else if(!strcmp(CD,"9")) file14.open("選單\\09.主廚推薦套餐.txt",ios::out);
else if(!strcmp(CD,"10")) file14.open("選單\\10.小吃 snack.txt",ios::out);
else if(!strcmp(CD,"11")) file14.open("選單\\11.義大利花式咖啡 Italian flair hot coffee.txt",ios::out);
else if(!strcmp(CD,"12")) file14.open("選單\\12.酒單 The hourglass wine menu.txt",ios::out);
else if(!strcmp(CD,"13")) file14.open("選單\\13.無酒精飲料 Mock tails.txt",ios::out);
else if(!strcmp(CD,"14")) file14.open("選單\\14.英式下午茶 English afternoon tea.txt",ios::out);
file14<<D1;
file14.close();
printf("\n\n刪減");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf(".");
Sleep(550);
printf("成功\n");
Sleep(550);
printf("按回車返回");
getchar();
getchar();
}
else continue;
}
return 0;
}