本帖最後由 鄭繼威 於 2023-5-19 20:05 編輯
新增 "1-正確無誤 2-重新選購 3-繼續選購" 的選單,
讓使用者在準備結帳時還能反悔,譬如錢帶不夠等情況。
確定結帳後,銜接自動找零系統。
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- int main()
- {
- re:
- system("cls");
- int p,q,sum=0;
-
- string name[]={"遙控汽車","飛機模型","足球 ","拼圖 ","玩具槍 ","可愛玩偶","籃球 "};
- int price[]={450,550,325,200,660,150,380};
- int count[]={0,0,0,0,0,0,0}; //計算東西買了幾個
-
- cout<<"☆★☆智能玩具店☆★☆"<<endl<<endl;
- cout<<"[商品價目表]"<<endl;
- for(int i=0; i<7; i++)
- cout<<"("<<i+1<<")"<<name[i]<<"\t"<<price[i]<<"元"<<endl;
- cout<<"(8)結帳"<<endl<<endl;
- re2:
- cout<<"請輸入商品代碼: ";
- cin>>p;
- if(p==8)
- {
- goto checkout;
- }else if(p>=1 && p<=7)
- {
- cout<<"數量: ";
- cin>>q;
- sum+=price[p-1]*q; //計算價錢
-
- //把東西放入購物車
- count[p-1]=count[p-1]+q;
-
- goto re2;
- }else
- {
- goto re;
- }
- checkout:
- cout<<"[購物清單]"<<endl;
- cout<<"-----------------------------"<<endl;
- for(int i=0;i<=6;i++){
- if(count[i]==0){
- continue;
- }
- cout<<name[i]<<"\t"<<price[i]<<"元"<<"*"<<count[i]<<"個"<<endl;
- }
- cout<<"-----------------------------"<<endl;
- cout<<endl<<"總共"<<sum<<"元!"<<endl;
-
- cout<<"1.確定結帳\t2.重新選購(清空購物車)\t3.繼續選購" <<endl;
- int option;
- cin>>option;
- if(option==1){
- //確定結帳
- //執行智慧找零系統
- goto smart;
- }
- else if(option==2){
- //重新選購(清空購物車)
- goto re;
- }
- else if(option==3){
- //繼續選購
- goto re2;
- }
- else{
- //輸入錯誤
- cout<<"輸入錯誤"<<endl;
- goto checkout;
- }
- smart:
- // cout<<"請輸入商品價格: ";
- // cin>>price;
- //sum商品總價
- cout<<"請付錢: ";
- int pay;
- cin>>pay;
- if(pay<0)
- goto smart;
- int money=pay-sum;
- if(money==0)
- {
- cout<<endl<<"剛剛好!銘謝惠顧!"<<endl;
- }else if(money<0)
- {
- cout<<endl<<"錢不夠喔!還差"<<-money<<"元!"<<endl;
- goto smart;
- }else if(money>=1000)
- {
- cout<<endl<<"錢太多?全部送我吧!"<<endl;
- }else
- {
- cout<<endl<<"需找客人"<<money<<"元"<<endl<<endl;
- if(money>=500)
- {
- cout<<"五百元鈔票"<<money/500<<"張"<<endl;
- money%=500; //money=money%500;
- }
- if(money>=100)
- {
- cout<<"一百元鈔票"<<money/100<<"張"<<endl;
- money%=100;
- }
- if(money>=50)
- {
- cout<<"五十元硬幣"<<money/50<<"枚"<<endl;
- money%=50;
- }
- if(money>=10)
- {
- cout<<"十元硬幣"<<money/10<<"枚"<<endl;
- money%=10;
- }
- if(money>=5)
- {
- cout<<"五元硬幣"<<money/5<<"枚"<<endl;
- money%=5;
- }
- if(money>0)
- cout<<"一元硬幣"<<money<<"枚"<<endl;
- }
- system("pause");
- goto re;
- return 0;
- }
複製代碼 |