C語(yǔ)言課程設(shè)計(jì)范例_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)范例_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)范例_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)范例_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)范例_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、XXXXXXXXXXXXXXXXXXX課程設(shè)計(jì)報(bào)告題 目: 班 級(jí): 學(xué) 號(hào): 姓 名: 同組人員: 指導(dǎo)教師: 二0 年 月 日目錄一 設(shè)計(jì)題目1二 總體設(shè)計(jì)2三 程序流程3四函數(shù)流程圖8五 實(shí)驗(yàn)結(jié)果12六設(shè)計(jì)體會(huì)13七 參考文獻(xiàn)14八源程序清單14銷(xiāo)售管理系統(tǒng)一、 題目(一) 設(shè)計(jì)目標(biāo)1通過(guò)本課程設(shè)計(jì),培養(yǎng)上機(jī)動(dòng)手能力,使學(xué)生鞏固C語(yǔ)言程序設(shè)計(jì)課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手能力,闖過(guò)編程關(guān);2為后續(xù)各門(mén)計(jì)算機(jī)課程的學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。(二) 課程設(shè)計(jì)內(nèi)容和要求:1設(shè)計(jì)內(nèi)容:某公司有四個(gè)銷(xiāo)售員(編號(hào):A,B,C,D),負(fù)責(zé)銷(xiāo)售五種產(chǎn)品(編號(hào):1-5)。每個(gè)銷(xiāo)售員都將當(dāng)

2、天出售的產(chǎn)品寫(xiě)一張便條交上來(lái)。每張便條包含內(nèi)容:1)銷(xiāo)售員的代號(hào);2)每種產(chǎn)品的代號(hào)和銷(xiāo)售量;假設(shè),收集到了上個(gè)月的所有便條,編寫(xiě)一個(gè)處理系統(tǒng),讀取上個(gè)月的銷(xiāo)售情況(自己設(shè)定),進(jìn)行如下處理:1)計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售量。2)按銷(xiāo)售量對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果(銷(xiāo)售員代號(hào))3)統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售量,對(duì)這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號(hào)和銷(xiāo)售量)4)輸出統(tǒng)計(jì)報(bào)表 銷(xiāo)售統(tǒng)計(jì)報(bào)表產(chǎn)品代號(hào)每人銷(xiāo)售產(chǎn)品總量銷(xiāo)售員代號(hào)12345ABCD每種產(chǎn)品銷(xiāo)售總量2設(shè)計(jì)要求:1)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2)必須使用結(jié)構(gòu)體和文件等數(shù)據(jù)結(jié)構(gòu)。3)程序的運(yùn)行結(jié)果要

3、求使用文件作備份。4)至少輸出一份報(bào)表,鼓勵(lì)自行增加新功能。(三) 提交資料:1實(shí)驗(yàn)報(bào)告(要求正規(guī)打印,A4幅面),內(nèi)容包括:1) 題目;2)系統(tǒng)功能模塊結(jié)構(gòu)圖3)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明4)程序結(jié)構(gòu)(畫(huà)功能模塊圖或流程圖)5)各模塊的功能6)實(shí)驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)7)設(shè)計(jì)體會(huì)8)參考文獻(xiàn)2程序清單及源程序軟盤(pán)(四) 參考資料本設(shè)計(jì)主要應(yīng)用C程序設(shè)計(jì)中的結(jié)構(gòu)體、鏈表、文件等知識(shí)點(diǎn)??蓞⒖急窘滩幕蛘?包含上述內(nèi)容的任何教材。二、總體設(shè)計(jì)1. 程序設(shè)計(jì)組成框圖銷(xiāo)售系統(tǒng)1 計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售額3 按產(chǎn)品銷(xiāo)額從高到底的順序排序5退出系統(tǒng)4 輸出統(tǒng)計(jì)報(bào)表2 按銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序

4、2. 程序流程圖main()menu()if(choice=5)case 1;f1();case 2;f2();case 3;f3();case 4;f4();scanf("%d",&choice);switch(choice)for(i=0;i+)break;break;結(jié)束三、 程序流程1、 功能函數(shù)f1() 函數(shù)的功能: 計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售額 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1時(shí)進(jìn)入該函數(shù),打開(kāi).dat數(shù)據(jù)文件,然后提示用戶通過(guò)鍵盤(pán)對(duì)該月的員工銷(xiāo)售情況進(jìn)行數(shù)據(jù)的讀入。函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由

5、switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 當(dāng)程序執(zhí)行提示語(yǔ)“printf("繼續(xù)輸入請(qǐng)按回車(chē),結(jié)束輸入請(qǐng)按escn");”的時(shí)候,對(duì)用戶的操作進(jìn)行提示,如果用戶選擇了按“ESC”鍵,則用戶選擇了結(jié)束數(shù)據(jù)的錄入,將結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。2、 功能函數(shù)f2()函數(shù)的功能: 按銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果。 函數(shù)的入口: 程序從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為2時(shí),開(kāi)始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先用“fopen()

6、”打開(kāi)文件,然后利用“fread()”讀取二進(jìn)制數(shù)據(jù),最終利用選擇排序法,按銷(xiāo)售員的所選產(chǎn)品的總銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 當(dāng)輸出排序結(jié)果用printf()標(biāo)準(zhǔn)輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。3、 功能函數(shù)f3()函數(shù)的功能: 統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售額,輸出排序結(jié)果 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為3的時(shí)侯,進(jìn)入該函數(shù),開(kāi)始讀取數(shù)據(jù)對(duì)用戶進(jìn)行提示,

7、然后統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售額。將計(jì)算后的總銷(xiāo)售額進(jìn)行排序,最終把排序的結(jié)果用printf()標(biāo)準(zhǔn)輸出函數(shù),將結(jié)果輸出在屏幕上。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)輸出排序結(jié)果用printf()標(biāo)準(zhǔn)輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。圖-寫(xiě)入銷(xiāo)售數(shù)據(jù)界面4、 功能函數(shù)f4()函數(shù)的功能: 輸出統(tǒng)計(jì)報(bào)表 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為4時(shí),進(jìn)入該函數(shù),然后通過(guò)fopen()函數(shù)。即:“

8、if(fp=fopen(fname,"rb")=NULL)” 打開(kāi)文件。進(jìn)入數(shù)據(jù)的處理。函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 開(kāi)始時(shí)讀取數(shù)據(jù)后,統(tǒng)計(jì)報(bào)表已經(jīng)輸出到屏幕上時(shí),然后利用而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。5、功能函數(shù)主菜單 menu() 圖-主菜單界面函數(shù)的功能: 主要作用是提示用戶操作,體現(xiàn)模塊化思想,主要是顯示出菜單讓用戶選擇要進(jìn)行的任務(wù)。函數(shù)的入口: 從主函數(shù)main()中的system("cls");

9、 /*清屏命令*/menu(); /*菜單函數(shù)提示用戶怎樣選擇*/進(jìn)入函數(shù),這是直接被主函數(shù)main()調(diào)用的。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口:執(zhí)行完所有的printf()函數(shù)后自動(dòng)退出該函數(shù)。6、 功能函數(shù)主函數(shù) main() 軟件進(jìn)入提示頁(yè)面函數(shù)的功能: 用于聯(lián)系各個(gè)功能函數(shù)模塊,以及退出程序時(shí)的退出畫(huà)面提示。函數(shù)的入口: 整個(gè)程序是從主函數(shù)開(kāi)始的。函數(shù)的出口: 當(dāng)從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值為5時(shí)通過(guò)break;跳出for循環(huán),然后退出main()函數(shù),即:退出整個(gè)程序。函數(shù)調(diào)用關(guān)系:該函數(shù)不被其它函數(shù)調(diào)用

10、四、 流程圖進(jìn)入if(fp=fopen(fname,"wb")=NULL)printf("不能打開(kāi)文件!n");scanf("%s",fname);exit(0);for(j=0;j<R;j+)for(t=0;t<Z;t+)(x+j)->shangpint=0;for(j=0;hitkey!=27;j+)getch();scanf("%d%d%d",&i,&k,&s);hitkey=getch();結(jié)束f1()的流程圖 startif(fp=fopen(fname,&quo

11、t;wb")=NULL)printf("不能打開(kāi)文件!n");scanf("%s",fname);exit(0);for(i=0;i<R;i+)printf("讀入信息出錯(cuò)!");for(i=0;i<R;i+)fclose(fp);if(fread(x+i,sizeof(data),1,fp)!=1) printf("讀入信息出錯(cuò)!");endf2()的流程圖 if(fread(x+i,sizeof(data),1,fp)!=1)入口if(fp=fopen(fname,"wb&quo

12、t;)=NULL)printf("不能打開(kāi)文件!n");scanf("%s",fname);exit(0);退出for(i=0;i<R;i+)if(fread(x+i,sizeof(data),1,fp)!=1)printf("讀入信息出錯(cuò)!");for(i=0;i<Z;i+)fclose(fp);getch();for(j=0;j<R;j+)sumi=sumi+(x+j)->shangpini;出口f3()的流程圖 進(jìn)入if(fp=fopen(fname,"wb")=NULL)printf

13、("不能打開(kāi)文件!n");scanf("%s",fname);exit(0);for(i=0;i<R;i+)printf("讀入信息出錯(cuò)!");for(i=0;i<Z;i+)printf("nnnttt按任意鍵返回主菜單!");for(i=0;i<Z;i+) sumZ=sumZ+sumi;Endf4()的流程圖 if(fread(x+i,sizeof(data),1,fp)!=1)for(j=0;j<R;j+)sumi=sumi+(x+j)->shangpini;for(i=0;i&l

14、t;Z;i+) 五、 實(shí)驗(yàn)結(jié)果輸入一月份各個(gè)銷(xiāo)售員的銷(xiāo)售信息:產(chǎn)品代號(hào)銷(xiāo)售員123451468121027382536677441891211執(zhí)行程序結(jié)果,一月份按產(chǎn)品1銷(xiāo)售量對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果如下:統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售量,對(duì)這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果如下:輸出統(tǒng)計(jì)報(bào)表如下:六、 設(shè)計(jì)體會(huì)經(jīng)過(guò)C語(yǔ)言課程設(shè)計(jì)實(shí)踐學(xué)習(xí),使我對(duì)c語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,板通過(guò)實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是在程序輸入上還不夠熟練,經(jīng)常按錯(cuò)字母,通過(guò)學(xué)習(xí)也有所改進(jìn);再有對(duì)c語(yǔ)言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)c語(yǔ)言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過(guò)實(shí)踐

15、,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。在本次試驗(yàn)中掌握了C語(yǔ)言的基本知識(shí):數(shù)據(jù)類型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等。進(jìn)一步掌握各種函數(shù)的應(yīng)用,以及文件的讀寫(xiě)操作等。我認(rèn)為要學(xué)好c語(yǔ)言程序這門(mén)課程,不僅要認(rèn)真閱讀課本知識(shí),更重要的是要通過(guò)上機(jī)實(shí)踐才能增強(qiáng)和鞏固我的知識(shí)。只有這樣我們才能成為合格的計(jì)算機(jī)人材。七、 參考文獻(xiàn)1、C語(yǔ)言程序設(shè)計(jì).普措才仁版2、C語(yǔ)言程序設(shè)計(jì).譚浩強(qiáng)版3、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言.2008版4、C語(yǔ)言上機(jī)指導(dǎo)5、Mic

16、rosoft Visual C+ 6.0指南6、C語(yǔ)言之家()7、C語(yǔ)言教室()八、 源程序清單1) /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售量。2) 按銷(xiāo)售量對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果(銷(xiāo)售員代號(hào))3) 統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售量,按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品代號(hào),銷(xiāo)售量)4) 輸出統(tǒng)計(jì)報(bào)表*/1) #include <stdio.h>2) #include <string.h>3) #include <conio.h>4) #include <stdlib.h>5) #define Z 56) #define R 4 /*定義宏常量便

17、于程序的一般化*/ /*R表示銷(xiāo)售員個(gè)數(shù)*/7) typedef struct /*縮短結(jié)構(gòu)體變量名*/8) int shangpinZ; /*定義結(jié)構(gòu)體便于信息的存儲(chǔ)和讀寫(xiě),辨別*/ 9) data;/*R是表示商品的種類,最后一個(gè)為該銷(xiāo)售員商品總和*/10) void menu() 11) system("cls");/*清屏命令*/12) printf("nn");13) printf("t 主菜單n");14) printf("t 1.計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售量 n");15) printf(&quo

18、t;t 2.按銷(xiāo)售量對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果 n");16) printf("t 3.統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售量,輸出排序結(jié)果 n");17) printf("t 4.輸出統(tǒng)計(jì)報(bào)表 n");18) printf("t 5.結(jié)束操作 n");19) printf("t n");20) 21) void f1(data *x) /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售量*/22) FILE *fp;23) char fname10,hitkey;24) int j,t; /*用于控制循環(huán)*/25) int i,k

19、,s; /*用于定義職工序號(hào),產(chǎn)品序號(hào),產(chǎn)品數(shù)量*/26) system("cls");/*清屏命令*/27) printf("您想計(jì)算哪個(gè)月?n");28) printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息寫(xiě)入*/29) scanf("%s",fname);30) strcat(fname,".dat");31) if(fp=fopen(fname,"wb")=NULL) /*打開(kāi)文件*/32) printf("不能打開(kāi)文件!n&quo

20、t;);33) exit(0);/* 正常exit(0);結(jié)束程序*/34) 35) for(j=0;j<R;j+) /*對(duì)商品數(shù)量清零*/36) for(t=0;t<Z;t+)37) (x+j)->shangpint=0;38) printf("請(qǐng)輸入:n職工編號(hào)產(chǎn)品編號(hào)銷(xiāo)售數(shù)量n"); /*提示用戶寫(xiě)入信息的格式*/39) for(j=0;hitkey!=27;j+)40) scanf("%d%d%d",&i,&k,&s);41) if(i>R|i<0|k>Z|k<0) 42) pri

21、ntf("信息錯(cuò)誤!n"); /*提示語(yǔ),避免輸入信息出錯(cuò)*/43) continue;44) 45) else46) (x+i-1)->shangpink-1=(x+i-1)->shangpink-1+s; /*統(tǒng)計(jì)各個(gè)人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號(hào)相匹配*/47) printf("繼續(xù)輸入請(qǐng)按回車(chē),結(jié)束輸入請(qǐng)按escn");48) printf("n");49) hitkey=getch();50) for (;hitkey!=13&&hitkey!=27;)51) hitkey=getch

22、();52) 53) for(j=0;j<R;j+)54) if(fwrite(x+j),sizeof(data),1,fp)!=1) /*把信息寫(xiě)入文件中便有以后調(diào)用*/55) printf("write error!n");56) fclose(fp); /*關(guān)閉文件避免信息遺漏*/57) printf("nnnnnnttt保存成功,按任意鍵返回主菜單!");58) getch();59) 60) void f2(data *x) /*按銷(xiāo)售量對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果*/61) FILE *fp;62) char fname10;63)

23、int i,k,j,t,bianhaoR=0,z;64) system("cls");/*清屏命令*/65) printf("你要哪個(gè)月的?n");66) printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/67) scanf("%s",fname);68) strcat(fname,".dat");69) if(fp=fopen(fname,"rb")=NULL) /*打開(kāi)文件*/70) printf("不能打開(kāi)文件!n"

24、);71) exit(0);72) 73) for(i=0;i<R;i+) /*讀出信息*/74) if(fread(x+i,sizeof(data),1,fp)!=1)75) printf("讀入信息出錯(cuò)!"); /*讀入信息提示*/76) for(i=0;i<R;) /*用于存儲(chǔ)職工編號(hào)*/77) bianhaoi=i+;78) printf("請(qǐng)輸入按何種產(chǎn)品排序n");79) scanf("%d",&k);80) k=k-1; /*便于與結(jié)構(gòu)體中的數(shù)組值對(duì)應(yīng)*/81) for(i=0;i<R;i+)

25、/*按K種產(chǎn)品對(duì)銷(xiāo)售員排序,選擇法排序*/82) t=i;83) for(j=i+1;j<R;j+)84) if(x+bianhaot)->shangpink<(x+bianhaoj)->shangpink)/*調(diào)用職工各自對(duì)應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/ t=j;85) if(t!=i)86) z=bianhaoi;87) bianhaoi=bianhaot;88) bianhaot=z;89) 90) 91) printf("ttt按%d產(chǎn)品對(duì)銷(xiāo)售員排序?yàn)?n",k+1);92) printf("n");93) for(i=0;i

26、<R;i+)94) printf("ttt第%d名是: 員工%dn",i+1,bianhaoi+1);95) printf("nnnttt按任意鍵返回上一主菜單!");96) getch();97) fclose(fp);/*關(guān)閉讀入的文件*/98) 99) void f3(data *x) /*統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售量,輸出排序結(jié)果*/100) FILE *fp;101) char fname10;102) int i,j,sumZ=0,bianhaoZ=0,z,t,k;103) system("cls");/*清屏命令*/10

27、4) printf("您想計(jì)算哪個(gè)月的?n");105) printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/106) scanf("%s",fname);107) strcat(fname,".dat");108) if(fp=fopen(fname,"rb")=NULL) /*打開(kāi)文件*/109) printf("不能打開(kāi)文件!n");110) exit(0);111) 112) for(i=0;i<R;i+) /*讀出信息*/113

28、) if(fread(x+i,sizeof(data),1,fp)!=1)114) printf("讀入信息出錯(cuò)!");115) for(i=0;i<Z;i+) /*對(duì)各種商品求和*/116) for(j=0;j<R;j+)117) sumi=sumi+(x+j)->shangpini;118) for(i=0;i<Z;) /*用于存儲(chǔ)商品編號(hào)*/119) bianhaoi=i+;120) for(i=0;i<Z;i+)121) printf("%3d",bianhaoi);122) for(i=0;i<Z;i+) /

29、*對(duì)產(chǎn)品從高到低排序,選擇法排序*/123) t=i;124) for(j=i+1;j<Z;j+) /*產(chǎn)品變化時(shí),產(chǎn)品編號(hào)也隨之變化,便于輸出*/125) if(sumt<sumj) 126) t=j;127) if(t!=i)128) k=sumi;129) sumi=sumt;130) sumt=k;131) z=bianhaoi;132) bianhaoi=bianhaot;133) bianhaot=z;134) 135) 136) printf("輸出產(chǎn)品排序n");137) printf("產(chǎn)品編號(hào) 數(shù)量n");138) pri

30、ntf("n");139) for(i=0;i<Z;i+)140) printf(" 產(chǎn)品%-7d%-1dn",bianhaoi+1,sumi);141) printf("nnnttt按任意鍵返回主菜單!");142) getch();143) fclose(fp);/*關(guān)閉讀入的文件*/144) 145) void f4(data *x) /*輸出統(tǒng)計(jì)報(bào)表*/146) FILE *fp;147) char fname10;148) int i,j,sumZ+1=0;149) system("cls");/*

31、清屏命令*/150) printf("您想計(jì)算哪個(gè)月?n");151) printf("請(qǐng)輸入月份:"); /*實(shí)為輸入一個(gè)文件名,這樣可以進(jìn)行各個(gè)月份的信息讀入*/152) scanf("%s",fname);153) strcat(fname,".dat");154) if(fp=fopen(fname,"rb")=NULL) /*打開(kāi)文件*/155) printf("不能打開(kāi)文件!n");156) exit(0);157) 158) for(i=0;i<R;i+)

32、 /*讀出信息*/159) if(fread(x+i,sizeof(data),1,fp)!=1)160) printf("讀入信息出錯(cuò)!");161) for(i=0;i<Z;i+) /*對(duì)各種商品求和*/162) for(j=0;j<R;j+)163) sumi=sumi+(x+j)->shangpini;164) for(i=0;i<Z;i+) /*求商品總和*/165) sumZ=sumZ+sumi;166) printf("n");167) printf("輸出統(tǒng)計(jì)報(bào)表如下:n"); /*按要求輸出統(tǒng)計(jì)表*/168) printf("銷(xiāo)售員代號(hào) 產(chǎn)品代號(hào) 銷(xiāo)售之和n");169) for(i=0;i<R;i+)170) for(j=0;j<Z;j+)171) printf(" 員工%-8d產(chǎn)品%-6d數(shù)量%-10dn",i+1,j+1,(x+i)->shangpinj);172) printf("n");173) for(i=0;i<Z;i+)174) if(i=0) 175) printf("產(chǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論