版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 《程序設(shè)計語言》課程設(shè)計說明書</p><p><b> 銷售管理系統(tǒng)</b></p><p> 系 、 部: 計算機(jī)與信息科學(xué)系 </p><p> 學(xué)生姓名: </p><p><b> 摘 要</b></
2、p><p> 本設(shè)計主要運用C語言程序設(shè)計中的函數(shù)、結(jié)構(gòu)體、文件、系統(tǒng)函數(shù)等知識點,設(shè)計一個銷售管理系統(tǒng),實現(xiàn)對銷售員和銷售量的處理。</p><p> 關(guān)鍵詞 課程設(shè)計;銷售管理;報表;函數(shù)</p><p><b> ABSTRACT</b></p><p> 設(shè)計中多次用到了系統(tǒng)函數(shù)system(“pause”
3、)、system(“cls”)。</p><p> Key words menu; note; xsgl(p); system("cls"); switch; case</p><p><b> 目 錄</b></p><p> 1 設(shè)計目的………………………………………………………………………… &l
4、t;/p><p> 2 設(shè)計內(nèi)容和要求………………………………………………………………… </p><p> 3 設(shè)計思想 ……………………………………………………………………… </p><p> 4 源代碼 …………………………………………………………………………</p><p> 5 實驗結(jié)果 ……………………………
5、…………………………………………</p><p> 6 心得體會 ………………………………………………………………………</p><p> 參考文獻(xiàn) ……………………………………………………………………………</p><p><b> 1 設(shè)計目的</b></p><p> 1.1、通過本程序設(shè)計,培養(yǎng)上機(jī)
6、動手能力,使學(xué)生鞏固《C語言程序設(shè)計》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計的基本方法,強(qiáng)化上機(jī)動手能力,闖過編程關(guān);</p><p> 1.2、為后續(xù)各門計算機(jī)課程的學(xué)習(xí)打下堅實的基礎(chǔ)。</p><p><b> 2 設(shè)計內(nèi)容和要求</b></p><p><b> 1.1、設(shè)計內(nèi)容</b></p><
7、;p> 某公司有四個銷售員(編號:A,B,C,D),負(fù)責(zé)銷售五種產(chǎn)品(編號:1-5)。每個銷售員都將當(dāng)天的產(chǎn)品寫一張便條交上來。每張便條包含內(nèi)容:</p><p><b> 1)銷售員的代碼;</b></p><p> 2)每種產(chǎn)品的代碼和銷售量;</p><p> 假設(shè)收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售
8、情況,進(jìn)行如下處理。</p><p> 計算上個月每個人每中產(chǎn)品的銷售量。</p><p> 按銷售量對銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代碼)。</p><p> 統(tǒng)計每種產(chǎn)品的總銷售量,對這些產(chǎn)品按從高到低的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代碼和銷售量)。</p><p><b> 輸出統(tǒng)計表</b><
9、;/p><p><b> 銷售統(tǒng)計報表</b></p><p><b> 1.2 設(shè)計要求</b></p><p> 1)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。</p><p> 2)必須使用結(jié)構(gòu)體和文件等管理等數(shù)據(jù)結(jié)構(gòu)。</p><p> 3)程序的運行結(jié)果要求使用文
10、件做備份。</p><p> 4)至少輸出一份報表,鼓勵自行增加新功能。</p><p><b> 3 設(shè)計思想</b></p><p> 設(shè)計不同的函數(shù)模塊,一個模塊一個模塊的實現(xiàn)如下功能</p><p> 設(shè)計主控制菜單程序(menu()函數(shù)),實現(xiàn)菜單選擇模塊。</p><p>
11、(2)設(shè)計函數(shù),用for語句實現(xiàn)便條內(nèi)容輸入的功能,并用switch語句來選擇函數(shù),實現(xiàn)對便條內(nèi)容的保存輸入、重新輸入、返回上級的功能的選擇。</p><p> ?。?)設(shè)計函數(shù),運用文件,實現(xiàn)便條保存功能,并用switch語句來選擇函數(shù),實現(xiàn)重新輸入、返回上級的功能的選擇。</p><p> (4)設(shè)計函數(shù),打開所需文件,實現(xiàn)便條導(dǎo)入功能,調(diào)用xsgl(p)函數(shù),進(jìn)入銷售管理菜單界面。
12、</p><p> 設(shè)計函數(shù),建立銷售管理菜單界面,運用switch語句選擇各功能進(jìn)行選擇。</p><p> 設(shè)計函數(shù),輸入正確的銷售員編號,用for語句輸出個人銷售情況,并調(diào)用函數(shù),返回上一級。 </p><p> 設(shè)計函數(shù),用for語句對每個銷售員的月銷售量求和,并用選擇排序法將銷售量和相應(yīng)的銷售員編號按從大到小的順序分別放入到兩個不同的數(shù)組,用for語
13、句輸出查看本月銷售員銷售量排行,最后調(diào)用xsgl(p)函數(shù),返回上一級。</p><p> 設(shè)計函數(shù),用for語句將每種產(chǎn)品的銷售總量和相應(yīng)的產(chǎn)品編號經(jīng)選擇排序后存放到兩個數(shù)組中,用for語句輸出本月產(chǎn)品銷售量排行,最后調(diào)用函數(shù),返回上一級。</p><p> 設(shè)計函數(shù),用for語句輸出每個銷售員每種產(chǎn)品的銷售量,并用for語句輸出每種產(chǎn)品和總的銷售產(chǎn)品的銷售量,輸出本月銷售報表。最后
14、調(diào)用函數(shù),返回菜單功能。</p><p> 其中還運用到了系統(tǒng)函數(shù)system(“pause”)、system(“cls”)(清屏),結(jié)構(gòu)體數(shù)組的建立與存取。</p><p><b> 4 源代碼</b></p><p> #include<stdio.h></p><p> #include<
15、;stdlib.h></p><p> typedef struct note</p><p> { char sailer;</p><p> int count[6];</p><p> }note;/*定義便條結(jié)構(gòu)體*/</p><p> void menu();/*菜單界面*/</p>
16、;<p> void putinnote();/*輸入便條功能*/</p><p> void savefile(note p);/*保存便條功能*/</p><p> void putoutnote();/*導(dǎo)入便條功能*/</p><p> void xsgl(note *p);/*銷售管理菜單界面*/</p><p&g
17、t; void showone(note *p);/*查看個人銷售情況*/</p><p> void showrenpaihang(note *p);/*查看本月銷售員銷售量排行*/</p><p> void showwupaihang(note *p);/*查看本月產(chǎn)品銷售量排行*/</p><p> void showform(note *p);/*
18、輸出本月銷售報表*/</p><p><b> /*菜單界面*/</b></p><p> void menu()</p><p><b> { int i;</b></p><p> printf("\t**************************************
19、*****************\n\n\n"); </p><p> printf("\t***************歡迎使用銷售管理系統(tǒng)******************\n\n\n");</p><p> printf("\t*******************************************************
20、*\n\n");</p><p> printf("\t\t************請選擇功能*************\n\n");</p><p> printf("\t\t1.輸入便條內(nèi)容\n\n");</p><p> printf("\t\t2.銷售管理\n\n");</p&
21、gt;<p> printf("\t\t3.退出系統(tǒng)\n\n");</p><p> printf("\t\t請輸入功能數(shù)字:");</p><p> scanf("%d",&i);</p><p> system("cls");</p>&l
22、t;p><b> switch(i)</b></p><p> { case 1:putinnote();break;</p><p> case 2:putoutnote(); break;</p><p> default:menu();break;</p><p><b> }</b
23、></p><p><b> }</b></p><p> /*輸入便條功能*/</p><p> void putinnote()</p><p><b> { note p;</b></p><p><b> int i,j;</b>
24、</p><p> printf("\n\t請輸入銷售員代號:\n");</p><p> scanf("%c",&p.sailer);</p><p> while(p.sailer<'A'||p.sailer>'D')</p><p> {
25、 printf("\t代號為A-D,請重新輸入:");</p><p> scanf("%c",&p.sailer);</p><p> printf("\n\n");</p><p><b> }</b></p><p> p.count[0]
26、=0;</p><p> for(i=1;i<=5;++i)</p><p> { printf("\t請輸入第%d種產(chǎn)品銷售數(shù)量:",i);</p><p> scanf("%d",&p.count[i]);</p><p> p.count[0]+=p.count[i];<
27、;/p><p><b> }</b></p><p> printf("\n\n");</p><p> printf("\t**********1.保存輸入**********\n\n");</p><p> printf("\t**********2.重新輸入**
28、********\n\n");</p><p> printf("\t**********3.返回上級**********\n\n");</p><p> scanf("%d",&j);</p><p> system("cls");</p><p><
29、b> switch(j)</b></p><p> { case 1:savefile(p);break;</p><p> case 2:putinnote();break;</p><p> case 3:menu();break;</p><p><b> }</b></p>
30、<p><b> }</b></p><p><b> /*保存便條*/</b></p><p> void savefile(note p)</p><p> { FILE *fp;</p><p><b> int i;</b></p>
31、<p> char filename[20];</p><p> printf("請輸入要保存到的文件名:");</p><p> scanf("%s",&filename);</p><p> fp=fopen(filename,"a");</p><p&g
32、t; if(fwrite(&p,sizeof(p),1,fp))</p><p> {fclose(fp);</p><p> printf("********************1.重新輸入********************\n\n");</p><p> printf("******************
33、**2.返回上級********************\n");</p><p> scanf("%d",&i);</p><p> system("cls");</p><p><b> switch(i)</b></p><p> {case 1:p
34、utinnote();break;</p><p> case 2:menu();break;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> fclos
35、e(fp);</p><p><b> } </b></p><p> /*導(dǎo)入便條功能*/</p><p> void putoutnote()</p><p> { char filename[20];</p><p> note p[5],outbt;</p><
36、;p><b> FILE *fp;</b></p><p> int c,i,j;</p><p> for(j=0;j<5;++j)</p><p> { for(i=0;i<6;++i)</p><p> p[j].count[i]=0;</p><p><b
37、> }</b></p><p> printf("請輸入便條文件:");</p><p> scanf("%s",&filename);</p><p> fp=fopen(filename,"r");</p><p><b> if(!
38、fp) </b></p><p> { printf("請輸入正確的便條文件:");</p><p> scanf("%s",&filename);</p><p> fp=fopen(filename,"r");</p><p><b> }&
39、lt;/b></p><p> c=fgetc(fp);</p><p> while(c!=-1)</p><p> { fseek(fp,-1L,1);</p><p> fread(&outbt,sizeof(outbt),1,fp);</p><p> i=outbt.sailer-
40、39;A'+1;</p><p> for(j=0;j<6;++j)</p><p> p[i].count[j]+=outbt.count[j];</p><p> c=fgetc(fp);</p><p><b> }</b></p><p> fclose(fp);&
41、lt;/p><p> system("cls");</p><p><b> xsgl(p);</b></p><p><b> }</b></p><p> /*銷售管理菜單界面*/</p><p> void xsgl(note *p)</
42、p><p><b> { int i;</b></p><p> printf("\t*********************銷售管理菜單**********************\n\n");</p><p> printf("\t---------------1.查看個人銷售情況-------------
43、---------\n\n");</p><p> printf("\t---------------2.查看本月銷售員銷售量排行--------------\n\n");</p><p> printf("\t---------------3.查看本月產(chǎn)品銷售量排行----------------\n\n");</p>
44、<p> printf("\t---------------4.輸出本月銷售報表----------------------\n\n");</p><p> printf("\t---------------5.返回主菜單----------------------------\n\n");</p><p> printf("
45、;\t---------------6.退出系統(tǒng)------------------------------\n\n");</p><p> printf("\t*******************************************************\n\n");</p><p> printf("\n\t請輸入您想要進(jìn)行的
46、操作:");</p><p> scanf("%d",&i);</p><p> system("cls");</p><p><b> switch(i)</b></p><p> {case 1:showone(p);break;</p>
47、<p> case 2:showrenpaihang(p);break;</p><p> case 3:showwupaihang(p);break;</p><p> case 4:showform(p);break;</p><p> case 5:menu();break;</p><p> default:xs
48、gl(p);</p><p><b> }</b></p><p><b> }</b></p><p> /*查看個人銷售情況*/</p><p> void showone(note *p)</p><p><b> { char c;</b&g
49、t;</p><p><b> int i,j;</b></p><p> printf("請輸入想查看的銷售員代號:");</p><p> scanf("%c",&c);</p><p> while(c<'A'||c>'D&
50、#39;)</p><p> { printf("當(dāng)前只有A-D四位銷售員,請重新輸入:");</p><p> scanf("%c",&c);</p><p><b> }</b></p><p> i=c-'A'+1;</p>&l
51、t;p> printf("\n本月銷售員銷量排行如下:\n\n");</p><p> printf("編號為%c的銷售員本月銷售業(yè)績?yōu)?\n\n",c);</p><p> for(j=1;j<=5;++j)</p><p> printf("%d號產(chǎn)品銷售量為:%d(件)\n\n",
52、j,p[i].count[j]);</p><p> printf("\n***************按任意鍵返回****************\n");</p><p> system("pause");</p><p> system("cls");</p><p>&
53、lt;b> xsgl(p);</b></p><p><b> }</b></p><p> /*查看本月銷售員銷售量排行*/</p><p> void showrenpaihang(note *p)</p><p> { int i,j,shu[4],temp;</p>&l
54、t;p> char man[4],func;</p><p> for(i=0;i<5;++i)</p><p> { shu[i]=p[i+1].count[0];</p><p> man[i]='A'+i;</p><p><b> }</b></p><p
55、> for(i=0;i<4;++i)</p><p> { for(j=i;j<4;++j)</p><p> { if(shu[i]<=shu[j])</p><p> { temp=shu[i];</p><p> func= man[i];</p><p> shu[i]=sh
56、u[j];</p><p> man[i]= man[j];</p><p> shu[j]=temp;</p><p> man[j]=func;</p><p><b> }</b></p><p><b> }</b></p><p>
57、<b> }</b></p><p> for(i=0;i<4;++i)</p><p> printf("第%d名: 代號為%c 銷售總量為:%d\n",i+1, man[i],shu[i]);</p><p> printf("\n");</p><p>
58、printf("\n***************按任意鍵返回***************\n\n");</p><p> system("pause");</p><p> system("cls");</p><p><b> xsgl(p);</b></p>
59、<p><b> }</b></p><p> /*查看本月產(chǎn)品銷售量排行*/</p><p> void showwupaihang(note *p)</p><p> { int shu[5],i,j,hao[5],temps,temph;</p><p> for(i=0;i<5;++i
60、)</p><p> { shu[i]=0;</p><p> hao[i]=i+1;</p><p><b> }</b></p><p> for(i=1;i<6;++i)</p><p> { for(j=1;j<5;++j)</p><p>
61、 shu[i-1]+=p[j].count[i];</p><p><b> }</b></p><p> for(i=0;i<5;++i)</p><p> { for(j=i;j<5;++j)</p><p> { if(shu[i]<=shu[j])</p><p>
62、; { temps=shu[i];</p><p> temph=hao[i];</p><p> shu[i]=shu[j];</p><p> hao[i]=hao[j];</p><p> shu[j]=temps;</p><p> hao[j]=temph;</p><p>
63、;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("本月各產(chǎn)品銷售排行如下:\n\n");</p><p> for(i=0;i<5;++i)</p>
64、;<p> printf("第%d名: %d號產(chǎn)品 銷售量為:%d\n",i+1,hao[i],shu[i]);</p><p> printf("\n");</p><p> printf("\n***************按任意鍵返回***************\n\n");</p>
65、<p> system("pause");</p><p> system("cls");</p><p><b> xsgl(p);</b></p><p><b> }</b></p><p> /*輸出本月銷售報表*/</p&g
66、t;<p> void showform(note *p)</p><p> { int sum[6],i,j;</p><p> for(i=0;i<6;++i)</p><p><b> sum[i]=0;</b></p><p> for(i=1;i<6;++i)</p&g
67、t;<p> { for(j=1;j<5;++j)</p><p> { sum[i-1]+=p[j].count[i];</p><p> sum[5]+=p[j].count[i];</p><p><b> }</b></p><p><b> }</b><
68、/p><p> printf("本月銷售報表如下:\n\n");</p><p> printf("\n\n 銷售員代號\t 1\t 2\t 3\t 4\t 5\t每人銷售產(chǎn)品總量\n");</p><p> printf("-------------------------------------------
69、---------------------\n");</p><p> for(i=1;i<5;++i)</p><p> printf("\t%c\t%3d\t %3d\t %3d\t %3d\t %3d\t %3d\n",'A'+i-1,p[i].count[1],p[i].count[2],p[i].count[3],p[i].
70、count[4],p[i].count[5],p[i].count[0]);</p><p> printf(" 每種產(chǎn)品\n 銷售總量\t");</p><p> for(i=0;i<=5;i++)</p><p> printf("%d \t",sum[i]);</p><p>
71、 printf("\n\n------------------------按任意鍵返回-------------------------\n");</p><p> system("pause");</p><p> system("cls");</p><p><b> xsgl(p);&
72、lt;/b></p><p><b> }</b></p><p><b> main()</b></p><p><b> { menu();</b></p><p> system("pause");</p><p>
73、; system("cls"); </p><p><b> } </b></p><p><b> 5實驗結(jié)果</b></p><p><b> 圖5.1 菜單界面</b></p><p> 圖5.2 輸入便條功能</p><
74、;p><b> 圖5.3 銷售報表</b></p><p><b> 6心得體會</b></p><p> 經(jīng)過本次C語言課程設(shè)計實踐學(xué)習(xí),我對c語言有了更進(jìn)一步的認(rèn)識和了解。通過實踐,發(fā)現(xiàn)自己對程序的輸入、運算類型(邏輯運算、自增自減運算、賦值運算等)、程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))和函數(shù)、文件的使用的還不夠熟練,對c
75、語言的一些標(biāo)準(zhǔn)庫函數(shù)、c語言中經(jīng)常出現(xiàn)的錯誤不太了解,通過實踐,我在這幾個方面的認(rèn)識有所提高。</p><p> 要學(xué)好c語言程序這門課程,不僅要認(rèn)真閱讀課本知識,更重要的是要通過上機(jī)實踐來增強(qiáng)和鞏固所學(xué)知識。因為實踐重于理論!</p><p><b> 參考文獻(xiàn)</b></p><p> ?。郏保萸『?#183;合孜爾.C語言程序設(shè)計[第
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計-訂單式銷售管理系統(tǒng)課程設(shè)計
- 公司銷售管理系統(tǒng)課程設(shè)計
- 醫(yī)藥銷售管理系統(tǒng)課程設(shè)計
- 課程設(shè)計—手機(jī)銷售管理系統(tǒng)
- 汽車銷售管理系統(tǒng)sql課程設(shè)計
- 商品銷售管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計--銷售管理系統(tǒng)
- c語言課程設(shè)計----銷售管理系統(tǒng)
- 超市銷售管理系統(tǒng)--課程設(shè)計報告
- java課程設(shè)計--企業(yè)銷售管理系統(tǒng)
- 銷售管理__課程設(shè)計
- 汽車銷售管理管理系統(tǒng)課程設(shè)計報告
- c語言課程設(shè)計-銷售管理系統(tǒng)
- 銷售管理系統(tǒng)c++課程設(shè)計
- 手機(jī)銷售管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計--商品銷售管理系統(tǒng)
- c語言課程設(shè)計銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--- 銷售管理系統(tǒng)
- c語言課程設(shè)計報告---銷售管理系統(tǒng)
- 銷售信息管理系統(tǒng)課程設(shè)計報告
評論
0/150
提交評論