1. 程式人生 > >餐廳管理系統(C++實踐)

餐廳管理系統(C++實踐)

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;
}