返回列表 發帖

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

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

改寫現有購物系統, 使其搭配促銷方案.
譬如: 消費滿萬送千元折價券, 滿五千享9折優惠... 等等.
自由發揮!
  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.   cout<<"[優惠方案]滿五千享9折優惠,消費滿萬送千元折價。"<<endl;
  23.   cout<<"-------------------------------------------"<<endl;
  24.   
  25.   re:
  26.   cout<<"請輸入商品代碼: ";
  27.   cin>> p;
  28.   
  29.   if(p>=1 && p<=7)
  30.   {   
  31.      cout<<"數量: ";
  32.      cin>> q;
  33.      if(q>0)  //數量>0
  34.      {      
  35.         sum= sum+ price[p-1]*q;  //計算總金額
  36.         tmpQty[p-1] = q;   // 選擇的商品數量存起來
  37.         goto re;   
  38.      }else   //數量<0
  39.      {
  40.           cout<<"您輸入的數量有誤!!"<<endl;
  41.           goto re;
  42.      }
  43.   }else if(p==8)
  44.   {
  45.       goto checkout;
  46.   }else
  47.   {
  48.        cout<<"您輸入的代碼有錯!!"<<endl;
  49.        goto re;
  50.   }
  51.   
  52.   checkout:
  53.   cout<<endl;
  54.   cout<<"[購物清單]"<<endl;
  55.   cout<<"------------------------------"<<endl;
  56.   for(int i =0;i<7;i++)   //印出陣列裡的內容
  57.   {
  58.      if( tmpQty[i] !=0)   //剛才數量不為0 ,才印出來    !=  不等於  == 等於  
  59.      {
  60.          cout<<a[i]<<"\t\t"<<price[i]<<"元 * "<<tmpQty[i]<<"個"<<endl;
  61.      }     
  62.   }
  63.   
  64.   cout<<"-------------------------------"<<endl;
  65.   cout<<"總金額: "<<sum<<"元"<<endl;
  66.   
  67.   if(sum >= 10000)   // 判斷是否有金額折扣
  68.   {
  69.      sum = sum-1000; //滿萬送千
  70.      cout<<"回饋後總金額: "<<sum<<"元"<<endl;
  71.   }else if(sum<10000 && sum>=5000)  //滿5000打9折
  72.   {
  73.      sum = sum*0.9;
  74.      cout<<"回饋後總金額: "<<sum<<"元"<<endl;
  75.   }else
  76.   {
  77.      sum =sum;
  78.   }
  79.   
  80.   
  81.   cout<<"1:正確無誤 2:重新選購 "<<endl;
  82.   cin>>no;
  83.   if(no==1)
  84.   {
  85.       goto pay;  // 結帳區
  86.   }else
  87.   {
  88.        goto restart; //重新開始
  89.   }
  90.   
  91.   int payMoney;
  92.   pay:              //準備結帳
  93.       cout<<"請付帳: ";
  94.       cin>>payMoney;
  95.       if(payMoney <sum) //支付錢小於買的
  96.       {
  97.             cout<<"您付的錢不夠,還差"<<sum-payMoney<<"元!"<<endl;   
  98.             goto pay;  
  99.       }else
  100.       {
  101.            int tmp;
  102.            tmp=payMoney-sum;   // 差額存起來,存在tmp變數
  103.            cout<<"找您的錢為: "<<tmp<<"元"<<endl;
  104.             if(tmp>=500)
  105.             {       cout<<"五百元鈔票"<<tmp/500<<"張"<<endl;
  106.                     tmp=tmp%500;
  107.            }      
  108.            
  109.            if(tmp>=100)
  110.            {       cout<<"一百元鈔票"<<tmp/100<<"張"<<endl;
  111.                    tmp=tmp%100;     
  112.            }
  113.      
  114.            if(tmp>=50)
  115.            {       cout<<"你五十元"<<tmp/50<<"枚"<<endl;
  116.                    tmp=tmp%50;     
  117.            }
  118.           if(tmp>=10)
  119.           {       cout<<"你十元"<<tmp/10<<"枚"<<endl;
  120.                   tmp=tmp%10;     
  121.            }  
  122.            if(tmp>=1)
  123.            {       cout<<"你一元"<<tmp/1<<"枚"<<endl;
  124.                    tmp=tmp%1;     
  125.            }
  126.    
  127.       }
  128.   system("pause");
  129.   return 0;

  130. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表