


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、商品銷售統計1. 需求和規格說明1.1問題描述編寫商品銷售統計程序,商品的信息有商品名、計量單位重量 或件單價。所有商品的信息事先已存入計算機,屏幕上顯示所有 商品的名稱,選擇商品名,輸入商品計量單位如重量、件數等,根據單價算出總價。客戶一次可能購置多種商品,程序應計算出客戶 應付的錢款數。1.2根本要求程序分為兩個局部:第一局部用于輸入商品的信息并允許修改和 刪除;第二局部實現銷售統計。程序運行時由用戶選擇進入哪一局部 功能,并能在運行時在兩局部之間切換。第二局部運行時,首先顯示 所有商品名稱及代碼商品數目較多時,應考慮分屏顯示,用戶輸 入商品代碼及商品重量或件數,用戶一次操作可輸入假設干商
2、品的購 置信息,然后輸入一個特殊的代碼如“-T表示本次購物完畢。此時,程序計算出應付錢款數并顯示。2. 設計2.1文字描述先定義一個商品類GOODS,含有每種商品根本信息即商品名、 計量單位重量或件、單價、商品總量皆被定義為私有數據成員; 公有成員局部有該類構造函數以及其他友元函數。為了完成程序根本要求,采用嵌套系統思想,即先構造一個總的 系統一一商品銷售統計工程,通過 switch語句可選擇進入其下面兩 個子系統商品信息管理系統和商品銷售系統,以完成程序要求的 兩個局部的功能。其中,每個子系統又可根據 switch語句進展選擇 操作,并能實現在兩個子系統之間的切換。2.2圖示類名類別類型名稱
3、說明privatestri ngn ame商品名privatestri ngun it計量單位privatedoubleprice per un it單價privatedoubleamount商品總數GOODSpublicGOODS)構造函數friendviodsort()排序,使得信息為空的商品沉底friendviodin put gds mesg()底層函數:錄入商品信息friendviodMessage modify()底層函數:修改商品信息friendviodMessage delete()底層函數:刪除商品信息friendviodGoods Message Manage()中層函數:
4、1.商品信息管理系統friendviodGoods Sale()中層函數:2.商品銷售系統friendviodWORK()高層函數:商品銷售統計工程3. 用戶手冊根據提示選擇操作即可,具體為:(1)程序運行時,首先要求初始化商品信息,即需添加銷售的商品名稱、單價等;(2 )根據需求選擇進入商品信息管理系統或者商品銷售系統,其中前者可進展的操作有:錄入新商品信息、修改商品信息、刪除商品信息等,后者為用戶提供購置商品功能,只需根據提示操作即可; 注意:請輸入與程序要求相應的選擇以及正確的格式,不要超出程序給定的圍!4. 附錄源代碼#in clude<iostream>#in clude
5、<stri ng>#in clude<fstream> using n amespace std;int choice;class GOODSprivate:string name;/ 商品名string unit;/ 計量單位double price_per_unit; / 單價double amount;/ 商品總數public:GOODS(); /構造函數/排序函數,使得信息為空的商品類數組元素沉底,不為空的排在前面被"刪除商品信息函數"調用frie nd void sort(GOODS array,i nt size);frie nd voi
6、d in put_gds_mesg(GOODS goods1,i nt size);/底層函數:錄入商品信息(附屬于商品信息管理系統)friend void Message_modify(GOODS goods2,int size);/ 底層函數:修改商品信息附屬于商品信息管理系統friend void Message_delete(GOODS goods3,int size);/ 底層函數:刪除商品信息附屬于商品信息管理系統friend void Goods_Message_Manage(GOODSGoods1,int size);/中層函數:1.商品信息管理系統附屬于商品銷售統計工程fri
7、end void Goods_Sale(GOODS Goods2,int size);/ 中層函數:2商品銷售系統附屬于商品銷售統計工程friend void WORK(GOODS Goods,int size);/ 高層函數:商品銷售統計工程;GOODS:GOODS()n ame="0"un it="0"price_per_ un it=0.0;amoun t=0;/底層函數:錄入商品信void in put_gds_mesg(GOODS goods1,i nt size) 息函數(附屬于商品信息管理系統)int i,j,m=0;int s=size;
8、int n=size;stri ng l;for(i=0;i<s;i+)if(goods1i. name!="0")m+;else if(goods1i. name="0")s=m;for(j=m;j< n;j+)cout«""<<e ndl;cout<<">>>請輸入第"<<j+1<<"種商品的名稱:cin> >goods1j. name;cout«e ndl;cout<<"
9、;>>>請輸入第"<<j+1<<"cin> >goods1j.u nit;cout«e ndl;cout<<">>>請輸入第"<<j+1<<"種商品的計量單位:種商品的單價元:cin> >goods1j.price_per_ un it;cout«e ndl;cout<<">>>請輸入第"<<j+1<<"種商品的數量:cin
10、> >goods1j.am ount;cout«""<<e ndl;cout«e ndl;修改商品信使用,祝您coutvv"_ 繼續錄入商品信息? y/n_" cin> >1;cout«e ndl;if(l=" n"|l="N") n=j;else if(|="y"|="Y");cout«"_商品信息錄入完成!"<<endl«endl;cout«&q
11、uot;"<<e ndl;return;void Message_modify(GOODS goods2,int size)/ 底層函數:息函數附屬于商品信息管理系統if(goods20. name="0")cout<<"Caution:當前無商品信息,請返回更新! y/n_ stri ng c;cin> >c;cout«""<<e ndl;cout«e ndl;if(c="y"|c="Y")Goods_Message_Ma n
12、age(goods2,size);WORK(goods2,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>愉快! 再見! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(O);stri ng p,q;int n;stri ng un it;stri ng n ame;double price;double amount;int ch
13、oice2;dodocoutvv" 商品信息列表 "<<e ndl«e ndl;coutvv"t 商品編號t商品名稱t商品單價t商品余量"<<e ndl«e ndl;int i,m=0;int s=size;for(i=0;i<s;i+)if(goods2i. name!="0")m+;else if(goods2i. name="0")s=m;for(i=0;i<m;i+)coutvv"t"vvi+1<v"."v
14、v"t"vv"t"vvgoods2i. name<<"t"<<goods2i.price_per_ un it<<""vv"/"vvgoods2i.u nit<<"t"<<goods2i.amou nt«goods2i.u ni t<< en dl<<e ndl;cout«""<<e ndl;coutvv">>>請
15、輸入您想修改信息的商品編號:_"/int n; cin>>n; cout«""<<e ndl;cout«e ndl;coutvv"您想修改信息的商品為:"<<n<v"."<<"y/n/stri ng p;cin> >p;cout«e ndl;if(p="y"|p="Y")cout«""<<e ndl;doco
16、ut<<"1.修改商品名稱"<<endl«endl;cout<<"2.修改商品計量單位"<<endl«endl;cout<<"3.修改商品單價元"<<endl«endl;cout<<"4.修改商品數量"<<endl«endl;cout«""<<e ndl;cout<<">>>請輸入您的選擇1-4: _
17、"cin> >choice2;cout«e ndl;switch(choice2)case 1:cout<<">>> 請輸入 "<< n <<" 號商品"<<<<"的名稱:_"/'.'.stri ng n ame;cin>>n ame;goods2 n-1. name=n ame;break;case 2:cout<<">>> 請輸
18、入"<<*<"號商品"<<goods2 n-1. name<<"的計量單位:_"/!stri ng un it;cin»un it;goods2 n-1.u nit=un it;break;case 3:cout<<">>> 請輸入 "<< n<<"號商品"<<<<"的單價:_"/!double price;cin> >
19、;price;goods2 n-1.price_per_ un it=price;break;case 4:cout<<">>> 請輸入 "<< n<<"號商品"<<<<"的數量:_"/!int num;cin> >am ount;goods2 n-1.am oun t=am ount;break;default:cout<v"Cautio n:對不起,輸入有誤,請從新輸入!"break;wh
20、ile(choice2!=1 &&choice2!=2&&choice2!=3&&choice2!=4); while(p=" n"|p="N");cout«""<<e ndl;cout<<"_ 繼續修改商品信息y/n? _"/stri ng q;cin»q;cout«e ndl;while(q="y"|q="Y");cout<<"_商 品 信 息 修
21、改 完 成!Jcout«""<<e ndl;return;void sort(GOODS array,int size) /排序函數,使得信息為空的商品類數組元素沉底,不為空的排在前面被"刪除商品信息函數"調用int i,j;GOODS temp;for(i=0;i<size-1;i+)for(j=0;j<size-1-i;j+)if(arrayj. name="0"&&arrayj+1 .n ame!="0")temp=arrayj;arrayj=arrayj+1
22、;arrayj+1=temp;return;void Message_delete(GOODS goods3,int size)/ 底層函數:息函數附屬于商品信息管理系統if(goods30. name="0")cout<v"Cautio n:對不起,當前無商品信息,請返回更新!stri ng c;cin> >c;cout«""<<e ndl;cout«e ndl;if(c="y"|c="Y")Goods_Message_Ma nage(goods3,si
23、ze);WORK(goods3,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>愉快! 再見! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl; exit(0);刪除商品信y/n_"使用,祝您stri ng p,q;int n;stri ng un it;/double price;dodocoutvv" 商品信息列表 &
24、quot;<<e ndl«e ndl;coutvv"t 商品編號t商品名稱t商品單價t商品余量"<<e ndl«e ndl;int i,m=0;int s=size;for(i=0;i<s;i+)if(goods3i. name!="0")m+;else if(goods3i. name="0")s=m;for(i=0;i<m;i+)coutvv"t"vvi+1<v"t"vv"t"vvgoods3i. name&l
25、t;<"t"<<goods3i.pri ce_per_ un it<<""vv"/"vvgoods3i.u nit<v"t"vvgoods3i.amou nt«goods3i.u ni t<< en dl<<e ndl;cout«""<<e ndl;cout<<">>> 請輸入您想刪除信息的商品編號:/int n;cin>>n;cout«e n
26、dl;coutvv"_您想刪除信息的商"<<n<v"."<<"y/n_"/stri ng p;cin> >p;cout«e ndl;if(p="y"|p="Y")goods3 n-1. name="0"goods3 n-1.u nit="0"goods3 n-1.price_per_ un it=0.0;goods3 n-1.am oun t=0;cout«&qu
27、ot;"<<e ndl;while(p=" n"|p="N");cout<<"_ 繼續刪除商品信息y/n丨? _"/stri ng q;cin>>q;cout«e ndl;while(q="y"|q="Y");cout<<"_商 品 信 息 刪 除 完Jcout«""<<e ndl;sort(goods3,size); return;中層函數:M. void Goods_Mes
28、sage_Ma nage(GOODS Goods1,i nt size) /商品信息管理系統附屬于商品銷售統計工程int choicel;docout«""<<e ndl;cout«""<<e ndl;coutvv"商品信息管理系統"<<e ndl;cout«""<<e ndl;cout«""<<e ndl«e ndl;coutvv" >>>>>&
29、gt;>>>>>>>>>>>>>>>>請選擇您要執行的操作 vvvvvvvvvvvvvvvvvvvvv"vvendl<<endl;coutvv"1.錄入新商品信息"<<e ndl;coutvv"2修改商品信息"vve ndl;coutvv"3.刪除商品信息4.返回0.退出"vve ndl;coutvv""vve ndl;coutvv" coutvv""vve
30、 ndl;coutvv">>>請輸入您的選擇:0-4_"cin> >choice1;coutvve ndl;switch(choice1)case 1:in put_gds_mesg(Goods1,size);break;case 2:Message_modify(Goods1,size);break;case 3:Message_delete(Goods1,size);break;case 4:WORK(Goods1,size);break;case 0:cout<<">>>>>>&g
31、t;>>>>>>>>>>>>>>>>>>>>使用,祝您愉快! 再見! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(0);break;default:coutvv"對不起,您的輸入有誤,請重新進展選擇!"<<e ndl«e ndl;break;while(choice1!=0&&choice1!=1 &&choice1!=2&&choice1!
32、=3&&choice1!=4);return;void Goods_Sale(GOODS Goods2,int size) / 中層函數:S.商品銷售系統附屬于商品銷售統計工程if(Goods20. name="0")cout<<"Caution:對不起,當前無商品信息,請返回更新!y/n_"stri ng c; cin> >c; cout«""<<e ndl;cout«e ndl;if(C="y"|c="Y")Goods_
33、Message_Ma nage(Goods2,size);WORK(Goods2,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>使用,祝您愉快! 再見! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(0);stri ng p,q;int num1000,amou nt1OOO;num 存放所要購置商品的 編號,amount存放購
34、置的每種商品數量int j=0,f=0,r=0;stri ng un it;double mon ey=0.0;dodocout«""<<e ndl;coutvv" 商品信息列表 "<<e ndl«e ndl;coutvv"t 商品編號t商品名稱t商品單價t商品余量"<<e ndl«e ndl;int i,m=O;int s=size;for(i=0;i<s;i+)if(Goods2i. name!="O")m+;else if(Goods2i
35、. name="0")s=m; for(i=0;i<m;i+)coutvv"t"vvi+1vv"t"vv"t"v<Goods2i. name<v"t"v<Goods2i.price_per_ un it<<"元"vv"/"v<Goods2i.u nit<v"t"v<Goods2i.amou nt<<Goods2i.u nit<< en dl<<e
36、ndl;cout«""<<e ndl;cout<<">>>請輸入您想購置的商品的編號輸入0元畢:"<<e ndl;/int nu msize;for(j=0; nu mj-1!=0;j+) cout«"-"cin»nu mj;/do/cin»nu mj;/j+;/while( nu mj-1!=0);cout«"_您想購置的商品為:"<<endl«endl;cout«"&
37、quot;<<e ndl;cout«"_ 商品編號t商品名稱"<<endl«endl; for(f=0;f<j-1;f+)if(nu mf!=0)cout« numfvv"t"vv"t"v<Goods2 numf-1. name«e ndl«e ndl;cout«""<<e ndl;cout<<"_ 確認y/n? _"/stri ng p; cin> >p; cou
38、t«""<<e ndl;cout«e ndl;if(p="y"|p="Y")cout<<">>>請輸入您想購置的商品數量:"<<e ndlvve ndl;cout«""<<e ndl;coutvv"商品編號t商品名稱t購置數量"<<endlvvendl;for(f=0,r=0;(fvj-1)&&(r<size);f+, r+)if(nu mf!=O
39、)cout« nu mfvv"t"vv"t"v<Goods2 nu mf-1. name«"t" cin> >am oun tr;Goods2 nu mf-1.am oun t-=am oun tr; cout«e ndl;cout«""<<e ndl;while(p=" n"|p="N");coutvv"_ 您購置的商品信息如下:"<<endlvvendl;cout
40、1;""<<e ndl;cout<<"t 商品編號t商品名稱t商品單價t購置數量"<<e ndl«e ndl;for(f=0,r=0;(f<j-1)&&(r<size);f+j+)if(nu mf!=0)cout<<"t"<< nu mfvv"t"vv"t"v<Goods2 nu mf-1. name«"t"<<Goods2 nu mf-1.price
41、_per_ un it<<"元"vv"/"v<Goods2 nu mf-1.u ni t<<"t"<<amou ntr«Goods2 nu mf-1.u nit«e ndl«e ndl;cout<<""<<e ndl;for(f=0,r=0;(fvj-1)&&(r<size);f+j+) if(nu mf!=0)mon ey+=Goods2 nu mf-1.price_per_ un it*am o
42、un tr;coutvv"_ 您一共應支付"vvmoney<<"元."<<endl<<endl;cout«""<<e ndl;cout«"_ 繼續購物y/n? _"/stri ng q;cin»q;cout«e ndl;while(q="y"|q="Y");coutvv" >>>>>>>>>>>>>&g
43、t;>>>>>>>>>>>>>惠顧,歡送再來! vvvvvvvvvvvvvvvvvvvvvvvvvv"<<endl<<endl;WORK(Goods2,size);void WORK(GOODS Goods,int size)/高層函數:商品銷售統計工程docout<v">>>>>>>>>>>>>>>>>>>>>>>>>
44、請選 擇您要執行的操作 vvvvvvvvvvvvvvvvvvvvvvvv"v<endl;coutvv"1.商品信息管理系統"<<e ndl;coutvv"2.商品銷售系統"<<e ndl;cout«"0.退出Jcout«""<<e ndl;coutvv">>>請輸入您的選擇:0-2_"cin> >choice;cout«""<<e ndl;switch(choice)case 1:Goods_Message_Ma nage(Goods,size); break;case 2:Goods_Sale(Goods,size);break;使用,祝您case 0:cout<<">>>>>>>>>>>>>>>>>>>&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汕頭戶外庭院施工方案
- 護坡施工方案案例范本
- 南陽工藝美術職業學院《文化創意參展參賽實訓》2023-2024學年第一學期期末試卷
- 煙臺科技學院《樂理基礎(1)》2023-2024學年第一學期期末試卷
- 上海南湖職業技術學院《高級商務英語(三)》2023-2024學年第二學期期末試卷
- 江西外語外貿職業學院《中國古代文學史(3)》2023-2024學年第一學期期末試卷
- 浙江樹人學院《建筑美學》2023-2024學年第一學期期末試卷
- 湘南學院《體育測量評價》2023-2024學年第一學期期末試卷
- 2025江西省數據庫安全監控服務合同(示范文本)
- 南陽醫學高等專科學校《體育網球》2023-2024學年第一學期期末試卷
- 《蘭亭集序》《歸去來兮辭》對比閱讀課件(教材精研+情境任務)統編版高中語文選擇性必修下冊
- 農貿市場計量管理制度(3篇)
- 拼音bpmfdtnl課件教學課件最新
- 一級建造師《港口與航道工程管理與實務》課件專業工程技術
- 國家開放大學《社會心理學》形考任務1-4參考答案
- 《工程制圖》期末考試試卷附答案
- 重癥患者的容量管理課件
- 二年級下冊道德與法治 課件-9 小水滴的訴說 部編版 (共16張PPT)
- 生產設備點檢記錄表
- 轉化膜與著色技術
- DL∕T 1286-2021 火電廠煙氣脫硝催化劑檢測技術規范
評論
0/150
提交評論