版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> C語言課程設(shè)計</b></p><p> 題 目 商品銷售系統(tǒng)</p><p><b> 目 錄</b></p><p> 1設(shè)計內(nèi)容與設(shè)計要求…………………………………… 1</p><p> 1.1系統(tǒng)功能簡介………………………
2、……………… 1 </p><p> 1.2系統(tǒng)運行環(huán)境 ………………………………………1</p><p> 2功能劃分,模塊詳細說明 ………………………………1</p><p> 3程序流程圖 ………………………………………………1</p><p> 4運行的運行及說明 …………………………………
3、……2</p><p> 4.1系統(tǒng)的運行 …………………………………………2</p><p> 4.2運行說明…………………………………………… 4</p><p> 5總結(jié) ………………………………………………………5</p><p> 附件:源程序清單……………………………………………5</p><p>
4、 1設(shè)計內(nèi)容與設(shè)計要求</p><p><b> 1.1系統(tǒng)功能簡介</b></p><p> 系統(tǒng)有簡單的菜單界面,用戶可以通過輸入簡單的選項來完成相應(yīng)的工作。</p><p> 選定一種產(chǎn)品,按銷售額的順序?qū)︿N售員進行排序,輸出排序結(jié)果。</p><p> 統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果。</p
5、><p><b> 輸出統(tǒng)計報表。</b></p><p><b> 1.2系統(tǒng)運行環(huán)境</b></p><p> Vc++6.0下運行,硬件基本無要求,現(xiàn)在的計算機系統(tǒng)基本都可以運行該系統(tǒng)。</p><p> 2功能劃分,模塊詳細說明</p><p> 系統(tǒng)的功能是通
6、過子函數(shù)調(diào)用的方式來完成的,下面對程序中用到的函數(shù)及其功能做一下說明。</p><p> void menu():顯示主菜單界面。</p><p> void data_count(data *x):以寫方式打開文件,對商品信息清零,讀入職工編號、產(chǎn)品編號、銷售量等信息,對相同職工的相同產(chǎn)品的銷售量求和后寫入文件。</p><p> void range_sx
7、y(data *x):以讀方式打開文件,讀入信息,輸入按何種產(chǎn)品排序后對存儲職工編號的數(shù)組進行排序,最后輸出新序的職工編號信息。</p><p> void range_shangpin(data *x):從文件讀入信息,對每項產(chǎn)品的銷售量求和,按每項產(chǎn)品的總銷售量排序。</p><p> void data_out(data *x):打開文件,讀入信息,求所有產(chǎn)品的銷售量的和,輸出統(tǒng)
8、計表。</p><p> void main():主函數(shù),調(diào)用以上函數(shù),完成相應(yīng)功能。</p><p><b> 3程序流程圖</b></p><p> 程序整體流程圖如圖3-1所示:</p><p><b> 圖3-1整體流程圖</b></p><p><b&
9、gt; 4系統(tǒng)的運行及說明</b></p><p><b> 4.1系統(tǒng)的運行</b></p><p> 系統(tǒng)初始運行時,會顯示如圖4-1所示的菜單界面,用戶可以根據(jù)提示,進行相應(yīng)的選擇,來完成系統(tǒng)提供的各種功能。</p><p><b> 圖4-1輸入界面</b></p><p&g
10、t; 當選擇1時,系統(tǒng)調(diào)用函數(shù)void data_count(data *x),完成相應(yīng)的功能。運行界面如圖4-2所示,系統(tǒng)會要求用戶輸入月份,然后要求輸入這個月份中是哪個職工銷售的哪項產(chǎn)品的數(shù)量的具體信息,我們的系統(tǒng)假設(shè)有四個職工,職工編號從1至4,一共有5項產(chǎn)品,產(chǎn)品編號從1至5。職工和產(chǎn)品的數(shù)目都可以更改,只要修改一下程序中的宏定義語句即可。</p><p> 圖4-2計算產(chǎn)品銷售額界面</p&g
11、t;<p> 當選擇2時,系統(tǒng)調(diào)用void range_sxy(data *x),完成相應(yīng)部分的功能。運行界面如圖4-3所示,系統(tǒng)會要求用戶輸入月份,然后排序的產(chǎn)品編號,最后給出此項產(chǎn)品的按照銷售量的大小進行的銷售員的編號的排序情況。</p><p> 圖4-3按銷售額對銷售員排序的界面</p><p> 當選擇3時,系統(tǒng)調(diào)用void range_shangpin(da
12、ta *x),完成對每項商品的總銷售量排序的功能,運行界面如圖4-4所示:</p><p> 圖4-4產(chǎn)品總銷售額排序界面</p><p> 當選擇4時,系統(tǒng)調(diào)用void data_out(data *x),完成輸出統(tǒng)計表的功能,統(tǒng)計內(nèi)容如圖4-5所示:</p><p> 圖4-5統(tǒng)計報表界面</p><p><b> 4.
13、2運行說明</b></p><p> 首次打開系統(tǒng)必須輸入一部分員工信息,如果沒有員工信息文件,除了輸入功能以外,其它的功能將自動禁止, 按任意鍵退出程序。</p><p> 輸入時,按照提示陸續(xù)輸入每個員工的單個信息,輸入完畢,選擇“0”,程序?qū)⒆詣踊氐讲藛芜x擇界面。</p><p> 其它的功能模塊都在執(zhí)行程序時有相應(yīng)的提示,非常容易操作。&l
14、t;/p><p><b> 5總結(jié)</b></p><p> 通過這次實習(xí),讓我們初步有了編寫系統(tǒng)的能力,我們對很多的函數(shù)有了新的認識,也學(xué)會了運用多種函數(shù),也明白了編寫軟件的基本過程,和基本方法。編寫軟件的過程中我們又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會的函數(shù)的用法。這次課程設(shè)計課總的來說讓我受益匪淺。</p><p> 在軟件的設(shè)計過程
15、中遇到了很多的困難。在軟件一次一次的調(diào)試失敗下,曾經(jīng)想過要放棄。我最后還是讓自己堅持了下來,毫不畏懼困難,在同學(xué)的幫助與講解下我總算是順利的完成了軟件的設(shè)計。</p><p> 在程序的編寫過程中我們發(fā)現(xiàn)有很多的知識漏洞和缺陷,需要進一步努力學(xué)習(xí)來完善自己。</p><p> 在這幾天的編寫過程中我們對c語言有了更進一步的認識和了解。此次編程過程的經(jīng)驗和知識肯定能促進我以后的學(xué)習(xí)。&l
16、t;/p><p> 此次課程設(shè)計不僅給了我們很多很好的經(jīng)驗,也讓我們體會到了失敗時的焦急和難受,也體會到了成功時的興奮與喜悅。</p><p><b> 附件:源程序清單</b></p><p> #include <stdio.h></p><p> #include <string.h>&
17、lt;/p><p> #include <conio.h></p><p> #include <stdlib.h></p><p> #define Z 5</p><p> #define R 4 /*定義宏常量便于程序的一般化*/ /*R表示銷售員個數(shù)*/</p><p>
18、 typedef struct /*縮短結(jié)構(gòu)體變量名*/</p><p><b> {</b></p><p> int shangpin[Z]; /*定義結(jié)構(gòu)體便于信息的存儲和讀寫,辨別*/ /*z是表示商品的種類,最后一個為該銷售員商品總和*/</p><p><b> }data;<
19、;/b></p><p> void menu()</p><p> { printf(" *******************************************************\n");</p><p> printf(" 0.結(jié)束操作\n");</p&g
20、t;<p> printf(" 1.計算上個月每個人每種產(chǎn)品的銷售額\n");</p><p> printf(" 2.按銷售額對銷售員進行排序,輸出排序結(jié)果\n");</p><p> printf(" 3.統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果\n");&
21、lt;/p><p> printf(" 4.輸出統(tǒng)計報表\n");</p><p> printf(" ******************************************************\n");</p><p><b> }</b></p>
22、<p> void data_count(data *x) /*計算上個月每個人每種產(chǎn)品的銷售額*/</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> char fname[10];</p><p>
23、 int j,t; /*用于控制循環(huán)*/</p><p> int i,k,s; /*用于定義職工序號,產(chǎn)品序號,產(chǎn)品數(shù)量*/</p><p> system("cls");</p><p> printf("您想計算哪個月?\n");</p><p> printf
24、("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息寫入*/</p><p> scanf("%s",fname);</p><p> strcat(fname,".txt");</p><p> if((fp=fopen(fname,"wb"))==NULL)
25、 /*打開文件*/</p><p><b> {</b></p><p> printf("can not open the file\n");</p><p><b> exit(0);</b></p><p><b>
26、}</b></p><p> for(j=0;j<R;j++) /*對商品數(shù)量清零*/</p><p> for(t=0;t<Z;t++)</p><p> (x+j)->shangpin[t]=0;</p><p> printf("please put
27、the information about the 職工編號,產(chǎn)品編號,銷售數(shù)量\n"); /*寫入信息*/</p><p> for(j=0;;j++)</p><p><b> {</b></p><p> scanf("%d%d%d",&i,&k,&s);</p>
28、;<p> if(i==0) /*輸入職工為0時結(jié)束信息輸入*/</p><p><b> break;</b></p><p> if(i>R||i<0||k>Z||k<0) </p><p><b> {</b></p>&
29、lt;p> printf("the information error!\n"); /*避免輸入信息出錯*/</p><p><b> continue;</b></p><p><b> }</b></p><p><b> else</b><
30、;/p><p> (x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統(tǒng)計各個人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號相匹配*/</p><p><b> }</b></p><p> for(j=0;j<R;j++)</p><p> if(fwr
31、ite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以后調(diào)用*/</p><p> printf("write error!\n");</p><p> fclose(fp); /*關(guān)閉文件避免信息遺漏*/</p><p><b> }</b></p
32、><p> void range_sxy(data *x) /*按銷售額對銷售員進行排序,輸出排序結(jié)果*/</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> char fname[10];</p><p>
33、 int i,k,j,t,bianhao[R]={0},z;</p><p> system("cls");</p><p> printf("你要哪個月的?\n");</p><p> printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/</p>
34、<p> scanf("%s",fname);</p><p> strcat(fname,".txt");</p><p> if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b>
35、{</b></p><p> printf("can not open the file\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> for(i=0;i<R;i++)
36、 /*讀出信息*/</p><p> if(fread(x+i,sizeof(data),1,fp)!=1)</p><p> printf("讀入信息出錯!"); /*讀入信息提示*/</p><p> for(i=0;i<R;)
37、 /*用于存儲職工編號*/</p><p> bianhao[i]=i++;</p><p> printf("請輸入按何種產(chǎn)品排序\n");</p><p> scanf("%d",&k);</p><p> k=k-1; /
38、*便于與結(jié)構(gòu)體中的數(shù)組值對應(yīng)*/</p><p> for(i=0;i<R;i++) /*按K種產(chǎn)品對銷售員排序,選擇法排序*/</p><p><b> {</b></p><p><b> t=i;</b></p><p> for(j=i+1;j<R;j+
39、+)</p><p> if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調(diào)用職工各自對應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/</p><p><b> t=j;</b></p><p><b> if(t!=i)</b></p>
40、;<p><b> {</b></p><p> z=bianhao[i];</p><p> bianhao[i]=bianhao[t];</p><p> bianhao[t]=z;</p><p><b> }</b></p><p><b
41、> }</b></p><p> printf("按%d產(chǎn)品對銷售員排序為:\n",k+1);</p><p> for(i=0;i<R;i++)</p><p> printf("%5d",bianhao[i]+1);</p><p><b> getch(
42、);</b></p><p> fclose(fp);</p><p><b> }</b></p><p> void range_shangpin(data *x) /*統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/</p><p><b> {</b></p>
43、<p><b> FILE *fp;</b></p><p> char fname[10];</p><p> int i,j,sum[Z]={0},bianhao[Z]={0},z,t,k;</p><p> system("cls");</p><p> printf(&qu
44、ot;您想計算哪個月的?\n");</p><p> printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/</p><p> scanf("%s",fname);</p><p> strcat(fname,".txt");</p><p
45、> if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b> {</b></p><p> printf("can not open the file\n");</p><p><b>
46、exit(0);</b></p><p><b> }</b></p><p> for(i=0;i<R;i++) /*讀出信息*/</p><p> if(fread(x+i,sizeof(data),1,fp)!=1)</p>&l
47、t;p> printf("讀入信息出錯!");</p><p> for(i=0;i<Z;i++) /*對各種商品求和*/</p><p> for(j=0;j<R;j++)</p><p> sum[i]=sum[i]+(x+j)->shangpin[i];</p><p&g
48、t; for(i=0;i<Z;) /*用于存儲商品編號*/</p><p> bianhao[i]=i++;</p><p> for(i=0;i<Z;i++)</p><p> printf("%3d",bianhao[i]);</p><p> for(i=0;i&
49、lt;Z;i++) /*對產(chǎn)品從高到低排序,選擇法排序*/</p><p><b> {</b></p><p><b> t=i;</b></p><p> for(j=i+1;j<Z;j++) /*產(chǎn)品變化時,產(chǎn)品編號也隨之變化,便于輸出*/</p><p>
50、; if(sum[t]<sum[j]) </p><p><b> t=j;</b></p><p><b> if(t!=i)</b></p><p><b> {</b></p><p><b> k
51、=sum[i];</b></p><p> sum[i]=sum[t];</p><p><b> sum[t]=k;</b></p><p> z=bianhao[i];</p><p> bianhao[i]=bianhao[t];</p><p> bianhao[t]
52、=z;</p><p><b> }</b></p><p><b> }</b></p><p> printf("輸出產(chǎn)品排序\n");</p><p> printf("產(chǎn)品編號 數(shù)量\n");</p><p> fo
53、r(i=0;i<Z;i++)</p><p> printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> }</b>
54、</p><p> void data_out(data *x) /*輸出統(tǒng)計報表*/</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> char fname[10];</p><p> int
55、i,j,sum[Z+1]={0};</p><p> system("cls");</p><p> printf("您想計算哪個月?\n");</p><p> printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/</p><p> sc
56、anf("%s",fname);</p><p> strcat(fname,".txt");</p><p> if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b> {</b>&l
57、t;/p><p> printf("can not open the file\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> for(i=0;i<R;i++)
58、 /*讀出信息*/</p><p> if(fread(x+i,sizeof(data),1,fp)!=1)</p><p> printf("讀入信息出錯!");</p><p> for(i=0;i<Z;i++) /*對各種商品求和*/</p><p>
59、 for(j=0;j<R;j++)</p><p> sum[i]=sum[i]+(x+j)->shangpin[i];</p><p> for(i=0;i<Z;i++) /*求商品總和*/</p><p> sum[Z]=sum[Z]+sum[i];</p><p> print
60、f("輸出統(tǒng)計報表如下:\n"); /*按要求輸出統(tǒng)計表*/</p><p> printf("產(chǎn)品代號 銷售之和 銷售員代號\n");</p><p> for(i=0;i<R;i++)</p><p> for(j=0;j<Z;j++)</p><p> pr
61、intf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);</p><p> printf("***********************************\n");</p><p> for(i=0;i<Z;i++)</p><p><b>
62、 { </b></p><p><b> if(i==0)</b></p><p> printf("%d產(chǎn)品之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z]);</p><p><b> else</b></p><p>
63、printf("%d產(chǎn)品之和 %-10d\n",i+1,sum[i]);</p><p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p> void main()<
64、/p><p><b> {</b></p><p> int i,choice;</p><p> data sxy[R]; /*R表示職工的個數(shù),前面的宏常量*/</p><p> for(i=0;;i++)</p><p><b> {</b&
65、gt;</p><p> system("cls"); /*清頻命令*/</p><p> menu(); /*菜單函數(shù)提示用戶怎樣選擇*/</p><p> printf("你想做什么?\n");</p>
66、<p> printf("請選擇:"); /*輸入要進行的操作*/</p><p> scanf("%d",&choice);</p><p> if(choice==0) /*退出程序*/</p><p&
67、gt;<b> break;</b></p><p><b> else</b></p><p> switch(choice)</p><p><b> {</b></p><p> case 1 : data_count(sxy);break; /*計算上個月每個
68、人每種產(chǎn)品的銷售額*/</p><p> case 2 : range_sxy(sxy);break; /*按銷售額對銷售員進行排序,輸出排序結(jié)果*/</p><p> case 3 : range_shangpin(sxy);break; /*統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/</p><p> case 4 : data_out(sxy);brea
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計銷售管理系統(tǒng)
- c語言課程設(shè)計銷售管理系統(tǒng)
- c語言課程設(shè)計銷售管理系統(tǒng)報告
- c語言課程設(shè)計銷售管理系統(tǒng)報告
- c語言課程設(shè)計銷售管理系統(tǒng)報告
- c語言課程設(shè)計--銷售管理系統(tǒng)
- c語言課程設(shè)計----銷售管理系統(tǒng)
- c語言課程設(shè)計-銷售管理系統(tǒng)
- c語言課程設(shè)計報告---銷售管理系統(tǒng)
- 服裝銷售管理系統(tǒng)—c語言課程設(shè)計
- c語言課程設(shè)計(論文)-銷售管理系統(tǒng)
- c語言課程設(shè)計論文--銷售管理系統(tǒng)
- c語言課程設(shè)計-服裝銷售系統(tǒng)
- c語言課程設(shè)計----服裝銷售系統(tǒng)
- c語言程序課程設(shè)計報告-圖書銷售管理系統(tǒng)
- c語言課程設(shè)計報告—服裝銷售系統(tǒng)
- c語言課程設(shè)計報告——《商品銷售管理》
- 銷售管理系統(tǒng)c++課程設(shè)計
- c語言課程設(shè)計-賓館管理系統(tǒng)
- c語言課程設(shè)計-成績管理系統(tǒng)
評論
0/150
提交評論