版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 前言某公司有四個銷售員(編號:1-4),負(fù)責(zé)銷售五種產(chǎn)品(編號:1-5)。每個銷售員都將當(dāng)天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:1)銷售員的代號 ;2)產(chǎn)品的代號;3)這種產(chǎn)品的當(dāng)天的銷售額;每位銷售員每天可能上繳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)計報表 2 需求分析21要求(1)用c語言實(shí)現(xiàn)程序設(shè)
2、計;(2)利用結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;(3)畫出查詢模塊的流程圖;(4)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實(shí)現(xiàn);(5)界面友好(良好的人機(jī)互交),程序要有注釋。22任務(wù)(1)定義一個結(jié)構(gòu)體類型數(shù)組,輸入每一位同學(xué)的記錄(包括姓名、電話號碼、e_mail、地址),將其信息存入文件中;(2)輸入姓名查詢該同學(xué)的信息,并顯示在屏幕上;(3)畫出所有模塊的流程圖;(4)編寫代碼;(5)程序分析與調(diào)試。23運(yùn)行環(huán)境(1)windows2000/xp系統(tǒng)(2)turboc2.0編譯環(huán)境24開發(fā)工具c語言3 概要設(shè)計3.1總體設(shè)計本程序要設(shè)計銷售管理系統(tǒng),首先要設(shè)計一個選擇函數(shù),用來選擇運(yùn)行其他各個函數(shù)。接
3、著要分別設(shè)計輸入數(shù)據(jù)函數(shù),各種統(tǒng)計函數(shù)和各種排序函數(shù),用以實(shí)現(xiàn)各種統(tǒng)計和排序功能,最后要設(shè)計一個數(shù)據(jù)請空函數(shù)和統(tǒng)計表輸出函數(shù),得到程序設(shè)計要求的表格。32 系統(tǒng)流程圖(如圖3.1)printf(" total is-%dn",su);su=su+sumj;sumj=0;j+j<mj=0j+,k+k<mk=j=0file*fp;圖3.1 系統(tǒng)流程圖clrscr();if clrscr();flag=2flag=1intflag;|voidfunction5流程圖(3-3-1)printf("nn -ok -n");printffclose(fp
4、1);fp1 ")=null)file*fp1;voidfunction6流程圖(3-3-1)4 詳細(xì)設(shè)計41詳細(xì)設(shè)計思路1. main()主函數(shù) 設(shè)置了程序的流程,結(jié)束程序。2. select ( ) 選擇函數(shù) 選擇所想運(yùn)行的各個函數(shù).3. functionscan ( ) 輸入函數(shù) 輸入便條的數(shù)據(jù).4. function1 ( ) 文件的數(shù)據(jù)輸入函數(shù) 多次輸入數(shù)據(jù)5. function2 ( ) 統(tǒng)計函數(shù) 每個人的每種產(chǎn)品的統(tǒng)計6. functionpaixu2 ( )總額排序函數(shù) 按銷售額對商品進(jìn)行排序7. function4()
5、 總額統(tǒng)計函數(shù) 統(tǒng)計每種產(chǎn)品的總額8. function3() 售員排序函數(shù) 按照銷售額對售員排序函數(shù)9. function5() 統(tǒng)計報表函數(shù) 統(tǒng)計商品總額10. function6() 清空文件函數(shù) 清空文件數(shù)據(jù)11. functionpaixu() 個人排序函數(shù) 按銷售總額對售員排序4.2功能模塊設(shè)計開始輸入xx=a輸入數(shù)據(jù)繼續(xù)輸入數(shù)據(jù)返回x=b統(tǒng)計各人銷售數(shù)量返回x=c按各人銷售額排序返回x=d按各商品銷售排序返回x=e統(tǒng)計每月便條返回x=f清除數(shù)據(jù)并退出返回x=g輸
6、出表格返回42 具體代碼實(shí)現(xiàn)#define n 4 /*宏定義職工數(shù)*/ #define m 5 /*商品數(shù)*/ #define t (n*m*30) #include"stdio.h" struct goods /*貨物編號*/ int emp; int num; int price; gst; struct emploee /*個人排序用*/ int sum; int num; empn,work;
7、160;struct sum int num; int sum; sum1m,you;/*總額排序用*/ /*.打印選擇函數(shù).調(diào)試成功!.*/ print1() /*打印選擇函數(shù)*/ printf("*mune*n"); printf(" please select what are you going to do:n"); printf(" * hand on the tips
8、 (select a)n"); printf(" * sum everybody's each sales
9、; (select b)n"); printf(" * order employee by the sales (select c)n"); printf(" * sum and order each goods by total sales (select d)n");
10、printf(" * sum the tips (each month) (select e)n"); printf(" * clear all data!/first install me! (select f)n&qu
11、ot;); printf(" * output the table (select g)n"); printf("*n");
12、160; /*完成*/ /*-選擇函數(shù)-調(diào)試成功!-*/ int select() /*選擇函數(shù)*/ int k; char a; do printf("please select:"); scanf("%c",&a); if(a>='a'&&a<='g') a=a+32; while(
13、a>='a'&&a<='g'|a>='a'&&a<='g')!=1); switch(a) case 'a':k=1;break; case 'b':k=2;break; case 'c':k=3;break; case 'd':k=4;break; case 'e':k=5;br
14、eak; case 'f':k=6;break; case 'g':k=7;break; return(k); /*完成*/ /*.輸入數(shù)據(jù)函數(shù).調(diào)試成功.*/ void functionscan()/*輸入數(shù)據(jù)函數(shù)*/ file *fp; char ch; if(fp=f
15、open("c:tcemployee1","a+")=null) exit(1); printf(" employee.no. goods.no. total cash:n"); ch=getchar(); ch=getchar(); while (ch!='n')
16、 fputc(ch,fp); ch=getchar(); rewind(fp); printf("now you have data is:n"); ch=fgetc(fp); while(ch!=eof) putchar(ch); ch=fgetc(fp); fputc('n',fp);/*添加回車符*/ fclose(fp); printf("n"); /*.文件的數(shù)據(jù)輸入.調(diào)試成功.*/ function1()/*文件的數(shù)據(jù)輸入*/
17、void functionscan(); file *fp1; int i; i=0; printf("-welcome to use- ");
18、; printf("n *(please input pleaseinput speace between data!)* n"); &
19、#160; loop1: functionscan(); printf("continue?n");/*繼續(xù)?*/ if(i<m*n&&(getc
20、har()='y'|(getchar()='y') i+;printf("-now is%d the tips-n",i+1); goto loop1;
21、60;
22、printf("press any key backn"); getch(); /*.每個人的每種產(chǎn)品的統(tǒng)計.調(diào)試成功.*/ void function2()/*每個人的每種產(chǎn)品的統(tǒng)計*/ file *fp; int i=0,j=0,sum,k; printf("-every employee's sales-nnn"); fp=fopen("c:tcemployee1","r+"); for(j=0;j<n;j+) &
23、#160; /*員工數(shù)*/ for(k=0;k<m;k+)
24、60; /*商品數(shù)*/ sum=0; for(i=0;i<t;) /*掃描便條數(shù)*/ fscanf(fp,"%d%d%d",&
25、amp;gsi.emp,&gsi.num,&gsi.price); if(j+1)=gsi.emp&&(k+1)=gsi.num) sum=sum+gsi.price; i+; printf(" | employee'sno.%3d |goodsno.is%4d |totalprice:%9d
26、60; |n",j+1,k+1,sum); printf(" -n"); fclose(fp); printf("press any key backn"); getch(); /*-總額排序函數(shù)-*/ void functionpaixu2() int i,j,r; printf("-now ordered / by sales-n"); fo
27、r(i=0;i<m;i+) for(j=i+1;j<m;j+) if(sum1i.sum<sum1j.sum) you=sum1i; sum1i=sum1j; sum1j=you; for(r=0;r<m;r+) printf(" goods'no.%3d |total
28、price:%10dn",sum1r.num,sum1r.sum); /*打印數(shù)據(jù)*/ /*.每種產(chǎn)品的總額.調(diào)試成功.*/ function4() /*每種產(chǎn)品的總額*/ file *fp; int i=0,summ=0,k,r; fp=fopen("c:tcemployee1","r+");
29、 /*員工數(shù)*/ for(k=0;k<m;k+) /*商品數(shù)*/
30、; sumk=0; for(i=0;i<t;) /*掃描便條數(shù)*/ fscanf(fp,"%d%d%d",&gsi.emp,&am
31、p;gsi.num,&gsi.price); if(k+1)=gsi.num) sumk=sumk+gsi.price; i+; printf(" g
32、oodsno.%4d |totalprice:%10dn",k+1,sumk); for(r=0;r<m;r+) sum1r.sum=sumr;sum1r.num=r+1; functionpaixu2(); fclose(fp); printf("press any key backn"); getch(); /*. .按照銷售額對售員排序函數(shù).調(diào)試成功
33、.*/ function3() /*按照銷售額對售員排序函數(shù)*/ file *fp; void functionpaixu(); int i=0,j=0,sumn=0,b=0; fp=fopen("c:tcemployee1","r+"); for(j=0;j<n;j+) /*掃描數(shù)據(jù)*/ sumj=0;
34、0; /*員工數(shù)*/ for(i=0;i<5;) /*
35、掃描便條數(shù)*/ fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price); if(j+1)=gsi.emp) sumj=sumj+gsi.price; i+; for(b=0;b<n;b+) empb.sum=sumb;empb.num=b+1; /*printf("%4d%4dn",empb.sum,empb.num);*/*數(shù)
36、據(jù)正確性檢查*/ j=0; for(j=0;j<n;j+) printf(" employee'sno.%3d |totalprice:%10dn",j+1 ,sumj); /*打印數(shù)據(jù)*/ functionpaixu(); fclose(fp); printf("press any key back!n"
37、;); getch(); /*-調(diào)試成功-統(tǒng)計報表-*/ function5() file *fp; int su=0,i,j,summ=0,k; printf(" -sale's table-n"); fp=fopen("c:tcemployee1","r+");
38、; /*員工數(shù)*/ for(k=j=0;k<m;j+,k+)
39、160; /*商品數(shù)*/ sumj=0; for(i=0;i<t;) /*掃描便條數(shù)*
40、/ fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price); if(k+1)=gsi.num) sumj=sumj+gsi.price; i+; printf(" goodsno.%4d
41、0; |totalprice:%10dn",(k+1),sumj); for(j=0;j<m;j+) su=su+sumj; printf(" total is-%dn",su); fclose(fp); printf("press an
42、y key backn"); getch(); /*-清空文件函數(shù)-調(diào)試成功-*/ function6()/*清空文件函數(shù)*/ file *fp1; printf("nnplease wait!.n"); fp1=fopen("c:tcemployee1","w"); if(fp1=fopen("c:tcemployee1","w")=null)/*新建文件*/ printf("my soft in your computer have
43、error!n"); printf("-now please exit-n"); exit(1); else printf("nn -ok -n"); fclose(fp1); printf("press any key backn"); getch(); /*-輸出表格函數(shù)-調(diào)試成功-*/ function7
44、()int t,s;int anm; file *fp; int i=0,j=0,sum,k; fp=fopen("c:tcemployee1","r+");printf("table of the statistics of the salen");printf("
45、0; the number of the goods the totaln");printf("employee's number 1 2 3 4 5 n"); for(j=0;j<n;j+)
46、60; /*員工數(shù)*/ for(k=0;k<m;k+)
47、 /*商品數(shù)*/ sum=0; t=0; for(i=0;i<t;) /*掃描便條數(shù)*/ fscanf(fp,"%d%d%d",&gsi.e
48、mp,&gsi.num,&gsi.price); if(j+1)=gsi.emp&&(k+1)=gsi.num) sum=sum+gsi.price; i+; akt+=sum; s=0; for(t=0;t<m;t+) s=s+akt; akm=s; printf("%5d",j+1); for(t=0;t<=m;t+) printf("%8d",akt); printf("n"); /*-個人排序函數(shù)-調(diào)試成功-*/ void functionpaixu() int i,j,r; printf("n-now ordered / by sales-n"); for(i=0;i<n;i+
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高層住宅消防安全專項(xiàng)方案
- 健康管理中心患者反饋處理制度
- 房屋居住權(quán)合同的法律風(fēng)險與防范
- 電力行業(yè)國慶假期安全保障預(yù)案
- 金融交易欺詐應(yīng)急預(yù)案
- 建筑行業(yè)工會財務(wù)風(fēng)險管理制度
- 2024至2030年中國管接膠圈行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國大廈扇數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國哺乳袋行業(yè)投資前景及策略咨詢研究報告
- 2024年中國稀土穩(wěn)定劑市場調(diào)查研究報告
- 中藥飲片處方點(diǎn)評表
- 《節(jié)能監(jiān)察的概念及其作用》
- 綜合布線系統(tǒng)竣工驗(yàn)收表
- 蔬菜會員卡策劃營銷推廣方案多篇
- 導(dǎo)管滑脫應(yīng)急預(yù)案及處理流程
- (精選word)三對三籃球比賽記錄表
- 尿道損傷(教學(xué)課件)
- 大型火力發(fā)電廠專業(yè)詞匯中英文翻譯大全
- 火電廠生產(chǎn)崗位技術(shù)問答1000問(電力檢修)
- 八年級思想讀本《4.1“涉險灘”與“啃硬骨頭”》教案(定稿)
- 高中語文教學(xué)課例《荷塘月色》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
評論
0/150
提交評論