版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C語言課程設(shè)計報告</b></p><p> 設(shè)計題目: 銷售管理系統(tǒng)設(shè)計 </p><p> 設(shè)計人員: </p><p> 指導(dǎo)教師: </p><p> 所在院系:
2、 </p><p> 年級班級: </p><p><b> 目 錄</b></p><p> C語言課程設(shè)計-銷售管理系統(tǒng)3</p><p> 銷售管理系統(tǒng)的設(shè)計目的4</p><p><b> 總體設(shè)計5</b></p&g
3、t;<p><b> 詳細(xì)設(shè)計7</b></p><p> 一、課題的功能模塊的劃分。7</p><p> 1.主菜單及頭文件設(shè)計:7</p><p> 2.編輯系統(tǒng)菜單運行:8</p><p><b> 3.輸入信息:9</b></p><p&
4、gt; 4.保存信息,參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù):9</p><p> 5. 讀入取函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組:10</p><p> 6.清單輸出:11</p><p> 二、主要功能的實現(xiàn)13</p><p> 程序調(diào)試與測試20</p><p><b> 執(zhí)行結(jié)果20</b>
5、;</p><p><b> 總結(jié)28</b></p><p> C語言課程設(shè)計-銷售管理系統(tǒng)</p><p> 題目:銷售管理系統(tǒng)某公司有四個銷售員(編號:1-4),負(fù)責(zé)銷售五種產(chǎn)品(編號:1-5)。每個銷售員都將當(dāng)天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容: 1)銷售員的代號 2)產(chǎn)品的代號 3)這種產(chǎn)品的當(dāng)天的銷
6、售額 每位銷售員每天可能上繳0-5張便條。假設(shè),收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售情況(自己設(shè)定),進(jìn)行如下處理。 1)計算上個月每個人每種產(chǎn)品的銷售額。 2)按銷售額對銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號) 3)統(tǒng)計每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號和銷售額)(可選項) 4)輸出統(tǒng)計報表</p><p> 銷售管理系統(tǒng)的設(shè)計目
7、的</p><p> 1、通過本課程設(shè)計,培養(yǎng)上機(jī)動手能力,使學(xué)生鞏固《C語言程序設(shè)計》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計的基本方法,強化上機(jī)動手能力,闖過編程關(guān);</p><p> 2、為后續(xù)各門計算機(jī)課程的學(xué)習(xí)打下堅實基礎(chǔ);</p><p> 3、學(xué)會用c語言程序設(shè)計來設(shè)計銷售管理系統(tǒng)設(shè)計。</p><p><b>
8、總體設(shè)計</b></p><p><b> 數(shù)據(jù)結(jié)構(gòu)圖如下:</b></p><p> 如圖為程序設(shè)計流程圖; </p><p><b> 詳細(xì)設(shè)計</b></p><p> 一、課題的功能模塊的劃分。</p><p> 1.主菜單及頭文件設(shè)計:<
9、/p><p> 我們按照老師所給的示例我們首先編譯了一個頭文件,在頭文件里,編譯了主函數(shù)需要用到的一些函數(shù),如#include "stdio.h"等,因為需要錄入便條的所有信息,所有用一個數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)信息的儲存方式,用數(shù)組方式,把每條信息都編譯成一個數(shù)組,如銷售員代號用name[4]記錄。頭文件還包括了定義常數(shù)記錄數(shù)typedef struct,主函數(shù)原型</p><p&g
10、t; int menu_select();/*聲明函數(shù)*/ </p><p> int enter(RECODE t[]);/*聲明函數(shù)*/ </p><p> void salor(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> int sum(RECODE t[],int n,int m);/*聲明函數(shù)*/ </p>
11、<p> void list1(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> void list2(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> void list3(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> void save(RECODE t[],int
12、 n);/*聲明函數(shù)*/ </p><p> int load(RECODE t[]);/*聲明函數(shù)*/</p><p> 這些的都是主函數(shù)需要用到的數(shù)據(jù),因此放入頭文件當(dāng)中,在主程序開始之前直接引用#include "pro.h"。</p><p> 2.編輯系統(tǒng)菜單運行:</p><p> 題目要求我們系統(tǒng)以菜
13、單方式工作,所以我們現(xiàn)要定義一個系統(tǒng)的結(jié)構(gòu)體數(shù)組RECODE rec[600],用for (;;)循環(huán)讓菜單實現(xiàn)無限循環(huán),讓switch(menu_select())調(diào)用主菜單函數(shù),返回值整數(shù)作開關(guān)語句的條件,之后分別定義菜單的信息,如:</p><p><b> case 1:</b></p><p> length=enter(rec);</p>
14、<p> 就是輸入信息的定義編輯,當(dāng)然最后需要用到break來實現(xiàn)返回。菜單定義完成之后,開始編譯菜單的輸出,這部分,用了printf就把需要顯示的菜單顯示出來,然后由用戶選擇菜單的選項,因為菜單只有0~7的選項,為了防止用戶輸入選項超值,所以用do while語句來控制,(c<0||c>7)限定了用戶輸入的數(shù)據(jù)只有0~7才有效,超值則返回開始菜單,重新選擇(return)。</p><p
15、><b> 3.輸入信息:</b></p><p> 輸入信息一般都是使用scanf來實現(xiàn),但在用戶輸入之前需要解決一個問題,程序必須限制用戶的輸入序數(shù)(記錄條數(shù)),所以在輸入數(shù)據(jù)之前,必須先限定序數(shù),方法則是用一個for循環(huán)來實現(xiàn),有用戶輸入一個數(shù)字,成為循環(huán)的上限,而用戶輸入的便條信息則在此限定下,不能超出,當(dāng)超出時則返回到開始菜單。用戶輸入的便條信息分別存入對應(yīng)的數(shù)組當(dāng)中,如
16、便條條數(shù)則存入t[i].num當(dāng)中。</p><p> 4.保存信息,參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù):</p><p> 用戶輸入的信息需要保存時,用save選項進(jìn)行保存。保存的時候,實現(xiàn)應(yīng)該建立一個指向文件的指針,從而固定保存文件時的位置,之后用if語句來判斷打開文件是否正常,if((fp=fopen("record.txt","wb"))==NUL
17、L),如果沒打開(打開不正常),則程序執(zhí)行退出;當(dāng)判斷文件打開正常時,系統(tǒng)顯示“保存文件”(用printf("\n保存文件\n")來完成),保存信息是用到的fprintf函數(shù),將制定記錄數(shù)輸入文件fprintf(fp,"%d",n),因為源文件中采用了換行,保存文件是系統(tǒng)默認(rèn)不會進(jìn)行保存,所有必須加如換行符號保存,防止文件丟失,保證文件以用戶輸入的信息一致,保存換行符號依然采用fprintf函數(shù)來
18、實現(xiàn),具體源文件為fprintf(fp,"\r\n");當(dāng)確立了保存的可以性之后,系統(tǒng)開始錄入需要保存的信息,用for循環(huán)語句,不斷把用戶輸入的信息保存,因為之前在編寫輸入,輸出程序時,都用到了一定的格式,保證信息的一一對應(yīng),所以在保存文件時,也需要確定和輸入是相同的格式,這里依然使用fprintf函數(shù)來進(jìn)行保存,如fprintf(fp,"%-10d%-7d%-7d</p><p>
19、 5. 讀入取函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組:</p><p> 前面已經(jīng)做了文件的保存,當(dāng)保存文件成功后,系統(tǒng)會以record.txt文件保存在與程序同級的文件夾下,而讀入函數(shù),就是為了讓用戶再次打開運行程序時,可以直接讀取之前已經(jīng)輸入并保存過的信息,和儲存信息一樣,讀入函數(shù)也采用了參數(shù)為結(jié)構(gòu)體數(shù)組,同樣應(yīng)該確定文件指向指針FILE *fp,讀入函數(shù)之前,應(yīng)該確定是否有已經(jīng)保存的文件,用保存文件一樣,用if語句來進(jìn)
20、行判斷if((fp=fopen("record.txt","rb"))==NULL),如果判斷失敗,系統(tǒng)不能讀入文件,則會顯示“不能打開文件”,用printf("不能打開文件\n")來實現(xiàn),同時系統(tǒng)要結(jié)束讀入文件的執(zhí)行,用exit(1)實現(xiàn);如果判斷成功,則系統(tǒng)會自動讀入用戶已經(jīng)保存的數(shù)據(jù)(fscanf(fp,"%d",&n)讀入記錄數(shù)),用for循
21、環(huán)把已經(jīng)保存的數(shù)據(jù)一一對應(yīng)的讀入到正在執(zhí)行的程序中,這里需要注意的是,讀取的數(shù)據(jù)格式應(yīng)該同保存時的一致,如儲存時的格式是fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5</p><p> 6.清單輸出: 讀取銷售情況有3個,分別是每個人每種產(chǎn)品的銷售額,按銷售
22、額對銷售員進(jìn)行排序和每種產(chǎn)品的總銷售額三個函數(shù):1).每個人每種產(chǎn)品的銷售額(由周銳完成): 首先,要定義每個人,每種產(chǎn)品,銷售額數(shù)組如int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0},用for循環(huán)來求每個人的總銷售額:for(i=0;i<4;i++)
23、;用for循環(huán)來求每個人每種產(chǎn)品的總銷售額:for(i=0;i<n;i++),for(j=0;j<4;j++);在用for循環(huán)每種產(chǎn)品的總銷售額:for(i=0;i<4;i++),之后則在系統(tǒng)界面輸入銷售員代號,產(chǎn)品代號,產(chǎn)品代號用printf即可實現(xiàn),用sum對每個銷售員的銷售額求和,用system("cls")來錄入信息,然后輸出頭標(biāo)(如銷售員代號,產(chǎn)品代號,銷售額等,用printf實現(xiàn)),之后
24、開始查詢,用 for語句來。2).按銷售額對銷售員進(jìn)行排序(由趙弘完成): </p><p><b> 二、主要功能的實現(xiàn)</b></p><p><b> 頭文件:</b></p><p> #include "stdio.h"/*輸入輸出函數(shù)*/ </p><p&g
25、t; #include "stdlib.h"/*通用應(yīng)用程序函數(shù)*/ </p><p> #include "string.h"/*字符串函數(shù)*/ </p><p> #include "ctype.h"/*字符操作函數(shù)*/ </p><p> typedef struct /*定義結(jié)構(gòu)體變量*/
26、</p><p><b> {</b></p><p> int name[4]; /*銷售員代號*/</p><p> int a1; /*產(chǎn)品一代號*/</p><p> int a2; /*產(chǎn)品二代號*/</p><p> int a3; /*產(chǎn)品三代號*/</p>
27、<p> int a4; /*產(chǎn)品四代號*/</p><p> int a5; /*產(chǎn)品五代號*/</p><p><b> }RECODE; </b></p><p> int me/******以下是函數(shù)原型*******/ </p><p> nu_select();/*聲明函數(shù)*/ </
28、p><p> int enter(RECODE t[]);/*聲明函數(shù)*/ </p><p> void salor(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> int sum(RECODE t[],int n,int m);/*聲明函數(shù)*/ </p><p> void list1(RECODE t[],i
29、nt n);/*聲明函數(shù)*/ </p><p> void list2(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> void list3(RECODE t[],int n);/*聲明函數(shù)*/ </p><p> void save(RECODE t[],int n);/*聲明函數(shù)*/ </p><p>
30、int load(RECODE t[]);/*聲明函數(shù)*/</p><p><b> 函數(shù):</b></p><p> #include "pro.h"</p><p><b> /*主函數(shù)開始*/</b></p><p> void main()/*主函數(shù)*/ <
31、/p><p><b> { </b></p><p> RECODE rec[600]; </p><p> int length; </p><p> system("cls"); /*清屏*/ </p><p> for( ; ; ) /*無限循環(huán)*/ </p&
32、gt;<p> {switch(menu_select()) /*根據(jù)用戶的選擇判斷該調(diào)用哪個功能函數(shù)*/ </p><p><b> { </b></p><p> case 1:length=enter(rec);</p><p><b> break; </b></p><p
33、> case 2:save(rec,length);</p><p><b> break; </b></p><p> case 3:length=load(rec);</p><p><b> break; </b></p><p> case 4:list1(rec,lengt
34、h);</p><p><b> break; </b></p><p> case 5:salor(rec,length);</p><p><b> break; </b></p><p> case 6:list2(rec,length);</p><p>&l
35、t;b> break; </b></p><p> case 7:list3(rec,length);</p><p><b> break;</b></p><p> case 0:exit(0);</p><p><b> }</b></p><p
36、><b> } </b></p><p><b> } </b></p><p> int menu_select() /*菜單函數(shù)*/ </p><p><b> {</b></p><p><b> int n; </b></p&
37、gt;<p> printf(********************MENU*****************\n\n"); </p><p> printf(" 1 輸入便條\n");</p><p> printf(" 2 保存到文件\n"); </p><p> printf("
38、; 3 讀取文件\n");</p><p> printf(" 4 顯示便條清單\n"); </p><p> printf(" 5 每位銷售員的銷售額\n"); </p><p> printf(" 6 每種產(chǎn)品的銷售額\n"); </p><p> prin
39、tf(" 7 按銷售額對銷售員排序\n"); </p><p> printf(" 0 退出管理\n"); </p><p> printf("*********************END****************\n\n"); </p><p> printf(" 請選擇你的操作
40、(0-7): \n"); </p><p> scanf("%d",&n); </p><p> if(0<n && n<7) </p><p> system("cls"); /*清屏*/ </p><p><b> return n;&
41、lt;/b></p><p><b> }</b></p><p><b> /*清單輸入*/</b></p><p> int enter(RECODE t[]) </p><p><b> {</b></p><p> int i,n
42、um; </p><p> system("cls"); /*清屏*/ </p><p> printf("請輸入要寫的便條條數(shù):\n"); </p><p> scanf("%d",&num);/*輸入所要寫入的清單的條數(shù)*/ </p><p> printf(&q
43、uot;name product1 product2 product3 product4 product5"); </p><p> for(i=0;i<num;i++)/*將所輸入的條數(shù)存入結(jié)構(gòu)體數(shù)組中*/ </p><p><b> {</b></p><p> printf("\n\n------
44、------------------------------\n"); </p><p> scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5); </p><p><b> } </b>
45、;</p><p> printf("\n-----------------------------------\n\n\n"); </p><p> return i; </p><p><b> } </b></p><p><b> /*保存文件*/</b><
46、/p><p> void save(RECODE t[],int n) </p><p><b> { </b></p><p><b> int i; </b></p><p> FILE *fp;/*調(diào)用fopen函數(shù)*/ </p><p> if((fp=fope
47、n("record.txt","wb"))==NULL)/*如果函數(shù)帶回一個空指針值*/ </p><p><b> { </b></p><p> printf("不能打開文件\n");/*不能打開文件*/ </p><p><b> exit(1); </b&
48、gt;</p><p><b> } </b></p><p> fprintf(fp,"%d",n); </p><p> fprintf(fp,"\r\n"); </p><p> for(i=0;i<n;i++) </p><p><
49、;b> { </b></p><p> fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5);/*將便條的信息輸出到fp指向的文件上*/ </p><p> fprintf(fp,"\r\n"); <
50、;/p><p><b> } </b></p><p> fclose(fp);/*關(guān)閉文件*/ </p><p> printf("****保存成功***\n\n");/*顯示保存成功*/ </p><p> printf("press any key to continue.....
51、.\n"); </p><p> getchar(); </p><p><b> } </b></p><p><b> /*讀取文件*/</b></p><p> int load(RECODE t[]) </p><p><b> { &l
52、t;/b></p><p><b> int i,n; </b></p><p> FILE *fp; </p><p> if((fp=fopen("record.txt","r"))==NULL)/*如果函數(shù)帶回一個空指針值*/ </p><p><b>
53、 { </b></p><p> printf("不能打開文件\n");/*不能打開文件*/ </p><p><b> exit(1); </b></p><p><b> } </b></p><p> fscanf(fp,"%d",
54、&n); </p><p> for(i=0;i<n;i++) </p><p> fscanf(fp,"%d%d%d%d%d%d",&(t[i].name),&(t[i].a1),&(t[i].a2), &(t[i].a3),&(t[i].a4),&(t[i].a5));/*從fp指向的文件上讀入便條信
55、息*/ </p><p> fclose(fp); </p><p> printf("\n 成功讀取文件!!!\n");/*成功讀入信息*/ </p><p> printf("press any key to continue......\n\n"); </p><p> getchar()
56、; </p><p> return n; </p><p><b> } </b></p><p><b> /*顯示清單*/</b></p><p> void list1(RECODE t[],int n) </p><p><b> {</
57、b></p><p><b> int i;</b></p><p> FILE *fp; </p><p> if((fp=fopen("record.txt","r"))==NULL)/*如果函數(shù)帶回一個空指針值*/ </p><p><b> { &l
58、t;/b></p><p> printf("不能打開文件\n");/*不能打開文件*/ </p><p><b> exit(1); </b></p><p><b> } </b></p><p> fscanf(fp,"%d",&n
59、); </p><p> for(i=0;i<n;i++) </p><p> fscanf(fp,"%d%d%d%d%d%d",&(t[i].name),&(t[i].a1),&(t[i].a2),&(t[i].a3),&(t[i].a4),&(t[i].a5));/*從fp指向的文件上讀入便條信息*/ <
60、;/p><p> fclose(fp); </p><p> printf("***************************the lise of saling recode**************************\n\n\n"); </p><p> printf("name product1 product2
61、product3 product4 product5"); </p><p> for(i=0;i<n;i++)/*將所輸入的條數(shù)存入結(jié)構(gòu)體數(shù)組中*/ </p><p><b> {</b></p><p> printf("\n\n----------------------------------------
62、------------------------\n"); </p><p> printf(" %d %d %d %d %d %d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5); </p><p><b> } &
63、lt;/b></p><p> printf("\n\n----------------------------------------------------------------\n");</p><p> printf("\n press any key to continue.......\n"); </p><
64、;p> getchar(); </p><p><b> }</b></p><p> /*每位銷售員銷售額*/</p><p> void salor(RECODE t[],int n) </p><p><b> { </b></p><p><b&
65、gt; int i,s; </b></p><p> int b1=0,b2=0,b3=0,b4=0,b5=0; </p><p> printf("請輸入要查詢的銷售員的代號(1-4): \n"); </p><p> scanf("%d",&s); /*輸入所要查看的售貨員的代號*/
66、 </p><p> for(i=0;i<n;i++) /*對每種產(chǎn)品的銷售額求和*/ </p><p> if(t[i].name==s) </p><p> {b1+=t[i].a1; </p><p> b2+=t[i].a2; </p><p> b3+=t[i].a3
67、; </p><p> b4+=t[i].a4; </p><p> b5+=t[i].a5;}; </p><p> printf("name product1 product2 product3 product4 product5\n"); </p><p> printf("------------
68、--------------------------------------------------------------\n"); </p><p> printf("%-15d%-10d%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5); </p><p> printf("\npress enter to conti
69、nue.......\n"); </p><p> getchar(); </p><p><b> } </b></p><p> /*銷售產(chǎn)品總和*/</p><p> int sum(RECODE t[],int n, int e) </p><p><b>
70、{</b></p><p> int i,sum=0; </p><p> for(i=0;i<=n;i++)/*求銷售產(chǎn)品的總和*/ </p><p> if(e==t[i].name) </p><p> {sum+=t[i].a1; </p><p> sum+=t[i].a2; &l
71、t;/p><p> sum+=t[i].a3; </p><p> sum+=t[i].a4; </p><p> sum+=t[i].a5; </p><p><b> } </b></p><p> return sum;</p><p><b> }
72、 </b></p><p> /*每種產(chǎn)品的銷售額*/</p><p> void list2(RECODE t[],int n) </p><p><b> {</b></p><p> int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; </
73、p><p> int c[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0}; </p><p> system("cls"); ; </p><p> for(i=0;i<4;i++) </p><p> c[i]=sum(t,n,i+1);/*求每個人的總
74、銷售額*/ </p><p> for(i=0;i<4;i++) </p><p> sum0+=c[i];/*所有產(chǎn)品的銷售額*/ </p><p> for(i=0;i<n;i++)/*求每個人每種產(chǎn)品的總銷售額*/ </p><p> for(j=0;j<4;j++) </p><p>
75、<b> { </b></p><p> if(j+1==t[i].name) </p><p> {b1[j]+=t[i].a1; </p><p> b2[j]+=t[i].a2; </p><p> b3[j]+=t[i].a3; </p><p> b4[j]+=t[i].a4
76、; </p><p> b5[j]+=t[i].a5; </p><p><b> }</b></p><p><b> } </b></p><p> for(i=0;i<4;i++)/*每種產(chǎn)品的總銷售額*/ </p><p> {sum1+=b1[i];
77、 </p><p> sum2+=b2[i]; </p><p> sum3+=b3[i]; </p><p> sum4+=b4[i]; </p><p> sum5+=b5[i]; </p><p><b> } </b></p><p> printf(&
78、quot; products num\n"); </p><p> printf(" code 1 2 3 4 5 sum\n\n"); </p><p> for(i=0;i<4;i++) </p><p> printf(" %-10d%-7d%-7d%
79、-7d%-7d%-7d%-7d\n",i+1,b1[i],b2[i],b3[i],b4[i],b5[i],c[i]); </p><p> printf(" psum %-7d%-7d%-7d%-7d%-7d%-7d",sum1,sum2,sum3,sum4,sum5,sum0); </p><p> printf("\n press
80、any key to continue.......\n"); </p><p> getchar(); </p><p><b> } </b></p><p> /*按銷售額對銷售員排序*/</p><p> void list3(RECODE t[],int n) </p><
81、p><b> {</b></p><p> int i,j,s; </p><p> int c[4],m[4]; /*定義兩個數(shù)組*/ </p><p> system("cls"); /*清屏*/ </p><p> for(i=0;i<4;i++) </p>
82、<p> m[i]=i+1; </p><p> for(i=0;i<4;i++) </p><p> c[i]=sum(t,n,m[i]); </p><p> for(i=0;i<4;i++)/*按銷售員的銷售額進(jìn)行排序*/ </p><p> for(j=i+1;j<4;j++) </p>
83、;<p> if(c[i]<c[j]) </p><p><b> {</b></p><p><b> s=m[i]; </b></p><p> m[i]=m[j]; </p><p><b> m[j]=s; </b></p>
84、<p><b> s=c[i]; </b></p><p> c[i]=c[j]; </p><p><b> c[j]=s;</b></p><p><b> } </b></p><p> printf("the sequce of salor
85、'saling number from many to few\n"); </p><p> for(i=0;i<4;i++)/*輸出銷售員代號*/ </p><p> printf("%d\n",m[i]); </p><p> printf("\ninput any key to continue...
86、....\n"); </p><p> getchar(); </p><p><b> }</b></p><p><b> 程序調(diào)試與測試</b></p><p> 主窗體中分為N個功能鍵: 1. 輸入銷售額;</p><p><b>
87、; 2.存儲;</b></p><p><b> 3. 讀?。?lt;/b></p><p> 4. 顯示便條清單; 5. 每位銷售員的銷售額; </p><p> 6. 每種產(chǎn)品的銷售額; </p><p> 7. 按銷售額對銷售員排序。遇到的問題: 比如:在
88、輸入銷售信息時,數(shù)據(jù)多而繁雜,難以通過簡單的函數(shù)進(jìn)行輸入和存儲,經(jīng)過我們同組成員一番討論,我們采用了結(jié)構(gòu)型數(shù)組變量來進(jìn)行數(shù)據(jù)的存儲,實現(xiàn)了數(shù)據(jù)簡單而且明了輸入;在運行完程序的某一功能后,輸出的信息仍然顯示在屏幕上,操作界面看起來十分繁雜,為此,我們采用了清屏函數(shù)對前一過程輸出的數(shù)據(jù)進(jìn)行清屏操作。</p><p><b> 執(zhí)行結(jié)果</b></p><p><b
89、> 進(jìn)入主菜單:</b></p><p> 選擇“1”,輸入便條:</p><p> 輸入條數(shù),如:輸入2天的便條,8條:</p><p> 選擇“2”,保存到文件:</p><p> 選擇“3”,讀取文件:</p><p> 選擇“4”,顯示清單:</p><p>
90、; 6. 選擇“5”,每位銷售員的銷售額:</p><p> 輸入查詢員工代號,如:查詢的員工號為3:</p><p> 7. 選擇“6”, 每種產(chǎn)品的銷售額:</p><p> 8. 選擇“7”, 按銷售額對銷售員排序:</p><p> 9. 選擇“0”,退出管理:</p><p> 10. 保存的文件
91、:</p><p> 保存的文件為TXT格式,其保存的文件為:</p><p><b> 總結(jié)</b></p><p> 該課程設(shè)計的銷售管理系統(tǒng)實現(xiàn)了對銷售的各方面的管理,同時也對各項項目進(jìn)行排序,最后輸出統(tǒng)計表。</p><p> 2. 經(jīng)過這兩三天的課程設(shè)計,使我對C語言有了更進(jìn)一步的認(rèn)識和了解,要想學(xué)好
92、它要重在實踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處對C,首先對C語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認(rèn)識有所提高。 還有,就是通過實踐的學(xué)習(xí),我認(rèn)到學(xué)好計算機(jī)要重視實踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計算機(jī)方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便
93、好地學(xué)好計算機(jī)。而學(xué)好C語言的最重要的地方就是要對各個概念都要透徹了解,在這次課程設(shè)計里面我才發(fā)現(xiàn)自己對概念性問題有很多不了解的地方,導(dǎo)致使用的時候出現(xiàn)很多錯誤。 </p><p><b> 參考文獻(xiàn)</b></p><p> 1、《C語言程序設(shè)計》 -- 張磊 </p><p> 出版
94、社:高等教育出版社 書號:ISBN-7-04-016437-6 – X </p><p> 2、《C語言編程寶典》,作者:王大剛 </p><p> 3、《C語言最新編程技巧200例》 作者:魯沐浴,電子工業(yè)出版社,1997,1 </p><p> 4、《C語言程序設(shè)計實用技巧與程序?qū)嵗?作者:梁 翎,李愛齊,上??破粘霭嫔?,1996,5 </
95、p><p> 5、《Turbo C程序設(shè)計技巧與應(yīng)用實例》 作者:陳國章,天津科學(xué)技術(shù)出版社,1995,5 </p><p> 6、《C高級實用程序設(shè)計》 作者:王士元,清華大學(xué)出版社,1996,6 </p><p> 7、《C:The Complete Reference》 Author:Herbert Schildt </p><p>
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- net畢業(yè)設(shè)計--銷售管理系統(tǒng)
- 畢業(yè)設(shè)計---軟件銷售管理系統(tǒng)
- 藥店銷售管理系統(tǒng)畢業(yè)設(shè)計
- 門票銷售管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----商品銷售管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計-----商品銷售管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---商品銷售管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計論文--圖書銷售管理系統(tǒng)
- 醫(yī)藥銷售管理系統(tǒng)的畢業(yè)設(shè)計
- 網(wǎng)上購物銷售管理系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上購物銷售管理系統(tǒng)畢業(yè)設(shè)計
- 商品銷售管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計——商品銷售管理系統(tǒng)的設(shè)計
- 超市銷售管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---服裝銷售系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計論文-銷售信息管理系統(tǒng)
- 畢業(yè)設(shè)計---圖書銷售系統(tǒng)
- 超市銷售系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---jsp銷售信息管理系統(tǒng)
- 畢業(yè)設(shè)計-庫存銷售管理系統(tǒng)的開發(fā)
評論
0/150
提交評論