返回列表 發帖

[隨堂測驗] 購物系統 (四)

新增 "1-正確無誤 2-重新選購" 的選單,
讓使用者在準備結帳時還能反悔, 譬如錢帶不夠.
確定結帳後, 銜接自動找零系統.



本帖隱藏的內容需要回復才可以瀏覽

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     system("cls");        
  8.     int sum=0;
  9.     int x,y,o,buy,corn;  
  10.     string s[]={"珍珠奶茶","茉莉綠茶","泡沫紅茶","菊花茶","多多綠茶","梅子可樂","檸檬愛玉"};
  11.     int m[]={50,35,20,30,35,25,45};
  12.     int z[]={0,0,0,0,0,0,0};
  13.     cout<<"☆★☆清薪飲料店☆★☆"<<endl<<endl;
  14.     cout<<"[商品價目表]"<<endl;
  15.     for(int i=0;i<7;i++)
  16.     {
  17.             cout<<"("<<i+1<<")"<<s[i]<<"\t"<<m[i]<<"元"<<endl;
  18.     }
  19.     cout<<"(8)結帳"<<endl<<endl;
  20.     while(true)
  21.     {      
  22.     cout<<"請輸入商品代碼: ";
  23.     cin>>x;
  24.     if(x==8)  
  25.       break;
  26.     cout<<"數量: ";
  27.     cin>>y;
  28.     z[x-1]+=y;
  29.     sum+=m[x-1]*y;                          
  30.     }cout<<endl;
  31.     cout<<"[購物清單]"<<endl;
  32.     cout<<"---------------------"<<endl;
  33.     for(int i=0;i<7;i++)
  34.     {
  35.             if(z[i]!=0)
  36.             cout<<s[i]<<"\t"<<z[i]<<"元 * "<<z[i]<<"個"<<endl;
  37.     }   
  38.     cout<<"---------------------";
  39.    
  40.     cout<<endl<<"共"<<sum<<"元!"<<endl<<endl;
  41.     cout<<"1=正確無誤  2=重新選購   ";
  42.     cin>>o;
  43.     if(o==1)
  44.     {
  45.       cout<<"請付帳:";
  46.       cin>>buy;
  47.       corn=buy-sum;
  48.       if(corn<0)
  49.       {
  50.        cout<<"錢不夠喔,還差"<<sum-buy<<"元"<<endl;         
  51.       }else if(corn==0)
  52.       {
  53.             cout<<"剛剛好,謝謝惠顧"<<endl;
  54.       }else
  55.       {
  56.          cout<<"找您"<<corn<<"元"<<endl;
  57.          if(corn>=500)
  58.          {
  59.              cout<<"五百元鈔票"<<corn/500<<"張"<<endl;
  60.              corn=corn%500;
  61.          }
  62.          if(corn>=100)
  63.          {
  64.          cout<<"一百元鈔票"<<corn/100<<"張"<<endl;
  65.          corn=corn%100;
  66.          }
  67.          if(corn>=10)
  68.          {
  69.          cout<<"五十元硬幣"<<corn/50<<"枚"<<endl;
  70.          corn=corn%50;
  71.          }
  72.           if(corn>=10)
  73.          {
  74.          cout<<"十元硬幣"<<corn/10<<"枚"<<endl;
  75.          corn=corn%10;
  76.          }
  77.          if(corn>=1)
  78.          {
  79.          cout<<"一元硬幣"<<corn/1<<"枚"<<endl;
  80.         
  81.          }
  82.       }
  83.             
  84.     }else
  85.     {
  86.        goto re;  
  87.     }                        
  88.     system("pause");
  89.     return 0;   
  90. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     int sum=0;
  8.     int code,qty,option,money,pay;
  9.     string name[]={"齊爾 爆焰龍捲","卡莉 聖域福音","悟空 合金進化","夜叉 戰地之王","瑟斐斯 煉獄修羅","柯里納卡 荒漠邪翅","馬洛斯 鋼鐵戰線"};
  10.     int price[]={15,20,24,18,30,12,60,2000};
  11.     int count[]={0,0,0,0,0,0,0};   
  12.     cout<<"☆★☆傳說對決造型專賣店☆★☆"<<endl<<endl;
  13.     cout<<"[商品價目表]"<<endl;
  14.     for(int i=0;i<7;i++)
  15.     {
  16.     cout<<"("<<i+1<<")"<<name[i]<<"\t"<<price[i]<<"元"<<endl;
  17.     }
  18.     cout<<"(8)結帳"<<endl<<endl;
  19.     while(true)
  20.     {
  21.         cout<<"請輸入商品代碼:";
  22.         cin>>code;
  23.         if(code<1 || code>8)
  24.         {
  25.             cout<<"輸入錯誤!"<<endl;
  26.             continue;
  27.         }
  28.         if(code==8)
  29.         break;
  30.         cout<<"數量:";
  31.         cin>>qty;
  32.         if(qty<1 || qty>999)
  33.         {
  34.             cout<<"輸入錯誤!"<<endl;
  35.             continue;
  36.         }
  37.         count[code-1]+=qty;
  38.         sum+=price[code-1]*qty;               
  39.     }
  40.     cout<<"[購物清單]"<<endl;
  41.     cout<<"------------------------"<<endl;
  42.     for(int j=0;j<7;j++)
  43.     {
  44.         if(count[j]!=0)
  45.         {
  46.         cout<<name[j]<<"\t"<<price[j]<<"元 *"<<count[j]<<"個"<<endl;
  47.         }
  48.     }
  49.     cout<<"------------------------"<<endl;
  50.     cout<<endl<<"總共"<<sum<<"元"<<endl<<endl;
  51.     re2:
  52.     cout<<"1-正確無誤 2-重新選購";
  53.     cin>>option;
  54.     cout<<endl;
  55.     if(option==1)
  56.     {
  57.         re3:         
  58.         cout<<"請付帳";
  59.         cin>>pay;
  60.         money=pay-sum;
  61.         if(money>0)
  62.         {
  63.             cout<<"找您"<<money<<"元!"<<endl;
  64.             if(money>=500)
  65.             {
  66.             cout<<"五百元鈔票"<<money/500<<"張"<<endl;
  67.             money=money%500;
  68.             }
  69.             if(money>=100)
  70.             {
  71.             cout<<"一百元鈔票"<<money/100<<"張"<<endl;
  72.             money=money%100;
  73.             }
  74.             if(money>=50)
  75.             {
  76.             cout<<"五十元硬幣"<<money/50<<"枚"<<endl;
  77.             money=money%50;
  78.             }
  79.             if(money>=10)
  80.             {
  81.             cout<<"十元硬幣"<<money/10<<"枚"<<endl;
  82.             money=money%10;
  83.             }
  84.             if(money>=1)
  85.             {
  86.             cout<<"一元硬幣"<<money/1<<"枚"<<endl;
  87.             }
  88.         }     
  89.         else if(money==0)
  90.         {
  91.             cout<<"銘謝惠顧!"<<endl;
  92.         }else
  93.         {
  94.             cout<<"您付的錢不夠,還差"<<money<<"元"<<endl;
  95.             goto re3;
  96.         }            
  97.     }else if(option==2)
  98.     {
  99.         goto re;
  100.     }else
  101.     {
  102.         cout<<"您輸入的代碼有誤!"<<endl;
  103.         goto re2;
  104.     }
  105.     system("pause");
  106.     return 0;
  107. }

  108.    
複製代碼

TOP

本帖最後由 湯郡一 於 2019-3-9 11:47 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.         int z,f,sum=0;
  8.         int option,pay,money;
  9.     string x[]={"菠蘿麵包      ","小餐\包(六入)  ","巧克力熱壓吐司","紅豆麵包     ","桂圓麵包     ","培根玉米三明治","北歐圓法(四入)  "};
  10.     int y[]={35,50,45,30,55,65,45};
  11.     int count[]={0,0,0,0,0,0,0};
  12.     cout<<"左營可口麵包店"<<endl<<endl;
  13.     cout<<"{麵包價目表]"<<endl;
  14.    
  15.      for(int i=0;i<7;i++)
  16.     {
  17.         cout<<"("<<i+1<<")"<<x[i]<<"\t"<<y[i]<<"元"<<endl;
  18.     }
  19.     cout<<"(8)結帳"<<endl<<endl;
  20.     while(true)
  21.     {
  22.         cout<<"請輸入商品代碼: ";        
  23.         cin>>z;
  24.         if(z<1 || z>8)
  25.         {
  26.                cout<<"輸入錯誤"<<endl;
  27.                continue;
  28.         }
  29.         if(z==8)
  30.           break;
  31.         cout<<"數量: ";
  32.         cin>>f;
  33.         if(f<1 || f>999)
  34.         {
  35.                cout<<"超過"<<endl;
  36.                continue;
  37.         }
  38.         count[z-1]+=f;
  39.         sum+=y[z-1]*f;                    
  40.     }
  41.     cout<<"[購物清單]"<<endl;
  42.     cout<<"---------------------"<<endl;
  43.     for(int i=0;i<7;i++)
  44.     {
  45.             if (count[i]!=0 )
  46.                 cout<<x[i]<<"\t"<<y[i]<<"*"<<count[i]<<endl;   
  47.     }
  48.     cout<<"---------------------"<<endl;
  49.     cout<<endl<<"共"<<sum<<"元!"<<endl;
  50.     re2:
  51.     cout<<"1=正確無誤  2=重新選購";
  52.     cin>>option;
  53.     if(option==1)
  54.     {
  55.       re3:
  56.       cout<<"請付帳:";
  57.       cin>>pay;
  58.       money=pay-sum;
  59.       if(money<0)
  60.       {
  61.          cout<<"錢不夠,還差"<<-money<<"元"<<endl;        
  62.          goto re3;        
  63.       }else if(money==0)
  64.       {
  65.         cout<<"銘謝惠顧!!"<<endl;   
  66.       }else
  67.       {
  68.            cout<<"找您"<<money<<"元"<<endl;
  69.            if(money>=500)
  70.            {
  71.                 cout<<"500元"<<money/500<<"張"<<endl;
  72.                 money%=500;
  73.            }
  74.             if(money>=100)
  75.            {
  76.                 cout<<"100元"<<money/100<<"張"<<endl;
  77.                 money%=100;
  78.            }
  79.            if(money>=50)
  80.            {
  81.                 cout<<"50元"<<money/50<<"個"<<endl;
  82.                 money%=50;
  83.            }
  84.            if(money>=10)
  85.            {
  86.                 cout<<"10元"<<money/10<<"個"<<endl;
  87.                 money%=10;
  88.            }
  89.            if(money>=5)
  90.            {
  91.                 cout<<"5元"<<money/5<<"個"<<endl;
  92.                 money%=5;
  93.            }
  94.            if(money>=1)
  95.            {
  96.                 cout<<"1元"<<money/1<<"個"<<endl;
  97.                 money%=1;
  98.            }
  99.            
  100.       }  
  101.     }else if(option==2)
  102.     {
  103.           goto re;
  104.     }else
  105.     {
  106.          cout<<"輸入錯誤"<<endl;
  107.          goto re2;
  108.     }
  109.    
  110.     system("pause");
  111.     return 0;            
  112. }
複製代碼

TOP

返回列表