C++課程設(shè)計-商品管理系統(tǒng)_第1頁
C++課程設(shè)計-商品管理系統(tǒng)_第2頁
C++課程設(shè)計-商品管理系統(tǒng)_第3頁
C++課程設(shè)計-商品管理系統(tǒng)_第4頁
C++課程設(shè)計-商品管理系統(tǒng)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C+課程設(shè)計 - 商品管理系統(tǒng).淮 海 工 學(xué) 院 計 算 機 工 程 學(xué) 院課程設(shè)計報告設(shè)計名稱:C+ 程序設(shè)計課程設(shè)計姓名:學(xué)號:專業(yè)班級:系 (院):設(shè)計時間:設(shè)計地點:指導(dǎo)教師評語:成績:簽名:年月日C+程序設(shè)計課程設(shè)計報告第 3頁,共50頁1、課程設(shè)計目的C+ 程序設(shè)計課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)重要的實踐性教學(xué)環(huán)節(jié)之一,本次設(shè)計結(jié)合實際應(yīng)用的要求,使課程設(shè)計既覆蓋C+ 的知識點,又接近工程實際需要。目的是通過課程設(shè)計的綜合訓(xùn)練,培養(yǎng)學(xué)生實際分析問題、解決問題的能力,以及編程和動手能力,最終目標是通過課程設(shè)計這種形式, 幫助學(xué)生系統(tǒng)掌握C+ 程序設(shè)計這門課程的主要內(nèi)容,養(yǎng)成良好的編

2、程習(xí)慣,更好的完成教學(xué)任務(wù)。2、課程設(shè)計任務(wù)與要求:C+程序設(shè)計課程設(shè)計報告第 4頁,共50頁本次課程設(shè)計利用 C+ 程序設(shè)計課程中所學(xué)到的編程知識和編程技巧, 完成具有一定難度和工作量的程序設(shè)計題目,幫助學(xué)生掌握編程、調(diào)試的基本技能,獨立完成所布置的任務(wù)。要求:1、對系統(tǒng)進行功能需求分析2、設(shè)計合理的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)框架3、編程簡練,程序功能齊全,能正確運行4、說明書、流程圖要清楚5、課題完成后必須按要求提交課程設(shè)計報告任務(wù):設(shè)計一個商品銷售管理系統(tǒng)。運用 C+ 語言描述商品類、 供應(yīng)商類。要求設(shè)計中綜合運用 C+ 基礎(chǔ)知識,利用指針對商品、 供應(yīng)商鏈表進行處理,方便快捷的進行增刪改,充分利用

3、友元來處理兩個類之間的關(guān)系,理解面向?qū)ο蟪绦蛟O(shè)計的核心的概念。實現(xiàn)功能:( 1)建立商品類、供應(yīng)商類( 2)商品、供應(yīng)商信息的初始化( 3)商品信息的添加、修改、刪除、 查找( 4)供應(yīng)商信息的添加、修改、刪除、查找( 5)商品信息、供應(yīng)商信息的輸出C+程序設(shè)計課程設(shè)計報告第 5頁,共50頁備注:將商品、供應(yīng)商保存為文件,能夠?qū)懭肱c讀出。C+程序設(shè)計課程設(shè)計報告第 6頁,共50頁概要設(shè)計( 1) 需求分析:要實現(xiàn)對商品,供應(yīng)商信息的添加、修改、刪除、查找,并輸出信息,能夠方便快捷,并有用戶能詳細清楚的操作指南。( 2)模塊說明:本次程序設(shè)計中,需要設(shè)計 10 個模塊,分別是添加、修改、刪除、查

4、找、輸出商品信息和供應(yīng)商信息,一共 4 個類:分別是商品類、商品數(shù)據(jù)類、供應(yīng)商類、供應(yīng)商數(shù)據(jù)類。 通過幾個 switch 語句實現(xiàn)用戶選擇功能。主要函數(shù)流程圖:C+程序設(shè)計課程設(shè)計報告第 7頁,共50頁( 3)詳細設(shè)計商品數(shù)據(jù)類的設(shè)計class spDataprivate:charname100;C+程序設(shè)計課程設(shè)計報告第 8頁,共50頁intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()char *getName()int getCount()float getBuy()float getSale()char

5、*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);商品類的設(shè)計class Commodityprivate:C+程序設(shè)計課程設(shè)計報告第 9頁,共50頁spData t50;int n;public:void newFile()intid;int n;charname50;intcount;float iprice;float oprice;chargys20;if(n0)n=0;int i;

6、spData temp;for(;n+)coutid;if(id=-1)break;C+程序設(shè)計課程設(shè)計報告第 10頁,共50頁tn.setId(id);coutname;tn.setName(name);coutcount;tn.setCount(count);coutiprice;tn.setBuy(iprice);coutoprice;tn.setSale(oprice);coutgys;tn.setGys(gys);cout 若商品添加完畢,請按-1 退出添加 !endl;C+程序設(shè)計課程設(shè)計報告第 11頁,共50頁for(i=0;itn.getId()temp=ti;ti=tn;tn

7、=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()C+程序設(shè)計課程設(shè)計報告第12頁,共50頁int n;cout 商品編號 setw(8) 商品名 setw(8) 庫存量 setw(10) 已售量setw(10) 進價 setw(8)setw(8)售價 供應(yīng)商endl;for(int i=0;i0 )showData(i);cout商品

8、種類:nendl;void save()ofstream fout;fout.open( 商品清單if(!fout).txt,ios:app);coutcannot open the file!endl; return ;fout商 品 編 號商 品 名C+程序設(shè)計課程設(shè)計報告第13頁,共50頁庫存量 進價供應(yīng)商 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

9、;cout*SaveSuccess!*endl;fout.close();void xiugai()intcount;charname100;floatiprice;floatoprice;chargys20;int temp;temp=search();if(temp=-1)C+程序設(shè)計課程設(shè)計報告第 14頁,共50頁coutcannot find the shopping!endl; return;elsecout 請輸入新數(shù)據(jù) :endl;coutname;ttemp.setName(name);coutcount;ttemp.setCount(count);coutiprice;tte

10、mp.setBuy(iprice);coutoprice;ttemp.setSale(oprice);coutgys;C+程序設(shè)計課程設(shè)計報告第 15頁,共50頁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;fstreamfile(商品清單 .txt,ios:in|ios:out|ios:binary); for(in

11、t 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();供應(yīng)商數(shù)據(jù)類的設(shè)計class spDataprivate:C+程序設(shè)計課程設(shè)計報告第 17頁,共50頁charname100;intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()char *getName(char

12、 na)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);供應(yīng)商類的設(shè)計class gongyingshangC+程序設(shè)計課程設(shè)計報告第 18頁,共50頁private:gysData t50;intn;public:void newFile() int id;charname50;int pho

13、ne;if(n0)n=0;for(;n+)coutid;if(id=-1)break;tn.setid();cout 供應(yīng)商名稱 :;tn.setname(name);cout 供應(yīng)商電話 :;C+程序設(shè)計課程設(shè)計報告第 19頁,共50頁tn.setphone( );cout 若供應(yīng)商添加完畢,請按-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) 供應(yīng)商編號 setw(8)

14、 供應(yīng)商名稱 setw(8) 供應(yīng)商電話 endl;for(int i=0;in;i+)C+程序設(shè)計課程設(shè)計報告第 20頁,共50頁showData(i);cout 產(chǎn)品種類 :nendl;void save()ofstream fout;fout.open( 供應(yīng)商 .txt,ios:app);if(!fout)coutcannot open the file!endl; return ;fout供應(yīng)商編號供應(yīng)商姓名 供應(yīng)商手機號 endl; for(int i=0;in;i+)foutti.getid()setw(10)ti.getname()setw(14)ti.getphone()en

15、dl;cout*SaveSuccess!*endl;fout.close();C+程序設(shè)計課程設(shè)計報告第 21頁,共50頁intsearch() int id; coutid;int low=0,mid,high=n-1; while(lowid) high=mid-1;else low=mid+1;return -1;void xiugai()charname100;int phone;int temp;C+程序設(shè)計課程設(shè)計報告第 22頁,共50頁temp=search();if(temp=-1)coutcannot find the gys!endl; return;elsecout 請輸

16、入新數(shù)據(jù) :endl;coutname;ttemp.setname(name);coutphone;ttemp.setphone();void remove() gysData g10;cout 請輸入要刪除的供應(yīng)商編號id;fstream file(gys.txt,ios:in|ios:out|ios:binary); for(int u=0;u5;u+)C+程序設(shè)計課程設(shè)計報告第 23頁,共50頁file.read(char*)&gu,sizeof(gu); for(int v=0;v5;v+) if(gv.id=id)continue;elsefile.write(char*)&gv,s

17、izeof(gv);cout 該供應(yīng)商被刪除 endl;file.close();菜單函數(shù)的設(shè)計inline void menu2()system(cls);cout*歡迎使用商品銷售管理系統(tǒng)*endl;cout*商 品選 項 *endl;cout(1) 添 加endl;C+程序設(shè)計課程設(shè)計報告第24頁,共50頁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;inline

18、 void menu1()system(cls);cout*endl;cout*歡迎 使用 商品銷售 管理系統(tǒng)*主 菜 單 *C+程序設(shè)計課程設(shè)計報告第25頁,共50頁endl;cout(1) 商 品 選 項endl;cout(2) 供 應(yīng) 商 選 項endl;cout(0) 退 出 系 統(tǒng)endl;cout*2012.6*endl;inline void menu3()system(cls);cout*歡迎使用商品銷售管理系統(tǒng)*endl;cout*供應(yīng)商選項*endl;cout(1) 添 加endl;cout(2) 保 存endl;cout(3) 刪 除endl;C+程序設(shè)計課程設(shè)計報告第

19、26頁,共50頁cout(4) 查 找endl;cout(5) 信 息 輸 出endl;cout(6) 修 改endl;cout(7) 菜 單endl;cout(0) 退 出 系 統(tǒng)endl;cout*2012.6*endl;主函數(shù)的設(shè)計:int main()menu1();int x;coutx;switch(x)C+程序設(shè)計課程設(shè)計報告第 27頁,共50頁case 1:menu2();Commodity com;int c;for(;)coutc;switch(c)case 1:com.newFile();break;case 2:com.save();break;case 3:com.r

20、emove();break;case 4:com.search;break;case 5:com.showData();break;case 6:menu1();break;case 0:cout*謝 謝 使 用*endl;cout*!再見!*endl;C+程序設(shè)計課程設(shè)計報告第 28頁,共50頁break;case 2:menu3();gongyingshang gys;int c;for(;)coutc;switch(c)case 1:gys.newFile();break;case 2:gys.save();break;case 3:gys.remove();break;case 4:g

21、ys.showData();break;case 5:gys.search();break;case 6:menu1();break;C+程序設(shè)計課程設(shè)計報告第29頁,共50頁case 0:cout*謝 謝 使 用*endl;cout*!再見!*endl;break;case 0:cout*謝 謝使 用*endl;cout*!再 見 !*endl;break;return 0;(4)調(diào)試分析:C+程序設(shè)計課程設(shè)計報告第 30頁,共50頁程序 3.cpp(226) : warning C4700: local variable n used without having been initial

22、ized程序 3.cpp(246) : warning C4700: local variable c1 used without having been initialized程序 3.cpp(348) : warning C4700: local variable g1 used without having been initialized桌面 q.cpp(237) : error C2562: search :void function returning a value桌面 q.cpp(228) :see declarationofsearch桌面 q.cpp(243) : erro

23、r C2562: search :void function returning a value桌面 q.cpp(228) :see declarationofsearch (5)用戶使用說明手冊:1.進入演示程序后,即顯示對話形式的提示操作過程:如第一個選擇 1 商品選項 ,即顯示 (1)添加 (2)保存 (3)刪除 (4)查找 (5)信息輸出(6)修改(7)菜單(0)退出系統(tǒng)選擇 1,即顯示商品編號、商品名、庫存量、進價、售價、供應(yīng)商各項商品信息, 一次輸入所添加的數(shù)據(jù)。 添加完畢,按-1 退出添加;選擇 2,即將商品信息保存;選擇 3,刪除要刪除的商品信息;選擇 4,查找商品信息;選擇

24、5,信息的輸出;選擇 6,修改信息選擇 7,返回到菜單;選擇 0,退出系統(tǒng)。C+程序設(shè)計課程設(shè)計報告第 31頁,共50頁如第一個選擇 2,供應(yīng)商選項 ,同樣顯示 (1)添加 (2)保存 (3)刪除 (4)查找 (5)信息輸出(6)修改 (7)菜單 (0)退出系統(tǒng)選擇數(shù)據(jù)的功能跟上面一樣。第一個選擇 0 退出系統(tǒng)。( 6)測試數(shù)據(jù)進入演示程序后,即顯示對話形式的提示操作過程:選擇: 1商品選項選擇: 1添加商品C+程序設(shè)計課程設(shè)計報告第 32頁,共50頁選擇: 2保存信息選擇: 3刪除信息選擇: 4查找信息選擇: 5信息輸出選擇: 6修改C+程序設(shè)計課程設(shè)計報告第 33頁,共50頁選擇: 0 退

25、出系統(tǒng)選擇: 2供應(yīng)商選項供應(yīng)商信息的各選項跟商品信息的選項一樣。C+程序設(shè)計課程設(shè)計報告第 34頁,共50頁4課程設(shè)計成果程序源代碼#include#include#include#include#define Mfname 100#include#include#include#includeclass spDataprivate:charname100;intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()return id;char *getName()return name;int getCount()r

26、eturn count;float getBuy()C+程序設(shè)計課程設(shè)計報告第 35頁,共50頁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(char g)strcpy(gys,g);class

27、 gysDataC+程序設(shè)計課程設(shè)計報告第 36頁,共50頁private: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 Commodityprivate:spData t50;int n;public:C+程序設(shè)計課程設(shè)計報告第 37頁,共50頁vo

28、id newFile()intid;int n;charname50;intcount;float iprice;float oprice;chargys20;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);C+程序設(shè)計課程設(shè)計報告第 38頁,共50頁coutgys;tn.se

29、tGys(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(10) 進價 setw(

30、8) 售價 setw(8) 供應(yīng)商 endl;for(int i=0;i0 )C+程序設(shè)計課程設(shè)計報告第 39頁,共50頁showData(i);cout 商品種類 :nendl;void save()ofstream fout;fout.open( 商品清單 .txt,ios:app); if(!fout)coutcannot open the file!endl; return ; 商 品 名 fout 商 品 編 號 庫存量 進價 售價 供應(yīng)商 endl;for(int i=0;in;i+)foutti.getId()setw(14)ti.getName()setw(10)ti.getC

31、ount()setw(10)ti.getBuy()setw(10)ti.getSale()setw(10)ti.getGys()endl;cout*SaveSuccess!*endl;fout.close();void xiugai()intcount;charname100;floatiprice;floatoprice;chargys20;int temp;temp=search();if(temp=-1)coutcannot find the shopping!endl;C+程序設(shè)計課程設(shè)計報告第 40頁,共50頁return;else cout 請輸入新數(shù)據(jù) :endl; coutna

32、me;ttemp.setName(name);coutcount;ttemp.setCount(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;C+程序設(shè)計課程設(shè)計報告第 41頁,共50頁return -1;void remove() spData t10;cout 請輸

33、入要刪除的商品編號 id;file(fstream商品清單 .txt,ios:in|ios:out|ios:binary);for(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();class gongyingshangprivate:gysData t50;intn;public:void newFile() int id;charname50;int phone;if(n0)n=0;for(;n+)C+程序設(shè)計課程設(shè)計報告第 42頁,共50頁coutid;if(id=-1)break;tn.setid();cout 供應(yīng)商名稱 :;tn.setname(name);cout 供應(yīng)商電話 :;tn.setphone( );cout 若供應(yīng)商

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論