



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、北京聯(lián)合大學信息學院面向?qū)ο蟪绦蛟O(shè)計 實訓報告題目:模擬超市商品管理系統(tǒng)專業(yè):班級:學號:小組成員 :下載可編輯年月日目錄1 課程設(shè)計目的 12 程序要求與簡介13 系統(tǒng)分析 2 3.1 系統(tǒng)流程圖 23.2 主要類說明 34 測試運行的結(jié)果 45 心得體會 66 程序代碼清單 6一、課程設(shè)計目的通過設(shè)計一個較為簡單的商場庫存貨物管理系統(tǒng),進一步熟悉C+ 中類的概念、類的封裝 、繼承的實現(xiàn)方式 。 了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計 、模塊分析 、編碼測試 、模塊組裝與整體調(diào)試的全過程,加深對C+ 的理解與Visual C+ 環(huán)境的使用 ;逐步熟悉程序設(shè)計的方法,并養(yǎng)成良好的編程習慣。二、程序
2、要求與簡介設(shè)計并實現(xiàn)超市 進銷存 管理系統(tǒng) ,假設(shè)超市有三個貨架,分別放有日常用品、食品和家電 。本題要求完成以下內(nèi)容 :1. 實現(xiàn)描述 超市的類 。該類中要求包含三個函數(shù) :(1) 增加商品的函數(shù) (說明 :能增加新的商品 ,也能增加已有商品的數(shù).專業(yè) .整理 .下載可編輯量)。(2) 銷售函數(shù) ,按照商品名稱銷售 (要求:當商品現(xiàn)有數(shù)量少于賣出數(shù)量時,商品不能繼續(xù)賣出 ,并有相關(guān)信息顯示 )。(3) 按照商品名稱查詢商品基本情況的函數(shù) 。( 查詢結(jié)果包括基本屬性和現(xiàn)有數(shù)量 )。2. 定義商品類 作為基類 ,要求包含 :商品編號 ,名稱,商品現(xiàn)有數(shù)量 ,以及輸出函數(shù) (可定義為虛函數(shù) )。3
3、. 從商品類中派生 日用品類 ,食品類 ,家電類 。 其中,食品類商品擁有保質(zhì)期屬性 ,家電類商品擁有顏色屬性 (其他屬性可根據(jù)實際情況自行定義 )。 由輸出函數(shù)來具體顯示各類商品的名稱 、基本屬性和現(xiàn)有數(shù)量 。4. 設(shè)計簡單的菜單界面 ,實現(xiàn)上述所要求的各種功能 。 即根據(jù)菜單界面的選擇,對每一種商品都可以添加 、售出和查詢各類商品 。5. 程序應(yīng)采用多文件結(jié)構(gòu) 。6. (選做)重載輸入 “>> ”操作符 ,使得可以通過 cin 直接讀入上述商品對象的值。分工:商品基類 ,三個派生類 ,主函數(shù)三、系統(tǒng)分析1.系統(tǒng)流程圖.專業(yè) .整理 .下載可編輯超市商品管理系統(tǒng)增銷查退加售詢出商
4、商商系品品品統(tǒng)判定判定判定增增沒無商商輸加加有此品品出無已未可商數(shù)成商此有有用品量功品商商商空出不售信品品品間售足出息2.程序分析使用面向?qū)ο蟮某绦蛟O(shè)計進行分析,整個系統(tǒng)涉及兩大類可操作,超市所用函數(shù)、商品。所以系統(tǒng)主要涉及兩大類:超市的類 、商品類 。 系統(tǒng)框架就是超市的類和商品類的定義;主函數(shù)中定義一個超市對象,循環(huán)顯示主菜單并根據(jù)用戶選擇調(diào)用超市的類的相應(yīng)方法(成員函數(shù) )??紤]系統(tǒng)操作的商品信息具有不確定性,所以考慮使用鏈表保存、處理商品信息。超市類包含 :所有商品信息的一個不帶頭結(jié)點的鏈表及可以對商品信息進行增加 ,銷售,查詢操作的相關(guān)模塊為成員函數(shù)。所有商品都具有的公共信息.專業(yè)
5、.整理 .下載可編輯及操作可以使用超市類進行描述。由于系統(tǒng)具有 3 類商品且 3 類商品信息數(shù)據(jù) ,操作基本相同 ,所以可以為他們創(chuàng)立相同的類,并且采用繼承和派生 。四、測試運行結(jié)果1.超市商品管理系統(tǒng)界面2.商品增加3.商品查詢.專業(yè) .整理 .下載可編輯4.自動生成5.商品銷售.專業(yè) .整理 .下載可編輯五、心得體會通過學生的分組設(shè)計 ,使學生能夠基本掌握C+ 程序設(shè)計的方法 ,并且在此基礎(chǔ)上掌握類的構(gòu)造方法,明確類中構(gòu)造函數(shù)、成員函數(shù)的建立以及調(diào)用,靈活運用派生與繼承 。此外 ,并且,結(jié)合 C+ 中,字符串函數(shù)的編譯系統(tǒng)給定的庫函數(shù),采用一定的邏輯編譯,實現(xiàn)題目中要求的各項要求,達到基本
6、實驗?zāi)康?,提高自己?C+ 語言使用水平 。.專業(yè) .整理 .下載可編輯六、程序代碼清單#include <iostream>#include <iomanip> / setw()右對齊函數(shù)#include <string>using namespace std;class ShangPin /商品類private:char name10;int count;public:ShangPin(char* s_name,int s_count)strcpy(name,s_name);count=s_count;char* getName() return nam
7、e;int getCount() return count;void setCount(int a) count=a;void print()cout<<setw(10)<<name<<setw(10)<<count;.專業(yè) .整理 .下載可編輯;class YongPin : public ShangPin /日用品類public:YongPin(char* s_name="NONE",int s_count=0):ShangPin(s_name,s_count);void print()ShangPin:print();c
8、out<<endl;class ShiPin:public ShangPin /食品類private:int year;int moon;int day;public:ShiPin(char*s_name="NONE",ints_count=0,inta=0,intb=0,intc=0):ShangPin(s_name,s_count).專業(yè) .整理 .下載可編輯year=a;moon=b;day=c;int getYear() return year;int getMoon() return moon;int getDay() return day;void
9、print()ShangPin:print();cout<<setw(10)<<year<<setw(3)<<moon<<setw(3)<<day<<endl;class DianQi:public ShangPin /電器類private:char colour10;public:DianQi(char*s_name="NONE",intcount=0,char*s_colour="NONE"):ShangPin(s_name,count)strcpy(colour,s
10、_colour);char* gateColour() return colour;.專業(yè) .整理 .下載可編輯void print()ShangPin:print();cout<<setw(30)<<colour<<endl;int str(char* s1,char* s2) /判斷字符串內(nèi)容是否相同while(*s1=*s2)if(*s1='0') return 1;s1+;s2+;return 0;int main()YongPin yp10; /申請 10 組用日品類型的空間ShiPin sp10;DianQi dq10;int a
11、,b=1,i,count;.專業(yè) .整理 .下載可編輯char name10;while(1)cout<<"*歡迎來到超市商品管理系統(tǒng)!*"<<endl;cout<<"*1:增加*"<<endl;cout<<"*2:銷售*"<<endl;cout<<"*3:查詢*"<<endl;cout<<"*4:隨機*"<<endl;cout<<"*0:退出*"
12、;<<endl;cout<<"*"<<endl;cout<<"請輸入您的選擇:"cin>>a;switch(a)case 0: return 1; /退出程序case 1: / 增加cout<<"請輸入增加商品種類"<<endl;cout<<"1:日 用 品 "<<endl<<"2:食 品 "<<endl<<"3:電 器"<&l
13、t;endl;cin>>a;switch(a).專業(yè) .整理 .下載可編輯case 1: / 增加日用品cout<<"請按格式輸入:日用品名稱增加數(shù)量 "<<endl;cin>>name>>count;b=1;for(i=0;str(ypi.getName(),name)=0&&i<10;i+)/str(ypi.getName(),name)=0名稱是否不一樣if(str(ypi.getName(),"NONE")/str(ypi.getName(),"NONE&
14、quot;)名稱不存在ypi=YongPin(name,count);b=0;break;if(i=10) cout<<"空間已滿 ,無法存儲 ,"break;if(b)ypi.setCount(ypi.getCount()+count);cout<<setw(10)<<"名稱 "<<setw(10)<<"數(shù)量 "<<setw(15)<<"保質(zhì)期"<<setw(15)<<"顏色 "<
15、<endl;.專業(yè) .整理 .下載可編輯ypi.print();break;case 2: / 增加食品cout<<"請按格式輸入:食品名稱增加數(shù)量保質(zhì)期 (年 月 日 )"<<endl;int year,moon,day;cin>>name>>count>>year>>moon>>day;b=1;for(i=0;str(spi.getName(),"NONE")=0&&i<10;i+)if(str(spi.getName(),name)&am
16、p;&day=spi.getDay()&&year=spi.getYear()&&moon=spi.getMoon()spi.setCount(spi.getCount()+count);b=0;break;if(i=10) cout<<"空間已滿 ,無法存儲 ,"break;if(b)spi=ShiPin(name,count,year,moon,day);.專業(yè) .整理 .下載可編輯cout<<setw(10)<<"名稱 "<<setw(10)<<&q
17、uot;數(shù)量 "<<setw(15)<<"保質(zhì)期"<<setw(15)<<"顏色 "<<endl;spi.print();break;case 3: / 增加電器cout<<"請按格式輸入:電器名稱增加數(shù)量顏色 "<<endl;char colour10;cin>>name>>count>>colour;b=1;for(i=0;str(dqi.getName(),"NONE")=0&am
18、p;&i<10;i+)if(str(dqi.getName(),name)&&str(dqi.gateColour(),colour)dqi.setCount(dqi.getCount()+count);b=0;break;if(i=10) cout<<"空間已滿 ,無法存儲 ,"break;if(b).專業(yè) .整理 .下載可編輯dqi=DianQi(name,count,colour);cout<<setw(10)<<"名稱 "<<setw(10)<<"
19、數(shù)量 "<<setw(15)<<"保質(zhì)期"<<setw(15)<<"顏色 "<<endl;dqi.print();break;break;case 2: / 賣出cout<<"請 輸 入 賣 出 商 品 種 類 "<<endl<<"1:日 用 品 "<<endl<<"2:食 品"<<endl<<"3:電器 "<<
20、endl;cin>>a;switch(a)case 1: / 賣出日用品cout<<"請按格式輸入:日用品名稱賣出數(shù)量 "<<endl;cin>>name>>count;b=1;for(i=0;str(ypi.getName(),name)=0&&i<10;i+)if(str(ypi.getName(),"NONE").專業(yè) .整理 .下載可編輯cout<<"無此商品出售,"b=0;break;if(b)if(ypi.getCount()-c
21、ount)<0)cout<<ypi.getName()<<"還有 "<<ypi.getCount()<<"件 , 不夠出售 ,"break;ypi.setCount(ypi.getCount()-count);cout<<setw(10)<<"名稱 "<<setw(10)<<"數(shù)量 "<<setw(15)<<"保質(zhì)期 "<<setw(15)<<&q
22、uot;顏色 "<<endl;ypi.print();break;case 2: / 賣出食品cout<<"請按格式輸入:食品名稱賣出數(shù)量保質(zhì)期 (年 月 日 )"<<endl;int year,moon,day;.專業(yè) .整理 .下載可編輯cin>>name>>count>>year>>moon>>day;b=1;for(i=0;str(spi.getName(),"NONE")=0&&i<10;i+)if(str(spi.g
23、etName(),name)&&day=spi.getDay()&&year=spi.getYear()&&moon=spi.getMoon()if(spi.getCount()-count)<0)cout<<spi.getName()<<"還 有 "<<spi.getCount()<<"件,不夠出售 ,"b=0;break;spi.setCount(spi.getCount()-count);b=0;cout<<setw(10)<&l
24、t;"名稱"<<setw(10)<<"數(shù)量"<<setw(15)<<"保質(zhì)期 "<<setw(15)<<"顏色 "<<endl;spi.print();break;.專業(yè) .整理 .下載可編輯if(b)cout<<"無此商品出售,"break;case 3: / 賣出電器cout<<"請按格式輸入:電器名稱賣出數(shù)量顏色 "<<endl;char colour
25、10;cin>>name>>count>>colour;b=1;for(i=0;str(dqi.getName(),"NONE")=0&&i<10;i+)if(str(dqi.getName(),name)&&str(dqi.gateColour(),colour)if(dqi.getCount()-count)<0)cout<<dqi.getName()<<"還 有 "<<dqi.getCount()<<"件,不夠出
26、售 ,"b=0;break;.專業(yè) .整理 .下載可編輯dqi.setCount(dqi.getCount()-count);b=0;cout<<setw(10)<<"名稱"<<setw(10)<<"數(shù)量"<<setw(15)<<"保質(zhì)期 "<<setw(15)<<"顏色 "<<endl;dqi.print();break;if(b)cout<<"無此商品出售,"br
27、eak;break;case 3: / 查詢cout<<"請 選 擇 查 詢 商 品 種 類 "<<endl<<"1:日 用 品 "<<endl<<"2:食 品"<<endl<<"3:電器 "<<endl<<"4:全部 "<<endl;cin>>(a);switch(a)case 1: / 查詢?nèi)沼闷?專業(yè) .整理 .下載可編輯cout<<"日
28、 用 品 :"<<endl<<setw(10)<<"名 稱 "<<setw(10)<<"數(shù) 量"<<endl<<endl;for(i=0;str(ypi.getName(),"NONE")=0&&i<10;i+)ypi.print();break;case 2: / 查詢食品cout<<"食 品 :"<<endl<<setw(10)<<"名 稱
29、 "<<setw(10)<<"數(shù) 量"<<setw(15)<<"保質(zhì)期 "<<endl<<endl;for(i=0;str(spi.getName(),"NONE")=0&&i<10;i+)spi.print();break;case 3: / 查詢電器cout<<"電 器 :"<<endl<<setw(10)<<"名 稱 "<<se
30、tw(10)<<"數(shù) 量"<<setw(30)<<"顏色 "<<endl<<endl;for(i=0;str(dqi.getName(),"NONE")=0&&i<10;i+)dqi.print();.專業(yè) .整理 .下載可編輯break;case 4: / 查詢?nèi)縞out<<setw(10)<<"名稱 "<<setw(10)<<"數(shù)量 "<<setw(15)<<"保質(zhì)期"<<setw(15)<<"顏色 "<<endl<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品快速檢測技術(shù)(如熒光分子技術(shù))研究-洞察闡釋
- 深度學習在右外連接中的應(yīng)用-洞察闡釋
- 2023-2029年中國衛(wèi)星廣播電視信號接收行業(yè)市場全景評估及發(fā)展前景預測報告
- 2025年中國清酒行業(yè)市場調(diào)查研究及發(fā)展趨勢預測報告
- 2018-2024年中國干紫菜市場運營態(tài)勢分析及投資前景預測報告
- 2025年中國工業(yè)電爐行業(yè)市場深度分析及發(fā)展趨勢預測報告
- 中國印染用助劑行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告(2024-2030)
- 2025-2030年中國長途大客車行業(yè)深度研究分析報告
- 2025年中國力學環(huán)境試驗設(shè)備行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 2025年護士長團隊建設(shè)述職報告范文
- (完整版)python學習課件
- 高鈉血癥護理查房
- 小學數(shù)學練習設(shè)計的有效性研究結(jié)題報告
- DL∕T 5776-2018 水平定向鉆敷設(shè)電力管線技術(shù)規(guī)定
- 汕頭市龍湖區(qū)2021年教師招聘《教育公共知識》試題及答案
- 浙江溫州十校2023至2024學年高二下學期6月期末聯(lián)考化學試題附參考答案(解析)
- 語文-山東省淄博市2023-2024學年高二下學期7月期末教學質(zhì)量檢測試題和答案
- 湖南省婁底市漣源市2023-2024學年六年級下學期6月期末英語試題
- 上海市徐匯區(qū)市級名校2025屆物理高一第二學期期末考試模擬試題含解析
- 天一大聯(lián)盟2024屆高一數(shù)學第二學期期末統(tǒng)考試題含解析
- 【語文】西安外國語大學附屬小學(雁塔區(qū))小學五年級下冊期末試卷(含答案)
評論
0/150
提交評論