Board logo

標題: [作業] 購物系統 (四) [打印本頁]

作者: 陳品肇    時間: 2018-10-27 17:15     標題: [作業] 購物系統 (四)

本帖最後由 陳品肇 於 2018-11-3 16:43 編輯

新增 "1-正確無誤 2-重新選購" 的選單,
讓使用者在準備結帳時還能反悔, 譬如錢帶不夠.
確定結帳後, 銜接自動找零系統.
[attach]5125[/attach]
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6. restart:
  7.   system("cls");  //清空畫面
  8.   cout<<"☆★☆智能玩具店☆★☆"<<endl<<endl;
  9.   cout<<"[商品價目表]"<<endl;
  10.   
  11.   string a[]={"遙控汽車","飛機模型","足球    ","拼圖    ","玩具槍  ","可愛玩偶","籃球    "};
  12.   int price[7]={450,550,325,200,660,
  13.                150,380 };
  14.                
  15.   int tmpQty[]={0,0,0,0,0,0,0};  //創一個數量暫存的陣列

  16.   int p,q,sum=0,no;    //p商品代碼   q商品數量  no 結帳確認
  17.   for(int i=0;i<7;i++)
  18.   {
  19.       cout<<"("<<i+1<<")"<<a[i]<<"\t"<<price[i]<<"元"<<endl;
  20.   }  
  21.   cout<<"(8)結帳"<<endl<<endl;
  22.   
  23.   re:
  24.   cout<<"請輸入商品代碼: ";
  25.   cin>> p;
  26.   
  27.   if(p>=1 && p<=7)
  28.   {   
  29.      cout<<"數量: ";
  30.      cin>> q;
  31.      if(q>0)  //數量>0
  32.      {      
  33.         sum= sum+ price[p-1]*q;  //計算總金額
  34.         tmpQty[p-1] = q;   // 選擇的商品數量存起來
  35.         goto re;   
  36.      }else   //數量<0
  37.      {
  38.           cout<<"您輸入的數量有誤!!"<<endl;
  39.           goto re;
  40.      }
  41.   }else if(p==8)
  42.   {
  43.       goto checkout;
  44.   }else
  45.   {
  46.        cout<<"您輸入的代碼有錯!!"<<endl;
  47.        goto re;
  48.   }
  49.   
  50.   checkout:
  51.   cout<<endl;
  52.   cout<<"[購物清單]"<<endl;
  53.   cout<<"------------------------------"<<endl;
  54.   for(int i =0;i<7;i++)   //印出陣列裡的內容
  55.   {
  56.      if( tmpQty[i] !=0)   //剛才數量不為0 ,才印出來    !=  不等於  == 等於  
  57.      {
  58.          cout<<a[i]<<"\t\t"<<price[i]<<"元 * "<<tmpQty[i]<<"個"<<endl;
  59.      }     
  60.   }
  61.   
  62.   cout<<"-------------------------------"<<endl;
  63.   cout<<"總金額: "<<sum<<"元"<<endl;
  64.   
  65.   cout<<"1:正確無誤 2:重新選購 "<<endl;
  66.   cin>>no;
  67.   if(no==1)
  68.   {
  69.       goto pay;  // 結帳區
  70.   }else
  71.   {
  72.        goto restart; //重新開始
  73.   }
  74.   
  75.   int payMoney;
  76.   pay:              //準備結帳
  77.       cout<<"請付帳: ";
  78.       cin>>payMoney;
  79.       if(payMoney <sum) //支付錢小於買的
  80.       {
  81.             cout<<"您付的錢不夠,還差"<<sum-payMoney<<"元!"<<endl;   
  82.             goto pay;  
  83.       }else
  84.       {
  85.            int tmp;
  86.            tmp=payMoney-sum;   // 差額存起來,存在tmp變數
  87.            cout<<"找您的錢為: "<<tmp<<"元"<<endl;
  88.             if(tmp>=500)
  89.             {       cout<<"五百元鈔票"<<tmp/500<<"張"<<endl;
  90.                     tmp=tmp%500;
  91.            }      
  92.            
  93.            if(tmp>=100)
  94.            {       cout<<"一百元鈔票"<<tmp/100<<"張"<<endl;
  95.                    tmp=tmp%100;     
  96.            }
  97.      
  98.            if(tmp>=50)
  99.            {       cout<<"你五十元"<<tmp/50<<"枚"<<endl;
  100.                    tmp=tmp%50;     
  101.            }
  102.           if(tmp>=10)
  103.           {       cout<<"你十元"<<tmp/10<<"枚"<<endl;
  104.                   tmp=tmp%10;     
  105.            }  
  106.            if(tmp>=1)
  107.            {       cout<<"你一元"<<tmp/1<<"枚"<<endl;
  108.                    tmp=tmp%1;     
  109.            }
  110.    
  111.       }
  112.   system("pause");
  113.   return 0;

  114. }
複製代碼

作者: 陳柏霖    時間: 2018-11-2 18:18

此帖僅作者可見
作者: 譚詩澐    時間: 2018-11-3 16:19

此帖僅作者可見
作者: 蔡季庭    時間: 2018-11-3 16:29

此帖僅作者可見
作者: 戴安利    時間: 2018-11-3 17:03

此帖僅作者可見
作者: 戴偉宸    時間: 2018-11-4 20:46

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2