本帖最後由 李泳霖 於 2023-10-28 14:51 編輯
新增 "1-正確無誤 2-重新選購" 的選單,
讓使用者在準備結帳時還能反悔,譬如錢帶不夠。
確定結帳後,銜接自動找零系統。
p.s.參考
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- int main()
- {
- re:
- system("cls");
- int p,q,sum=0,o,pay;
- string name[]={"遙控汽車","飛機模型","足球 ","拼圖 ","玩具槍 ","可愛玩偶","籃球 "};
- int price[]={450,550,325,200,660,150,380};
- int qty[]={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;
- qty[p-1]+=q;
- goto re2;
- }else
- {
- goto re;
- }
- checkout:
- cout<<endl<<"[購物清單]"<<endl;
- cout<<"-----------------------------"<<endl;
- for(int i=0; i<7; i++)
- {
- if(qty[i]!=0)
- cout<<name[i]<<"\t"<<price[i]<<"元 * "<<qty[i]<<"個"<<endl;
- }
- cout<<"-----------------------------"<<endl;
- cout<<"總共"<<sum<<"元!"<<endl<<endl;
-
- cout<<"1-正確無誤 2-重新選購 ";
- cin>>o;
-
- if(o==1)
- {
- re3:
- cout<<"請付帳:";
- cin>>pay;
- if(pay<sum)
- {
- cout<<"您付的錢不夠,還差"<<-(pay-sum)<<"元"<<endl<<endl;
- goto re3;
- }
- else if(pay==sum)
- {
- cout<<"剛剛好!無需找錢"<<endl<<endl;
- }
- else
- {
- int m=pay-sum;
- cout<<"找你"<<m<<"元!"<<endl;
- /*
- m=686
- */
- if(m>=500)
- {
- cout<<"五百元鈔票"<<m/500<<"張"<<endl;
- //686/500=1....186
- m=m%500;
- }
- if(m>=100)
- {
- cout<<"一百元鈔票"<<m/100<<"張"<<endl;
- //686/500=1....186
- m=m%100;
- }
- if(m>=50)
- {
- cout<<"五十元硬幣"<<m/50<<"枚"<<endl;
- //686/500=1....186
- m=m%50;
- }
- if(m>=10)
- {
- cout<<"十元硬幣"<<m/10<<"枚"<<endl;
- //686/500=1....186
- m=m%10;
- }
- if(m>=5)
- {
- cout<<"五元硬幣"<<m/5<<"枚"<<endl;
- //686/500=1....186
- m=m%5;
- }
- if(m>=1)
- {
- cout<<"一元硬幣"<<m<<"枚"<<endl;
- }
- }
- }
- else if(o==2)
- goto re;
- else
- cout<<"輸入錯誤!"<<endl;
-
- system("pause");
- goto re;
- return 0;
- }
複製代碼 |