![C++課程設計-商品管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f6/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f61.gif)
![C++課程設計-商品管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f6/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f62.gif)
![C++課程設計-商品管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f6/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f63.gif)
![C++課程設計-商品管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f6/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f64.gif)
![C++課程設計-商品管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f6/7a5730ef-ab8b-48cd-bb53-a8e4d49d55f65.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.淮 海 工 學 院 計 算 機 工 程 學 院課程設計報告設計名稱: C+程序設計課程設計 姓 名: 學 號: 專業(yè)班級: 系 院: 設計時間: 設計地點: 成績:指導教師評語: 簽名: 年 月 日學習文檔 僅供參考1、課程設計目的 C+程序設計課程設計是電腦科學與技術專業(yè)重要的實踐性教學環(huán)節(jié)之一,本次設計結合實際應用的要求,使課程設計既覆蓋C+的知識點,又接近工程實際需要。目的是通過課程設計的綜合訓練,培養(yǎng)學生實際分析問題、解決問題的能力,以及編程和動手能力,最終目標是通過課程設計這種形式,幫助學生系統(tǒng)掌握C+程序設計這門課程的主要內容,養(yǎng)成良好的編程習慣,更好的完成教學任務。2、課程設計
2、任務與要求:本次課程設計利用C+程序設計課程中所學到的編程知識和編程技巧,完成具有一定難度和工作量的程序設計題目,幫助學生掌握編程、調試的基本技能,獨立完成所布置的任務。要求:1、對系統(tǒng)進行功能需求分析2、設計合理的數(shù)據(jù)結構和系統(tǒng)框架3、編程簡練,程序功能齊全,能正確運行4、說明書、流程圖要清楚5、課題完成后必須按要求提交課程設計報告任務:設計一個商品銷售管理系統(tǒng)。運用C+語言描述商品類、供給商類。要求設計中綜合運用C+基礎知識,利用指針對商品、供給商鏈表進行處理,方便快捷的進行增刪改,充分利用友元來處理兩個類之間的關系,理解面向對象程序設計的核心的概念。實現(xiàn)功能:1建立商品類、供給商類2商品
3、、供給商信息的初始化3商品信息的添加、修改、刪除、 查找4供給商信息的添加、修改、刪除、查找5商品信息、供給商信息的輸出備注:將商品、供給商保存為文件,能夠寫入與讀出。概要設計(1) 需求分析:要實現(xiàn)對商品,供給商信息的添加、修改、刪除、查找,并輸出信息,能夠方便快捷,并有用戶能詳細清楚的操作指南。2模塊說明:本次程序設計中,需要設計10個模塊,分別是添加、修改、刪除、查找、輸出商品信息和供給商信息,一共4個類:分別是商品類、商品數(shù)據(jù)類、供給商類、供給商數(shù)據(jù)類。通過幾個switch語句實現(xiàn)用戶選擇功能。主要函數(shù)流程圖:3詳細設計 商品數(shù)據(jù)類的設計class spData private: ch
4、ar name100;int count;float iprice;float oprice; char gys20;public: int id;int getId()char *getName()int getCount()float getBuy() float getSale()char *getGys()void setId(int n)void setName(char na)void setCount(int c)void setBuy(float i)void setSale(float o) void setGys(char g);商品類的設計class Commodity
5、private:spData t50; int n;public:void newFile()int id;int n;char name50; int count;float iprice;float oprice; char gys20;if(n0) n=0; int i;spData temp; for(;n+)coutid;if(id=-1)break;tn.setId(id);coutname;tn.setName(name);coutcount;tn.setCount(count);coutiprice;tn.setBuy(iprice);coutoprice;tn.setSale
6、(oprice);coutgys;tn.setGys(gys); cout假設商品添加完畢,請按-1退出添加!endl;for(i=0;itn.getId()temp=ti;ti=tn;tn=temp;void showData(int i)spData t,*p;p=&t;coutgetId()setw(10)getName()setw(10)getCount()setw(8)getBuy()setw(8)getSale()setw(8)getGys()endl;void showData() int n;cout商品編號setw(8)商品名setw(8)庫存量setw(10)已售量setw
7、(10)進價setw(8)售價setw(8)供給商endl;for(int i=0;i0 )showData(i);cout商品種類:nendl;void save() ofstream fout;fout.open(商品清單.txt,ios:app); if(!fout)coutcannot open the file!endl;return ;fout商品編號 商品名 庫存量 進價 售價 供給商 endl;for(int i=0;in;i+) foutti.getId()setw(14)ti.getName()setw(10)ti.getCount()setw(10)ti.getBuy()
8、setw(10)ti.getSale()setw(10)ti.getGys()endl;cout*Save Success!*endl;fout.close(); void xiugai() int count; char name100;float iprice;float oprice; char gys20;int temp;temp=search();if(temp=-1)coutcannot find the shopping!endl;return;else cout請輸入新數(shù)據(jù):endl;coutname;ttemp.setName(name);coutcount;ttemp.s
9、etCount(count);coutiprice;ttemp.setBuy(iprice);coutoprice;ttemp.setSale(oprice);coutgys;ttemp.setGys(gys);int search() int id;coutid;int low=0,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1; void remove() spData t10; cout請輸入要刪除的商品編號id; fstream file(商品清單.txt,ios:in|ios:out|ios:binary);f
10、or(int u=0;u5;u+)file.read(char*)&tu,sizeof(tu);for(int v=0;v5;v+) if(tv.id=id)continue;elsefile.write(char*)&tv,sizeof(tv);cout該商品被刪除endl;file.close();供給商數(shù)據(jù)類的設計class spData private: char name100;int count;float iprice;float oprice; char gys20;public: int id;int getId()char *getName(char na)int getC
11、ount()float getBuy() float getSale()char *getGys()void setId(int n)void setName(char na)void setCount(int c)void setBuy(float i)void setSale(float o) void setGys(char g);供給商類的設計class gongyingshang private:gysData t50; int n; public:void newFile() int id;char name50;int phone;if(n0) n=0; for(;n+) cou
12、tid;if(id=-1)break;tn.setid();cout供給商名稱:;tn.setname(name);cout供給商 :;tn.setphone( ); cout假設供給商添加完畢,請按-1退出添加!endl;void showData(int i)gysData t,*p;p=&t;coutsetw(8)getid()setw(10)getname()setw(10)getphone()endl;void showData()coutsetw(8)供給商編號setw(8)供給商名稱setw(8)供給商 endl;for(int i=0;in;i+)showData(i);cou
13、t產(chǎn)品種類:nendl;void save()ofstream fout;fout.open(供給商.txt,ios:app); if(!fout)coutcannot open the file!endl;return ;fout供給商編號 供給商 供給商 號 endl;for(int i=0;in;i+) foutti.getid()setw(10)ti.getname()setw(14)ti.getphone()endl;cout*Save Success!*endl;fout.close(); int search() int id;coutid;int low=0,mid,high=
14、n-1;while(lowid)high=mid-1;else low=mid+1;return -1; void xiugai() char name100; int phone;int temp;temp=search();if(temp=-1)coutcannot find the gys!endl;return;else cout請輸入新數(shù)據(jù):endl;coutname;ttemp.setname(name);coutphone;ttemp.setphone(); void remove() gysData g10; cout請輸入要刪除的供給商編號id; fstream file(g
15、ys.txt,ios:in|ios:out|ios:binary);for(int u=0;u5;u+)file.read(char*)&gu,sizeof(gu);for(int v=0;v5;v+) if(gv.id=id)continue;elsefile.write(char*)&gv,sizeof(gv);cout該供給商被刪除endl;file.close();菜單函數(shù)的設計inline void menu2()system(cls);cout *歡送使用商品銷售管理系統(tǒng)* endl;cout *商品選項* endl;cout (1)添加 endl;cout (2)保存 endl;
16、cout (3)刪除 endl;cout (4)查找 endl; cout (5)信息輸出 endl; cout (6)修改 endl;cout (7)菜單 endl;cout (0)退出系統(tǒng) endl;cout *2012.6* endl; inline void menu1()system(cls); cout *歡送使用商品銷售管理系統(tǒng)* endl;cout *主菜單* endl;cout (1)商品選項 endl;cout (2)供給商選項 endl;cout (0)退出系統(tǒng) endl;cout *2012.6* endl; inline void menu3()system(cls)
17、;cout *歡送使用商品銷售管理系統(tǒng)* endl;cout *供給商選項* endl;cout (1)添加 endl;cout (2)保存 endl; cout (3)刪除 endl;cout (4)查找 endl; cout (5)信息輸出 endl; cout (6)修改 endl;cout (7)菜單 endl; cout (0)退出系統(tǒng) endl;cout *2012.6* endl;主函數(shù)的設計:int main()menu1();int x;coutx;switch(x)case 1:menu2();Commodity com;int c;for(;)coutc;switch(c
18、)case 1:com.newFile();break;case 2:com.save();break;case 3:com.remove();break; case 4:com.search;break; case 5:com.showData();break; case 6:menu1();break;case 0:cout *謝謝使用* endl;cout *!再見!* endl; break;case 2:menu3();gongyingshang gys;int c;for(;)coutc;switch(c)case 1:gys.newFile();break;case 2:gys.
19、save();break; case 3:gys.remove();break; case 4:gys.showData();break; case 5:gys.search();break;case 6:menu1();break;case 0:cout *謝謝使用* endl;cout *!再見!* endl; break;case 0:cout *謝謝使用* endl;cout *!再見!* endl; break;return 0;4調試分析:F:程序3.cpp(226) : warning C4700: local variable n used without having bee
20、n initializedF:程序3.cpp(246) : warning C4700: local variable c1 used without having been initializedF:程序3.cpp(348) : warning C4700: local variable g1 used without having been initializedC:Documents and SettingsAdministrator桌面q.cpp(237) : error C2562: search : void function returning a value C:Documen
21、ts and SettingsAdministrator桌面q.cpp(228) : see declaration of searchC:Documents and SettingsAdministrator桌面q.cpp(243) : error C2562: search : void function returning a value C:Documents and SettingsAdministrator桌面q.cpp(228) : see declaration of search(5)用戶使用說明手冊:1.進入演示程序后,即顯示對話形式的提示操作過程: 如第一個選擇1 商品選
22、項 ,即顯示 1添加 2保存 3刪除 4查找 5信息輸出6修改 7菜單 0退出系統(tǒng) 選擇1,即顯示商品編號、商品名、庫存量、進價、售價、供給商各項商品信息,一次輸入所添加的數(shù)據(jù)。添加完畢,按-1退出添加;選擇2,即將商品信息保存;選擇3,刪除要刪除的商品信息;選擇4,查找商品信息;選擇5,信息的輸出;選擇6,修改信息選擇7,返回到菜單;選擇0,退出系統(tǒng)。如第一個選擇2,供給商選項 ,同樣顯示 1添加 2保存 3刪除 4查找 5信息輸出6修改 7菜單 0退出系統(tǒng) 選擇數(shù)據(jù)的功能跟上面一樣。第一個選擇0 退出系統(tǒng)。6測試數(shù)據(jù)進入演示程序后,即顯示對話形式的提示操作過程:選擇:1 商品選項選擇:1
23、添加商品選擇:2 保存信息選擇:3 刪除信息選擇:4 查找信息選擇:5 信息輸出選擇:6 修改選擇:0 退出系統(tǒng)選擇:2 供給商選項供給商信息的各選項跟商品信息的選項一樣。4課程設計成果程序源代碼#include#include#include#include #define Mfname 100#include #include #include #includeclass spData private: char name100;int count;float iprice;float oprice; char gys20;public: int id;int getId()return
24、id;char *getName()return name;int getCount()return count;float getBuy()return iprice; float getSale()return oprice;char *getGys()return gys;void setId(int n)id=n;void setName(char na)strcpy(name,na);void setCount(int c)count=c; void setBuy(float i)iprice=i;void setSale(float o)oprice=o; void setGys(
25、char g) strcpy(gys,g);class gysDataprivate:char name100;int phone;public: int id;int getid()return id;char *getname()return name;int getphone()return phone;void setid()cinid;void setname(char na)strcpy(name,na);void setphone()cinphone;class Commodity private:spData t50; int n;public:void newFile()in
26、t id;int n;char name50; int count;float iprice;float oprice; char gys20;if(n0) n=0; int i;spData temp; for(;n+)coutid;if(id=-1)break;tn.setId(id);coutname;tn.setName(name);coutcount;tn.setCount(count);coutiprice;tn.setBuy(iprice);coutoprice;tn.setSale(oprice);coutgys;tn.setGys(gys); cout假設商品添加完畢,請按-
27、1退出添加!endl;for(i=0;itn.getId()temp=ti;ti=tn;tn=temp;void showData(int i)spData t,*p;p=&t;coutgetId()setw(10)getName()setw(10)getCount()setw(8)getBuy()setw(8)getSale()setw(8)getGys()endl;void showData() int n;cout商品編號setw(8)商品名setw(8)庫存量setw(10)已售量setw(10)進價setw(8)售價setw(8)供給商endl;for(int i=0;i0 )sho
28、wData(i);cout商品種類:nendl;void save() ofstream fout;fout.open(商品清單.txt,ios:app); if(!fout)coutcannot open the file!endl;return ;fout商品編號 商品名 庫存量 進價 售價 供給商 endl;for(int i=0;in;i+) foutti.getId()setw(14)ti.getName()setw(10)ti.getCount()setw(10)ti.getBuy()setw(10)ti.getSale()setw(10)ti.getGys()endl;cout*
29、Save Success!*endl;fout.close(); void xiugai() int count; char name100;float iprice;float oprice; char gys20;int temp;temp=search();if(temp=-1)coutcannot find the shopping!endl;return;else cout請輸入新數(shù)據(jù):endl;coutname;ttemp.setName(name);coutcount;ttemp.setCount(count);coutiprice;ttemp.setBuy(iprice);co
30、utoprice;ttemp.setSale(oprice);coutgys;ttemp.setGys(gys);int search() int id;coutid;int low=0,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1; void remove() spData t10; cout請輸入要刪除的商品編號id; fstream file(商品清單.txt,ios:in|ios:out|ios:binary);for(int u=0;u5;u+)file.read(char*)&tu,sizeof(tu);f
31、or(int v=0;v5;v+) if(tv.id=id)continue;elsefile.write(char*)&tv,sizeof(tv);cout該商品被刪除endl;file.close();class gongyingshang private:gysData t50; int n; public:void newFile() int id;char name50;int phone;if(n0) n=0; for(;n+) coutid;if(id=-1)break;tn.setid();cout供給商名稱:;tn.setname(name);cout供給商 :;tn.setphone( ); cout假設供給商添加完畢,請按-1退出添加!endl;void showData(int i)gysData t,*p;p=&t;coutsetw(8)getid()setw(10)getname()setw(10)getphone()endl;void showData()coutsetw(8)供給商編號setw(8)供給商名稱setw(8)供給商 endl;for(int i=0;in;i+)showData(i);cout產(chǎn)品種類:nendl;void save
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《11 剪紙花邊》 說課稿-2024-2025學年科學一年級上冊湘科版
- 12在天晴了的時候(說課稿)-2024-2025學年語文四年級下冊統(tǒng)編版
- Unit1 The mass media Integrated skills (1) 說課稿-2024-2025學年高中英語牛津譯林版(2020)選擇性必修第二冊
- 2024秋七年級英語上冊 Unit 6 Do you like bananas Period 4 Section B (2a-Self Check)說課稿(新版)人教新目標版
- 14《金屬》 (說課稿) 2023-2024學年三年級下冊科學 蘇教版001
- 6《紀念劉和珍君》《 為了忘卻的紀念》(說課稿)-2024-2025學年高二語文選擇性必修中冊同步備課系列(說課稿+說課稿)(統(tǒng)編版2019)
- 12《盤古開天地》說課稿-2024-2025學年語文四年級上冊統(tǒng)編版
- Unit4 Feelings Let's Check(說課稿)-2024-2025學年人教新起點版英語六年級上冊
- 2024秋七年級數(shù)學上冊 第四章 幾何圖形初步4.1 幾何圖形 2從不同的方向看立體圖形說課稿(新版)新人教版
- Unit 3 The world meets China Project 說課稿 -2023-2024學年高二英語外研版(2019)選擇性必修第四冊
- 小學數(shù)學分數(shù)四則混合運算300題帶答案
- 2024年考研(英語一)真題及參考答案
- 林下野雞養(yǎng)殖建設項目可行性研究報告
- 心肺復蘇術課件2024新版
- 苜蓿青貯料質量分級DB41-T 1906-2019
- 新鮮牛肉購銷合同模板
- 2024年內蒙古呼和浩特市中考文科綜合試題卷(含答案)
- 燒烤店選址標準
- 大型商場招商招租方案(2篇)
- 會陰擦洗課件
- 2024年交管12123學法減分考試題庫和答案
評論
0/150
提交評論