版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、商品銷售統(tǒng)計(jì) 1. 需求和規(guī)格說明 1.1問題描述 編寫商品銷售統(tǒng)計(jì)程序,商品的信息有商品名、計(jì)量單位(重量 或件)、單價(jià)。所有商品的信息事先已存入計(jì)算機(jī),屏幕上顯示所有 商品的名稱,選擇商品名,輸入商品計(jì)量單位(如重量、件數(shù)等), 根據(jù)單價(jià)算出總價(jià)。客戶一次可能購買多種商品,程序應(yīng)計(jì)算出客戶 應(yīng)付的錢款數(shù)。 1.2基本要求 程序分為兩個(gè)部分:第一部分用于輸入商品的信息并允許修改和 刪除;第二部分實(shí)現(xiàn)銷售統(tǒng)計(jì)。程序運(yùn)行時(shí)由用戶選擇進(jìn)入哪一部分 功能,并能在運(yùn)行時(shí)在兩部分之間切換。第二部分運(yùn)行時(shí),首先顯示 所有商品名稱及代碼(商品數(shù)目較多時(shí),應(yīng)考慮分屏顯示),用戶輸 入商品代碼及商品重量或件數(shù),
2、用戶一次操作可輸入若干商品的購買 信息,然后輸入一個(gè)特殊的代碼(如“-1”表示本次購物結(jié)束。此 時(shí),程序計(jì)算出應(yīng)付錢款數(shù)并顯示。 2. 設(shè)計(jì) 2.1文字描述 先定義一個(gè)商品類GOODS,含有每種商品基本信息即商品名、 計(jì)量單位(重量或件)、單價(jià)、商品總量皆被定義為私有數(shù)據(jù)成員; 公有成員部分有該類構(gòu)造函數(shù)以及其他友元函數(shù)。 為了完成程序基本要求,采用嵌套系統(tǒng)思想,即先構(gòu)造一個(gè)總的 系統(tǒng)一一商品銷售統(tǒng)計(jì)工程,通過 switch語句可選擇進(jìn)入其下面兩 個(gè)子系統(tǒng)商品信息管理系統(tǒng)和商品銷售系統(tǒng),以完成程序要求的 兩個(gè)部分的功能。其中,每個(gè)子系統(tǒng)又可根據(jù) switch語句進(jìn)行選擇 操作,并能實(shí)現(xiàn)在兩個(gè)子
3、系統(tǒng)之間的切換。 2.2圖示 類名 類別 類型 名稱 說明 private stri ng n ame 商品名 private stri ng un it 計(jì)量單位 private double price per un it 單價(jià) private double amount 商品總數(shù) public GOODS) 構(gòu)造函數(shù) GOODS friend viod sort() 排序,使得信息為空的商品沉底 friend viod in put gds mesg() 底層函數(shù):錄入商品信息 friend viod Message modify() 底層函數(shù):修改商品信息 friend viod Me
4、ssage delete() 底層函數(shù):刪除商品信息 friend viod Goods Message Ma nage() 中層函數(shù):1.商品信息管理系統(tǒng) friend viod Goods Sale() 中層函數(shù):2.商品銷售系統(tǒng) friend viod WORK() 高層函數(shù):商品銷售統(tǒng)計(jì)工程 3. 用戶手冊 根據(jù)提示選擇操作即可,具體為: (1)程序運(yùn)行時(shí),首先要求初始化商品信息,即需添加銷售的 商品名稱、單價(jià)等; (2 )根據(jù)需求選擇進(jìn)入商品信息管理系統(tǒng)或者商品銷售系統(tǒng), 其中前者可進(jìn)行的操作有:錄入新商品信息、修改商品信息、刪除商 品信息等,后者為用戶提供購買商品功能,只需根據(jù)提示
5、操作即可; 注意:請輸入與程序要求相應(yīng)的選擇以及正確的格式,不要超出 程序給定的范圍! 4. 附錄源代碼 #in clude #in clude #in clude using n amespace std; int choice; class GOODS private: string name;/ 商品名 string unit;/ 計(jì)量單位 double price_per_unit; / 單價(jià) double amount;/ 商品總數(shù) public: GOODS(); /構(gòu)造函數(shù) /排序函數(shù),使得信息為空的商品類數(shù)組元素沉底,不為空的排在前面 (被刪除商品信息函數(shù)調(diào)用) frie nd
6、 void sort(GOODS array,i nt size); frie nd void in put_gds_mesg(GOODS goods1,i nt size);/底層函 數(shù):錄入商品信息(從屬于商品信息管理系統(tǒng)) friend void Message_modify(GOODS goods2,int size);/ 底層函 數(shù):修改商品信息(從屬于商品信息管理系統(tǒng)) friend void Message_delete(GOODS goods3,int size);/ 底層函 數(shù):刪除商品信息(從屬于商品信息管理系統(tǒng)) friend void Goods_Message_Man
7、age(GOODSGoods1,int size); /中層函數(shù):1.商品信息管理系統(tǒng)(從屬于商品銷售統(tǒng)計(jì)工程) friend void Goods_Sale(GOODS Goods2,int size);/ 中層函數(shù): 2商品銷售系統(tǒng)(從屬于商品銷售統(tǒng)計(jì)工程) friend void WORK(GOODS Goods,int size);/ 高層函數(shù):商品銷 售統(tǒng)計(jì)工程 ; GOODS:GOODS() n ame=0; un it=0; price_per_ un it=0.0; amoun t=0; void input_gds_mesg(GOODS goods1,int size)/ 底
8、層函數(shù): 息函數(shù)(從屬于商品信息管理系統(tǒng)) int i,j,m=0; int s=size; int n=size; stri ng l; for(i=0;is;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 goods1j. name; 種商品的名稱: e ndl; coute ndl; cout請輸入第j+1 goods1j.u nit; coute ndl; cout請輸入第j+1 goods1j.price_per_ un it;
9、 種商品的計(jì)量單位: 種商品的單價(jià)(元) coute ndl; cout請輸入第j+1 goods1j.am ount; cout coute ndl; coutvv_ 繼續(xù)錄入商品信息? ( y/n ) _ cin 1; coute ndl; if(l= n|l=N) n=j; else if(|=y|=Y); cout_商品信息錄入完成!endlendl; cout e ndl; return; 修改商品信 void Message_modify(GOODS goods2,int size)/ 底層函數(shù): 息函數(shù)(從屬于商品信息管理系統(tǒng)) if(goods20. name=0) cout
10、c; cout e ndl; coute ndl; if(c=y|c=Y) Goods_Message_Ma nage(goods2,size); WORK(goods2,size); else cout謝謝使用, 祝您愉快!再見! vvvvvvvvvvvvvvvvvvvvvvvvvvvve ndl; exit(O); stri ng p,q; int n; stri ng un it; stri ng n ame; double price; double amount; int choice2; do do coutvv 商品信息列表 e ndle ndl; coutvvt 商品編號(hào)t商品
11、名稱t商品單價(jià)t商品余量 e ndle ndl; int i,m=0; int s=size; for(i=0;is;i+) if(goods2i. name!=0)m+; else if(goods2i. name=0)s=m; for(i=0;im;i+) coutvvtvvi+1v.vvtvvtvvgoods2i. namevtvvgoods2 i.price_per_ un it元 vv/vvgoods2i.u nitvtvvgoods2i.amou ntgoods2i.u nit en dle ndl; cout 請輸入您想修改信息的商品編號(hào):_; / int n; cinn; co
12、ut e ndl; coute ndl; coutvv您想修改信息的商品為: p; coute ndl; if(p=y|p=Y) cout e ndl; do cout1.修改商品名稱endlendl; cout2.修改商品計(jì)量單位endlendl; cout3.修改商品單價(jià)(元)endlendl; cout4.修改商品數(shù)量endlendl; cout e ndl; cout請輸入您的選擇(1-4): _; cin choice2; coute ndl; switch(choice2) case 1: cout 請輸入 n 號(hào)商品 goods2n-1.n
13、amen ame; goods2 n-1. name=n ame; break; case 2: cout 請輸入*號(hào)商品 goods2 n-1. name的計(jì)量單位:_; /!stri ng un it; cinun it; goods2 n-1.u nit=un it; break; case 3: cout 請輸入 n號(hào)商品 price; goods2 n-1.price_per_ un it=price; break; case 4: cout 請輸入 n號(hào)商品 am ount; goods2 n-1.am oun t=am
14、ount; break; default: coutvCautio n:對(duì)不起,輸入有誤,請從新輸入!; break; while(choice2!=1 while(p= n|p=N); cout e ndl; cout_ 繼續(xù)修改商品信息(y/n )? _; /stri ng q; cinq; coute ndl; while(q=y|q=Y); cout_商 品 信 息 修 改 完 成! J cout e ndl; return; void sort(GOODS array,int size) /排序函數(shù),使得信息為空的商品類數(shù)組 元素沉底,不為空的排在前面(被刪除商品信息函數(shù)調(diào)用) in
15、t i,j; GOODS temp; for(i=0;isize-1;i+) for(j=0;jsize-1-i;j+) if(arrayj. name=0 arrayj=arrayj+1; arrayj+1=temp; return; void Message_delete(GOODS goods3,int size)/ 底層函數(shù): 息函數(shù)(從屬于商品信息管理系統(tǒng)) if(goods30. name=0) cout c; cout e ndl; coute ndl; if(c=y|c=Y) Goods_Message_Ma nage(goods3,size); WORK(goods3,siz
16、e); else cout 祝您愉快!再見! vvvvvvvvvvvvvvvvvvvvvvvvvvvve ndl; exit(0); 刪除商品信 (y/n)_ 謝謝使用, stri ng p,q; int n; stri ng un it; /double price; do do coutvv 商品信息列表 e ndle ndl; coutvvt 商品編號(hào)t商品名稱t商品單價(jià)t商品余量 e ndle ndl; int i,m=0; int s=size; for(i=0;is;i+) if(goods3i. name!=0)m+; else if(goods3i. name=0)s=m; f
17、or(i=0;im;i+) coutvvtvvi+1vtvvtvvgoods3i. namevtvvgoods3i.pri ce_per_ un it元 vv/vvgoods3i.u nitvtvvgoods3i.amou ntgoods3i.u nit en dle ndl; cout e ndl; cout 請輸入您想刪除信息的商品編號(hào): /int n; cinn; coute ndl; 的商品為: coutvv_您想刪除信息 p; coute ndl; if(p=y|p=Y) goods3 n-1. name=0; goods3 n-1.u nit
18、=0; goods3 n-1.price_per_ un it=0.0; goods3 n-1.am oun t=0; cout q; coutvve ndl; while(q=y|q=Y); coutvv商 品 信 息 刪 coutvv e ndl; sort(goods3,size); return; 中層函數(shù):M. void Goods_Message_Ma nage(GOODS Goods1,i nt size) / 商品信息管理系統(tǒng)(從屬于商品銷售統(tǒng)計(jì)工程) int choicel; do cout e ndl; cout e ndl; cout e ndl; cout e ndl;
19、 cout 商品信息管理系統(tǒng) e ndle ndl; cout 行 的 操 作 cout 請選擇您要執(zhí) e ndle ndl; 1.錄入新商品信息 e ndl; cout 2修改商品信息 e ndl; cout e ndl; cout 3.刪除商品信息 4.返回 e ndl; cout 0.退出 cout e ndl; cout請輸入您的選擇:(0-4)_ cin choice1; switch(choicel) cout謝謝使用, 祝您愉快!再見! vvvvvvvvvvvvvvvvvvvvvvvvvvvve ndl; exit(0); break; default: coutvv對(duì)不起,您的
20、輸入有誤,請重新進(jìn)行選擇! e ndle ndl; break; while(choice1!=0 return; void Goods_Sale(GOODS Goods2,int size) / 中層函數(shù):S.商品銷售系統(tǒng) (從屬于商品銷售統(tǒng)計(jì)工程) if(Goods20. name=0) cout c; cout 謝謝使用, 祝您愉快!再見! vvvvvvvvvvvvvvvvvvvvvvvvvvvve ndl; exit(0); stri ng p,q; int num1000,amou nt1OOO;num 存放所要購買商品的 編號(hào), amount存放購買的每種商品數(shù)量 int j=0,
21、f=0,r=0; stri ng un it; double mon ey=0.0; do do cout e ndle ndl; coutvvt 商品編號(hào)t商品名稱t商品單價(jià)t商品余量 e ndle ndl; int i,m=0; int s=size; for(i=0;is;i+) if(Goods2i. name!=0)m+; else if(Goods2i. name=0)s=m; for(i=0;im;i+) coutvvtvvi+1vvtvvtvGoods2i. namevtvGoods2i.pri ce_per_ un it元 vv/vGoods2i.u nitvtvGoods2
22、i.amou ntGoods2i.u nit en dle ndl; cout 請輸入您想購買的商品的編號(hào)(輸入“0”結(jié)束): nu mj; / do / /cinnu mj; /j+; /while(nu mj-1!=0); cout_您想購買的商品為:endlendl; cout e ndl; cout_商品編號(hào)t商品名稱endlendl; for(f=0;fvj-1;f+) if(nu mf!=0) cout numfvvtvvtvGoods2 numf-1. namee ndle ndl; cout p; cout e ndl; coute ndl; if(p=y|p=Y) cout請
23、輸入您想購買的商品數(shù)量:e ndlvve ndl; cout e ndl; coutvv商品編號(hào)t商品名稱t購買數(shù)量endlvvendl; for(f=0,r=0;(fvj-1)f+,葉+) if(nu mf!=0) cout nu mfvvtvvtv am oun tr; Goods2 nu mf-1.am oun t-=am oun tr; coute ndl; cout e ndl; while(p= n|p=N); coutvv_ 您購買的商品信息如下:endlvvendl; cout e ndl; coutt 商品編號(hào)t商品名稱t商品單價(jià)t購買數(shù)量 e ndlvve ndl; for(f=0,r=0;(fj-1)f+j+) if(nu mf!=0) coutvvtvv nu mfvvtvvtvvGoods2 nu mf-1. namevvt vvGoods2 nu mf-1.price_per_ un itvv元 vv/vvGoods2 nu mf-1.u ni tvvtvvamou ntrvvGoods2 nu mf- 1.u nitvve ndlvve ndl; cout e ndl; for(f=0,r=0;(fvj-1)f+j+) if(nu mf!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版實(shí)驗(yàn)室裝修、設(shè)備采購一體化合同范本3篇
- 2025版庭院園藝設(shè)計(jì)租賃合同示范文本大全3篇
- 《社會(huì)主義發(fā)展戰(zhàn)略》課件
- 《我的家鄉(xiāng)河北》課件
- 基于2025年度標(biāo)準(zhǔn)的軟件開發(fā)與技術(shù)服務(wù)合同3篇
- 2025版木托盤產(chǎn)業(yè)鏈整合合同4篇
- 2025版學(xué)校飯?zhí)檬称钒踩c營養(yǎng)管理承包合同3篇
- 云母制品在平板電腦觸控面板材料中的應(yīng)用考核試卷
- 公路工程現(xiàn)場急救與事故處理考核試卷
- 2025年度木材進(jìn)出口貿(mào)易代理合同標(biāo)準(zhǔn)文本2篇
- 2024版?zhèn)€人私有房屋購買合同
- 2024爆炸物運(yùn)輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護(hù)保密協(xié)議與信息安全風(fēng)險(xiǎn)評(píng)估合同3篇
- 《食品與食品》課件
- 讀書分享會(huì)《白夜行》
- 光伏工程施工組織設(shè)計(jì)
- DB4101-T 121-2024 類家庭社會(huì)工作服務(wù)規(guī)范
- 化學(xué)纖維的鑒別與測試方法考核試卷
- 2024-2025學(xué)年全國中學(xué)生天文知識(shí)競賽考試題庫(含答案)
- 作品著作權(quán)獨(dú)家授權(quán)協(xié)議(部分授權(quán))
- 取水泵站施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論