C語言課程設計報告銷售管理系統(tǒng)設計_第1頁
C語言課程設計報告銷售管理系統(tǒng)設計_第2頁
C語言課程設計報告銷售管理系統(tǒng)設計_第3頁
C語言課程設計報告銷售管理系統(tǒng)設計_第4頁
C語言課程設計報告銷售管理系統(tǒng)設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1設計內(nèi)容1、程序設計(包括框圖設計、源程序編輯、編譯、調(diào)試)2、對問題有完整的分析過程,要求把分析設計過程寫入報告3、編寫設計報告本程序設計的主要內(nèi)容:11銷售管理系統(tǒng)該系統(tǒng)是一個銷售管理系統(tǒng),即對某公司有四個銷售員(編號:1-4),負責銷售五種產(chǎn)品(編號:1-5)進行合理管制。每個銷售員都將當天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:1)銷售員的代號2)產(chǎn)品的代號3)這種產(chǎn)品的當天的銷售額每位銷售員每天可能上繳0-5張便條。假設,收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售情況(自己設定),進行如下處理。1)計算上個月每個人每種產(chǎn)品的銷售額。2)按銷售額對銷售員

2、進行排序,輸出排序結(jié)果(銷售員代號)3)統(tǒng)計每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號和銷售額)4)輸出統(tǒng)計報表2設計目的與要求2.1設計目的1.進一步掌握運用c進行程序設計的能力;3.進一步理解和運用面向過程程序設計的思想和方法;3.初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;4.學會調(diào)試一個較長程序的基本方法;5.學會利用互聯(lián)網(wǎng)查找相關的知識并學習;2.2要求含設計中用到的相關技術(shù)的解釋或講解介紹和正文兩大部份。正文包括以下7個內(nèi)容:1需求分析以無歧義的陳述說明程序設計的任務,強調(diào)的是程序要做什么?并明確規(guī)定:(1) 輸入的形式和輸入值的范圍;(2) 輸出的

3、形式;(3) 程序所能達到的功能;(4) 測試數(shù)據(jù):包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。2概要設計說明本程序中用到的所有抽象數(shù)據(jù)類型的定義、主程序的流程以及各程序模塊之間的層次(調(diào)用)關系。3詳細設計實現(xiàn)概要設計中定義的所有類,對每個操作只需要寫出偽碼算法;可采用流程圖等進行描述,畫出函數(shù)和過程的調(diào)用關系圖。4調(diào)試分析內(nèi)容包括:a調(diào)試過程中遇到的問題是如何解決的以及對設計與實現(xiàn)的回顧討論和分析;b改進設想;c經(jīng)驗和體會等。5用戶使用說明說明如何使用你編寫的程序,詳細列出每一步的操作步驟。6測試結(jié)果列出你的測試結(jié)果,包括輸入和輸出。這里的測試數(shù)據(jù)應該完整和嚴格,最好多于需求分

4、析中所列。7、課程設計總結(jié)。 8、源程序(主要函數(shù)代碼,并附說明)。9參考文獻列出參考的相關資料和書籍。 10加封面(采用統(tǒng)一格式)之后裝訂。3設計原理該軟件系本人經(jīng)過兩周時間完成,其中每一步都有較為詳細的提示.當用戶進入這個程序時,系統(tǒng)會出現(xiàn)一個主菜單,有七個功能,進商品銷售管理系統(tǒng);輸入商品信息;刪除與更改信息;確認購買并輸入購買信息;系統(tǒng)信息統(tǒng)計系統(tǒng);保存所有信息寫入文件,讀取一份已存在的信息,退出系統(tǒng)。本程序是通過對文件的讀寫來實現(xiàn)的,主要運用了循環(huán)、數(shù)組結(jié)構(gòu),對數(shù)據(jù)的輸入、修改、刪除的連續(xù)進行,進入系統(tǒng)后,能夠根據(jù)提示進行輸入、修改、刪除以及查詢等功能。在輸入信息的時候,可以根據(jù)提示

5、進行重復輸入多個信息,修改、刪除、查詢也可以重復使用,這些就是運用的循環(huán)結(jié)構(gòu)。在輸入、修改、刪除、查詢信息、信息寫入文件、讀取信息、退出系統(tǒng)時該系統(tǒng)會用(1 退出系統(tǒng) 2 繼續(xù))提示你。注意:在使用過程中,查詢商品時只能先輸入商品的代號;輸入的各項數(shù)據(jù)不能超過其本身設定的最大的位數(shù)。4詳細設計4.1系統(tǒng)的總體流程圖 開始編譯運行有/錯main有無調(diào)用menuk0exitk=0 調(diào)用各個功能函數(shù)(k=?)連接執(zhí)行錯誤 輸入正確 圖4.1 系統(tǒng)流程圖4.2各功能函數(shù)流程圖 圖4.2 main( )函數(shù)流程圖圖4.3 insert() 函數(shù)流程圖圖4.4 renew() 函數(shù)流程圖圖4.5 seek

6、() 函數(shù)流程圖4.6 save() 函數(shù)流程圖圖4.7 statistics() 函數(shù)流程圖5運行結(jié)果與分析51程序運行 (1).第一次使用這個軟件的時。圖5.1系統(tǒng)對話框 (2).輸入銷售員銷售信息圖5.2“商品輸入信息”窗口(3).進入系統(tǒng)輸入銷售員代號查詢銷售員的銷售信息。圖5.3查詢窗口(4). 進入系統(tǒng)按“4”就可以更改銷售員的銷售信息。圖5.4顯示修改循環(huán)輸入窗口 (5). 輸入數(shù)據(jù)后按“4”就可以保存銷售員的銷售信息。圖5.5保存數(shù)據(jù)窗口(6).當使用完銷售管理系統(tǒng)按“0”就可以退出系統(tǒng)。圖5.6退出銷售管理系統(tǒng)52程序分析1.程序要寫正確,不然不能讀出。2.信息代碼也要輸入正

7、確,按照程序要求輸入,不然正確輸出信息。3.循環(huán)與否點擊您是否繼續(xù)進行信息錄入(y/n)即可。6總結(jié) 這次課程設計雖然只有短短的兩周時間,但此過程中我得到的收獲卻沒有時間的界限。在這期間,我有剛開始對于設計的茫然,也有設計過程中面對不熟悉的知識的焦急,更有面對程序運行出錯時的惆悵,同時還有當自己把設計的思路一點點想清楚,把程序代碼上出現(xiàn)的錯誤一個個改正確,把程序成功運行出來的那份難以表述的喜悅!成功的背后有過一絲絲彷徨,但撥開烏云的天空通??吹降氖敲利惖牟屎?! 對于我精神上的收獲確實不少,學習上也受益匪淺。 通過這次“銷售管理系統(tǒng)”課題的設計,通過這個階段的實踐,使我對c語言進行了深入的學習。

8、同時設計的過程中,為了實現(xiàn)預期的功能,我利用了圖書館內(nèi)相關的資料進行參考,也使我懂得一些初次學習過程中不太熟悉的知識。在實踐中,我利用圖書館和網(wǎng)絡,查找了相關的信息。也明確在以后的學習過程中,我應該多利用這些有效的途徑來充實自己的知識點,學習得更深入,“善假于物”也是一種有效的學習方法。在程序調(diào)試的過程中,遇到了好幾個自己沒能及時解決的問題,我選擇的是請教老師和同學,在你們的指導下,我成功調(diào)試出程序。學習的過程除了需要自己要獨立思考問題之外,還應該要有與他人的互動。我想這也就是集體的智慧,團結(jié)的力量!在此過程中,我也發(fā)現(xiàn)了許多自己的不足。在我剛開始設計的時候,頭腦里沒有一點清晰的思路,這就與平

9、時自己看得少,練得少有關系。所以我覺得學習任何一門語言還是需要多看書,多編寫程序,特別是當自己突然有一絲靈感的時候,最好記錄下來,甚至把它想出來,想明白。實踐的過程中,要明確自己寫這些程序是為了達到什么目的,實踐后,要考慮這樣編寫是不是最好的,還能不能做其它方法來做,在編寫這個程序中遇到了什么樣的錯誤,為什么會遇到,以后應該怎樣避免。這樣的學習,就會更深入,學習得更好!致謝在此我要向?qū)ξ覀兊膶嵺`進行指導的熊茜老師,還有在程序調(diào)試過程中請教的同學進行感謝,感謝你們給我們提供的幫助,使我的設計得以成功的實現(xiàn)各項功能。再次向您們致以最真誠的感謝!參考文獻1譚浩強等.c語言程序設計教程.北京:高等教育

10、出版社,19972譚浩強.c程序設計.第2版.北京:清華大學出版社,19993郭浩志.c語言程序設計.北京.北京郵電大學出版社,20054c陷阱與缺陷.北京:人民郵電出版社,20085譚浩強、張基溫. c語言程序設計教程.北京:高等教育出版社,20066c程序設計經(jīng)典教程.北京:清華大學出版社,2006程序清單#include#include#include#include#define null 0struct sellerint num;char sex;char name8;int apple;int grape;int banana;int pear;int watermellon;i

11、nt sum;sell4;struct fruiteint num;int p_num10;int f_num;int sum;f5;int n;char f_name10;void insert();void renew();void seek();void change();void statistics();void save();void ask1();void ask2();void load();void menu()printf(n*歡迎進入銷售管理系統(tǒng)*nn);printf( t ttt1:數(shù)據(jù)插入nn);printf( t ttt2:數(shù)據(jù)更新nn);printf( t ttt

12、3:數(shù)據(jù)查詢nn);printf( t ttt4:數(shù)據(jù)更改nn);printf( tttt5:數(shù)據(jù)統(tǒng)計nn);printf( tttt6:數(shù)據(jù)保存nn);printf( tttt7:退出系統(tǒng)nn);printf(*);printf(n版權(quán)所有自普本07,馬哥n);printf(n請輸入你要執(zhí)行的任務:);void main()char t;int i=0,k=0; system(color 2e);menu();for(i=1;i5;i+)selli.num=i;sell0.sex=m;strcpy(,劉德華);sell1.sex=f;strcpy(,張

13、學友);sell2.sex=f;strcpy(,郭富城);sell3.sex=m; /初始化strcpy(,黎明);f0.num=001;f1.num=002;f2.num=003;f3.num=004;f4.num=005;for(i=0;i4;i+)selli.apple=0;selli.grape=0;selli.banana=0;selli.pear=0;selli.watermellon=0;selli.sum=0; for(i=0;i5;i+) fi.f_num=0; fi.sum=0; while(t!=7) scanf(%c,&t);sw

14、itch(t)case1:insert();break; case2:renew();ask2();break; case3:seek();break; case4:change();break; case5:statistics();ask1();break; case6:save();break; case7:exit(0); default:printf(請輸入任務范圍內(nèi)的數(shù):);t=getchar();getch();void insert()int i=0,j=0,k=0,l=0;putchar(n);printf(你是要手動插入還是從文件讀入nn 1 手動 2 讀入nn您選擇:);

15、scanf(%d,&i);if(i=1)printf(請輸入你要插入的天數(shù):);scanf(%d,&n);printf(第1號的銷售額n); for(j=0;j4;j+) for(l=0;l5;l+)fl.f_num=0; for(k=0;k5;k+) printf(請輸入00%d號水果的一星期銷售額:n,k+1);for(i=0;in;i+) /數(shù)據(jù)輸入scanf(%d,&fk.p_numi);fk.f_num=fk.p_numi+fk.f_num; sellj.apple=f0.f_num; sellj.grape=f1.f_num; sellj.banana=f2.f_num; sell

16、j.pear=f3.f_num; sellj.watermellon=f4.f_num; printf(第%d號的銷售額,j+2); printf(bbbbbbbbbbbbb輸入完畢,任意鍵確定 ); getch(); system(color 2e); system(cls); menu(); putchar(n);if(i=2)load();void renew() /數(shù)據(jù)更新 int t;int i=0,j=0,k=0; printf(您是否為第一次更新? 1 是 2 否n);scanf(%d,&t);if(t=2)for(i=0;i5;i+)fi.sum=0; for(j=0;j4;j

17、+) f0.sum=sellj.apple+f0.sum; for(j=0;j4;j+) f1.sum=sellj.grape+f1.sum; for(j=0;j4;j+) f2.sum=sellj.banana+f2.sum; for(j=0;j4;j+) f3.sum=sellj.pear+f3.sum;for(j=0;j4;j+) f4.sum=sellj.watermellon+f4.sum; for(i=0;i4;i+) selli.sum=selli.apple+selli.grape+selli.banana+selli.pear+selli.watermellon;void s

18、eek() /數(shù)據(jù)查詢int t,s,c,e,d;system(cls);printf(nn*歡迎進行信息查詢*nn);doprintf(您要查詢的是單個產(chǎn)品還是銷售額排序nn* 1 單個產(chǎn)品 * 2 整體排序n);scanf(%d,&t);if(t=1)printf(nn*您是要對下面哪個進行查詢*:nn* 1 銷售員n* 2 產(chǎn)品 n 您選擇:);scanf(%d,&t); if(t=1) doprintf(n*請輸入該銷售員的編號* n 您選擇: );scanf(%d,&s); switch(s) case 1:printf(nt%s 銷售總額為%dn,,sell0.

19、sum);break;case 2:printf(nt%s 銷售總額為%dn,,sell1.sum);break;case 3:printf(nt%s 銷售總額為%dn,,sell2.sum);break;case 4:printf(nt%s 銷售總額為%dn,,sell3.sum);break;default:printf(請輸入正確的編號n); printf(nn數(shù)字1返回上一層,任意鍵繼續(xù)查詢銷售員信息.n); scanf(%d,&c); if(c=1) s=0; while(s!=0); if(t=2)doprintf(n*請

20、輸入你要查詢的產(chǎn)品代號*:);printf(n* apple 1n);printf(* grape 2n);printf(* banana 3n);printf(* pear 4n);printf(* watermellon 5n);scanf(%d,&s);switch(s)case 1:printf(apple銷售總額為%dn,f0.sum);break;case 2:printf(grape銷售總額為%dn,f1.sum);break;case 3:printf(banana銷售總額為%dn,f2.sum);break;case 4:printf( pear銷售總額為%dn,f3.sum

21、);break;case 5:printf(watermellon銷售總額為%dn,f4.sum);break;default:printf(請輸入正確的編號n);printf(nn*歡迎回到信息查詢主頁*nn);printf(n返回上一層輸入1 繼續(xù)查詢?nèi)我怄I.nn); scanf(%d,&c);if(c=1) s=0;while(s!=0);if(t=2)doprintf(*請輸入您要查詢的對象*n);printf(* 對銷售員排序查詢請輸入 1n* 對產(chǎn)品排序查詢輸入 2n); scanf(%d,&e); if(e=1)printf(編號為 %-10d%-10d%-10d%-10dn,s

22、ell0.num,sell1.num,sell2.num,sell3.num);printf(名字為 %-10s%-10s%-10s% -10sn,,,,);printf( %-10d%-10d%-10d%-10dnnn,sell0.sum,sell1.sum,sell2.sum,sell3.sum);if(e=2)printf(編號為 00%-10d 00%-10d 00%-10d 00%-10d 00%-10dn,f0.num,f1.num,f2.num,f3.num,f4.num); printf( %-10

23、d %-10d %-10d %-10d %-10dnn,f0.sum,f1.sum,f2.sum,f3.sum,f4.sum);printf(返回上一層請輸入1 任意鍵繼續(xù)n);scanf(%d,&d);while(d!=1); printf(返回上一層請輸入1 任意鍵繼續(xù)n);scanf(%d,&d);while(d!=1);system(cls);menu();putchar(n);void change() /數(shù)據(jù)更改int s,c;char t; do printf(請輸入你要更改的銷售員編號及產(chǎn)品編號n);printf(*銷售員編號:n);scanf(%d,&s); t=getcha

24、r(); printf(*產(chǎn)品編號:n);printf(* apple 1n);printf(* grape 2n);printf(* banana 3n);printf(* pear 4n);printf(* watermellon 5n); scanf(%c,&t);switch(s) /搜索數(shù)據(jù) case 1: switch(t) case 1:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell0.apple); scanf(%d,&sell0.apple);break; case 2:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:

25、,,sell0.grape); scanf(%d,&sell0.grape);break; case 3:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell0.banana); scanf(%d,&sell0.banana);break; case 4:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell0.pear); scanf(%d,&sell0.pear);break;case 5:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell0.wate

26、rmellon); scanf(%d,&sell0.watermellon);break; default:printf(請輸入正確的產(chǎn)品編號n) ;break; case 2: switch(t) case 1:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell1.apple); scanf(%d,&sell0.apple);break; case 2:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell1.grape); scanf(%d,&sell0.grape);break; case 3:printf(

27、你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell1.banana); scanf(%d,&sell0.banana);break; case 4:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell1.pear); scanf(%d,&sell0.pear);break; case 5:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell1.watermellon); scanf(%d,&sell0.watermellon);break; default:printf(請輸入正確的產(chǎn)品

28、編號g) ;break; case 3: switch(t) case 1:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell2.apple); scanf(%d,&sell0.apple);break; case 2:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell2.grape); scanf(%d,&sell0.grape);break; case 3:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell2.banana); scanf(%d,&sell0.ban

29、ana);break; case 4:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell2.pear); scanf(%d,&sell0.pear);break; case 5:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell2.watermellon); scanf(%d,&sell0.watermellon);break; default:printf(請輸入正確的產(chǎn)品編號) ;break; case 4: switch(t) case 1:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,s

30、,sell3.apple); scanf(%d,&sell0.apple);break; case 2:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell3.grape); scanf(%d,&sell0.grape);break; case 3:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell3.banana); scanf(%d,&sell0.banana);break; case 4:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell3.pea

31、r); scanf(%d,&sell0.pear);break; case 5:printf(你要更改的人為 %s,原始數(shù)據(jù)為%dt更改為:,,sell3.watermellon); scanf(%d,&sell0.watermellon);break; default:printf(請輸入正確的產(chǎn)品編號) ;break; case 5:exit(0); default :printf(請輸入正確的銷售員編號n); printf(數(shù)據(jù)的更改已改變整體數(shù)據(jù),是否立即進行更新及統(tǒng)計:nn1:是 2:稍后: );scanf(%d,&c);if(c=1)renew();statis

32、tics();printf(nn數(shù)據(jù)已更新并統(tǒng)計nn);elseprintf(數(shù)據(jù)未更新n); printf(返回上一層輸入1 繼續(xù)輸入輸入任意整數(shù)n); scanf(%d,&c); if(c=1) s=0; while(s!=0); system(cls); menu(); putchar(n);void save()file *in;int i;printf(n由于系統(tǒng)只能從 mage.txt 中讀取數(shù)據(jù),您自己創(chuàng)建的文件可能無法讀取,是否繼續(xù)n);printf(n 1 繼續(xù)操作 2 采用系統(tǒng)文件n您選擇:);scanf(%d,&i);if(i=1)printf(請輸入你所要保存的文件名n

33、);scanf(%s,f_name);printf(您已創(chuàng)建一文件,并且存盤.);else strcpy(f_name,mage.txt);printf(您已將數(shù)據(jù)存到系統(tǒng)開辟的文件 mage.txt 中,請查看n);if(in=fopen(f_name,w)=null)printf(不能打開文件);exit(0); fprintf(in, 性別 名字 產(chǎn)品代號 銷售之和n); fprintf(in,銷售員代號 1 2 3 4 5n); /保存至文件for(i=0;i4;i+)fprintf(in,%-10d%-10c%-10s%-10d%-10d%-10d%-10d%-10dn,selli.num+1,selli.sex,,selli.apple

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論