版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報告</b></p><p> 設(shè)計(jì)題目:綜合類題目3. 商品銷售統(tǒng)計(jì)</p><p><b> 學(xué)生姓名</b></p><p> 專業(yè)班級:計(jì)算機(jī)科學(xué)以技術(shù)10-01班</p><p><b> 學(xué)號 :</b></
2、p><p><b> 指導(dǎo)老師:</b></p><p> 完成日期:2011年7月2月</p><p> (一) 需求和規(guī)格說明</p><p><b> 問題描述</b></p><p> 編寫商品銷售統(tǒng)計(jì)程序,商品的信息有:商品的名稱,計(jì)量單位(重量或件),單價。
3、所有商品的信息事先已存入計(jì)算機(jī),屏幕上顯示所有商品的名稱,選擇商品名,輸入商品計(jì)量單位(如重量,件數(shù)等),根據(jù)單價算出總價??蛻粢淮钨徫锟赡苜徺I多種商品,程序應(yīng)計(jì)算出客戶應(yīng)付的錢款數(shù)。</p><p><b> 基本要求</b></p><p> 程序分為兩個部分:第一部分用于輸入商品的信息并允許修改和刪除;第二部分實(shí)現(xiàn)銷售統(tǒng)計(jì)。程序運(yùn)行時由用戶選擇進(jìn)入哪一部分功
4、能,并能在運(yùn)行時在兩部分之間切換。第二部分運(yùn)行時,首先顯示所有商品名稱及代碼(商品數(shù)目較多時,應(yīng)考慮分屏顯示),用戶輸入商品代碼及商品重量或件數(shù),用戶一次操作可輸入若干商品的購買信息,然后輸入一個特殊的代碼(如-1)表示本次購物結(jié)束。此時。程序計(jì)算出應(yīng)付錢款數(shù)并顯示。</p><p><b> 測試數(shù)據(jù)</b></p><p> 程序應(yīng)輸入不少于10種商品的信息,
5、并進(jìn)行模擬運(yùn)行。</p><p><b> 實(shí)現(xiàn)提示</b></p><p> 本程序的商品信息管理可采用與課程設(shè)計(jì)題目二類似的數(shù)據(jù)結(jié)構(gòu),既定義一個商品類,每種商品作為商品類的實(shí)例(對象)存儲在鏈表節(jié)點(diǎn)中。</p><p><b> 選做內(nèi)容</b></p><p> 程序在營業(yè)結(jié)束時統(tǒng)計(jì)每
6、種商品的銷售量,銷售金額及總營業(yè)額。因此第二部分應(yīng)有營業(yè)結(jié)束的選擇,當(dāng)用戶選擇此項(xiàng)時屏幕上顯示當(dāng)天營業(yè)的每種商品的銷售量,銷售金額及總營業(yè)額。注意,商品類的數(shù)據(jù)成員應(yīng)增加有商品的銷售量和銷售金額??偁I業(yè)額是所有商品的營業(yè)額之和,可用靜態(tài)數(shù)據(jù)成員實(shí)現(xiàn)。或可由原商品類派生出一個特殊的類,增加上面的數(shù)據(jù)成員及相應(yīng)的成員函數(shù)。</p><p><b> ?。ǘ?設(shè)計(jì)</b></p>
7、<p> 定義一個結(jié)構(gòu)體,該結(jié)構(gòu)體用來存放商品的代碼,名稱等信息</p><p> 定義list鏈表類,用來動態(tài)的存放商品的信息;</p><p> 定義list的派生類set類,用來對商品進(jìn)行操作;</p><p><b> ?。ㄈ?用戶手冊</b></p><p> 程序運(yùn)行時,首先選擇相關(guān)的操作
8、</p><p><b> 根據(jù)要求</b></p><p><b> 逐步操作</b></p><p><b> ?。ㄋ模?調(diào)試及測試</b></p><p><b> 運(yùn)行實(shí)例:</b></p><p><b>
9、 源程序:</b></p><p> #include<iostream.h></p><p> #include <conio.h></p><p> struct shangpin</p><p> {int number;</p><p> char name[30
10、];</p><p> float weight;</p><p> float price;</p><p> shangpin *next;</p><p><b> };</b></p><p> class list { //定義鏈表類</p><p>
11、 shangpin *elems;</p><p><b> public:</b></p><p> list() {elems=0;}</p><p><b> ~list();</b></p><p> virtual bool insert();</p><p&
12、gt; void insert1(shangpin *pr,float wgt);//此虛函數(shù)在派生類中可重新定義</p><p> bool insert2();</p><p> virtual bool deletes(int); //此虛函數(shù)在派生類中可重新定義</p><p> bool contain(int);</p><p
13、> bool contain1(int);</p><p> shangpin *chazhao(int);</p><p> void print();</p><p> void print1();</p><p> void shanchu();</p><p><b> };<
14、/b></p><p> class set:public list { </p><p> int card;//將集合類set定義為鏈表類list的派生類</p><p> struct shangpin shp;</p><p><b> public:</b></p><p>
15、;<b> set() {}</b></p><p> bool insert(); //重定義此函數(shù)</p><p> bool deletes(int); //重定義此函數(shù)</p><p><b> };</b></p><p> shangpin *list::chazhao(in
16、t number)</p><p> { //若表為空,返回false</p><p> shangpin *tmp=elems;</p><p> if(elems->number==number) //若待刪除的元素為表頭元素</p><p> return tmp;</p&
17、gt;<p><b> else</b></p><p> for(shangpin *elem=elems; elem->next!=0; elem=elem->next)</p><p> if(elem->next->number==number)</p><p> {
18、 //循環(huán)查找待刪除元素</p><p> tmp=elem->next;</p><p> return tmp;</p><p><b> }</b></p><p><b> }</b></p><p> void list::shanc
19、hu()</p><p><b> {</b></p><p> shangpin *tmp=elems;</p><p> for(shangpin *elem=elems; elem!=0;)</p><p><b> {</b></p><p><b>
20、; tmp=elem;</b></p><p> elem=elem->next;</p><p> delete tmp;</p><p><b> }</b></p><p><b> }</b></p><p> list::~list()
21、 //list類得析構(gòu)函數(shù)定義,循環(huán)釋放各元素所占的存儲</p><p><b> {</b></p><p> shangpin *tmp=elems;</p><p> for(shangpin *elem=elems; elem!=0;)</p><p><b> {</b><
22、/p><p><b> tmp=elem;</b></p><p> elem=elem->next;</p><p> delete tmp;</p><p><b> }</b></p><p><b> }</b></p>
23、<p> void list::insert1(shangpin *pr,float wgt)</p><p><b> {</b></p><p> shangpin *elem=new shangpin; //為新元素分配存儲</p><p> if (elem!=0) {</p><p>
24、elem->number=pr->number;</p><p><b> int i;</b></p><p> for(i=0;i<30;i++)</p><p> elem->name[i]=pr->name[i];</p><p> elem->weight=wgt;&
25、lt;/p><p> elem->price=pr->price;//將新元素插入到鏈表頭</p><p> elem->next=elems;</p><p> elems=elem;</p><p><b> }</b></p><p><b> }</
26、b></p><p> bool list::insert2()</p><p><b> {</b></p><p><b> int num;</b></p><p><b> cin>>num;</b></p><p>
27、 shangpin *elem=new shangpin; //為新元素分配存儲</p><p> if (elem!=0) {</p><p> elem->number=num;</p><p> elem->next=elems;</p><p> elems=elem;</p><p>
28、 return true;</p><p><b> }</b></p><p> else return false;</p><p><b> }</b></p><p> bool list::insert() //定義list類中插入元素的成員函數(shù)</p><
29、p> {int num;cout<<"請?jiān)俅屋斎肷唐返拇a"<<endl;</p><p><b> cin>>num;</b></p><p> shangpin *elem=new shangpin; //為新元素分配存儲</p><p> if (elem!=0) {
30、</p><p> elem->number=num;</p><p> cout<<"請輸入商品的名稱"<<endl;</p><p> cin>>elem->name;</p><p> cout<<"請輸入商品的價格(單位:元)"
31、<<endl;</p><p> cin>>elem->price;//將新元素插入到鏈表頭</p><p> elem->next=elems;</p><p> elems=elem;</p><p> return true;</p><p><b> }&
32、lt;/b></p><p> else return false;</p><p><b> }</b></p><p> bool list::deletes(int number) //定義list類中刪除元素的成員函數(shù)</p><p><b> {</b></p>
33、;<p> if(elems==0) return false; //若表為空,返回false</p><p> shangpin *tmp=elems;</p><p> if(elems->number==number)</p><p> { //若待刪除的元素為表頭元素</p>
34、;<p> elems=elems->next;</p><p> delete tmp;</p><p> return true;</p><p><b> }</b></p><p><b> else</b></p><p> for(
35、shangpin *elem=elems; elem->next!=0; elem=elem->next)</p><p> if(elem->next->number==number)</p><p> { //循環(huán)查找待刪除元素</p><p> tmp=elem->next;</
36、p><p> elem->next=tmp->next;</p><p> delete tmp;</p><p> return true;</p><p><b> }</b></p><p> return false;</p><p><b&
37、gt; }</b></p><p> bool list::contain(int number)</p><p> { //判元素val在鏈表中是否存在</p><p> if(elems==0)return false;</p><p> if(elems->numb
38、er==number) return true;</p><p><b> else</b></p><p> for(shangpin *elem=elems; elem->next!=0; elem=elem->next)</p><p> if(elem->next->number==number)</
39、p><p> return true;</p><p> return false;</p><p><b> }</b></p><p> bool list::contain1(int number)</p><p><b> {</b></p>&l
40、t;p> if(elems==0){cout<<"沒有此商品"<<endl;return false;}</p><p> if(elems->number==number){cout<<"商品代碼:"<<elems->number<<"商品名稱:"<<elem
41、s->name<<"商品價格:"<<elems->price<<endl; return true;}</p><p><b> else</b></p><p> for(shangpin *elem=elems; elem->next!=0; elem=elem->next)<
42、;/p><p> if(elem->next->number==number){</p><p> cout<<"商品代碼:"<<elem->next->number<<"商品名稱:"<<elem->next->name<<"商品的價格:&quo
43、t;<<elem->next->price<<"元"<<endl;</p><p> return true;}</p><p> cout<<"沒有此商品"<<endl;</p><p> return false;</p><
44、p><b> }</b></p><p> void list::print() //輸出鏈表中各元素</p><p><b> {</b></p><p> if(elems==0) return;</p><p> for(shangpin *elem=elems; elem
45、!=0; elem=elem->next)</p><p> cout<<"商品代碼:"<<elem->number<<" "<<"商品名稱:"<<elem->name<<" "<<"商品價格:"<&l
46、t;elem->price<<"元"<<endl;</p><p> cout<<endl;</p><p><b> }</b></p><p> void list::print1() //輸出鏈表中各元素</p><p><b>
47、{</b></p><p> if(elems==0) return;</p><p> for(shangpin *elem=elems; elem!=0; elem=elem->next)</p><p> cout<<"商品代碼:"<<elem->number<<"
48、 "<<"商品名稱:"<<elem->name<<" "<<"商品價格:"<<elem->price<<"元"<<"商品的重量或件數(shù):"<<elem->weight<<endl;</p>
49、<p> cout<<endl;</p><p><b> }</b></p><p> bool set::insert() //在set類中的insert的重定義版本</p><p> {int num1;</p><p> cout<<"請輸入商品代碼&qu
50、ot;<<endl;</p><p> cin>>num1;</p><p> if(list::contain(num1)==false&&list::insert()) </p><p> { //先判斷此元素是否存在,然后再調(diào)用基類的此函數(shù)版本</p><p><b&
51、gt; ++card;</b></p><p> return true;</p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> bool set::deletes(
52、int number) //在set類中的deletes的重定義版本</p><p><b> {</b></p><p> if(list::deletes(number)) //調(diào)用基類中的此函數(shù)版本</p><p> { card--;</p><p> return true;</p>
53、<p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> void ini()</p><p> { cout<<endl;</p><p> cout<&l
54、t;"****************************************************************"<<endl;</p><p> cout<<" 歡迎進(jìn)入商品管理系統(tǒng),請選擇相應(yīng)的功能,如 按 1 鍵,進(jìn)行添加操作"<<endl;</p><p> cout<&l
55、t;" 1 :添加 "<<" "<<"2 :刪徐 "<<endl;</p><p> cout<<" 3 :查找"<<" "<<"4 :顯示 "<<endl;</
56、p><p> cout<<" q :退出"<<endl;</p><p> cout<<"****************************************************************"<<endl;</p><p> cout<<
57、;"請選擇:";</p><p><b> }</b></p><p> void inr()</p><p> { cout<<endl;</p><p> cout<<"*******************************************
58、*********************"<<endl;</p><p> cout<<" 歡迎進(jìn)入商店系統(tǒng),請選擇相應(yīng)的功能,如 按 1 鍵,進(jìn)行商品管理操作"<<endl;</p><p> cout<<" 1 :商品管理 "<<" &quo
59、t;<<"2 :購物"<<endl;</p><p> cout<<" a :退出"<<endl;</p><p> cout<<"****************************************************************"&l
60、t;<endl;</p><p> cout<<"請選擇:";</p><p><b> }</b></p><p> void main()</p><p> { list *ptr;</p><p> set set1; ptr=&set
61、1;</p><p> list *ptr1;</p><p><b> set set2;</b></p><p> ptr1=&set2;</p><p> char ch1;char ch;float zonge=0;</p><p><b> inr();&l
62、t;/b></p><p><b> cin>>ch1;</b></p><p> while(ch1!='a'&&ch1!='a')</p><p><b> {</b></p><p> switch(ch1)</p
63、><p> {case '1':</p><p><b> ini();</b></p><p><b> cin>>ch;</b></p><p> while(ch!='q'&&ch!='Q')</p>
64、<p><b> {</b></p><p> switch( ch)</p><p><b> { </b></p><p> case '1':ptr->insert(); break;</p><p> case '2':int nu
65、m2;cout<<"請輸入你所需要刪除的商品代碼"<<endl;cin>>num2;</p><p> ptr->deletes(num2); </p><p><b> break;</b></p><p> case '3':cout<<&quo
66、t;請輸入你所要查找的商品的代碼"<<endl;int num3;cin>>num3;ptr->contain1(num3);break;</p><p> case '4':ptr->print();break;</p><p> case 'q':;</p><p><b&g
67、t; }</b></p><p><b> ini();</b></p><p><b> cin>>ch;</b></p><p><b> }break;</b></p><p> case '2': </p>
68、<p> ptr->print();</p><p><b> char ch2;</b></p><p> while(ch2!='b'&&ch2!='B')</p><p> {int num4;float weight;</p><p>
69、cout<<"請輸入你所要購買的商品的代碼"<<endl;</p><p> cin>>num4;</p><p> cout<<"請輸入你要購買的件數(shù)或重量"<<endl;</p><p> cin>>weight;</p><
70、p> shangpin *p;</p><p> p=ptr->chazhao(num4);</p><p> ptr1->insert1(p,weight);</p><p> zonge=zonge+(p->price)*weight;</p><p> cout<<"是否購物完畢?
71、"<<endl;</p><p> cout<<"如果購物完畢,請輸入** b **結(jié)束購物"<<endl;</p><p> cout<<"如果繼續(xù)購物,請隨機(jī)輸入一個字符,但不要輸入**b**或**B**"<<endl;</p><p> cin
72、>>ch2;}</p><p> cout<<"你購買的商品清單如下:"<<endl;</p><p> ptr1->print1();</p><p> ptr1->shanchu();</p><p> cout<<"你所要支付的總金額為:&
73、quot;<<zonge<<endl;</p><p><b> zonge=0;</b></p><p><b> break;</b></p><p> case 'a':;</p><p><b> }</b></p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)報告——《商品銷售管理》
- 課程設(shè)計(jì)--商品銷售管理系統(tǒng)
- 商品銷售管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)——商品房銷售管理系統(tǒng)
- 商品銷售課程教材
- 銷售管理系統(tǒng)c++課程設(shè)計(jì)
- 數(shù)據(jù)庫商品銷售管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)-商品管理系統(tǒng)
- c++課程設(shè)計(jì)---圖書銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報告---商品銷售管理系統(tǒng)
- c++課程設(shè)計(jì)報告-商品管理系統(tǒng)
- c++課程設(shè)計(jì)報告--超市商品管理系統(tǒng)
- c++語言課程設(shè)計(jì) ----學(xué)生成績統(tǒng)計(jì)
- c++課程設(shè)計(jì)報告
- c++課程設(shè)計(jì)ppt
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- 商品銷售系統(tǒng)畢業(yè)設(shè)計(jì)
- 串口通信c++課程設(shè)計(jì)
- c++掃雷課程設(shè)計(jì)報告
評論
0/150
提交評論