




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C 語言課程設計報告(銷售管理系統)學院:班級 :學號:姓名:1目錄一、銷售管理系統的設計目的 3二、需求分析 4三、概要設計 5四、詳細設計 6五、主要原程序代碼 8六、試分析過程描述調 16七、總結 17一、銷售管理系統的設計目的21、通過本課程設計,培養上機動手能力,使學生鞏固C語言程序設計 課程學習的內容, 掌握工程軟件設計的基本方法,強化上機動手能力,闖過編程關;2、學會用 c 語言程序設計來設計銷售管理系統設計;3、為后續各門計算機課程的學習打下堅實基礎。二、需求分析1)設計題目分析題目:銷售管理系統2)設計要求分析3(1)用 c 語言實現程序設計;(2)利用結構體進行相關信息處理
2、;(3)畫出查詢模塊的流程圖;(4)系統的各個功能模塊要求用函數的形式實現;(5)界面友好(良好的人機互交) ,程序要有注釋。3)系統功能需求分析(1)計算上個月每個人每種產品的銷售額(2)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)(3)統計每種產品的總銷售額,對這些產品按從高到低的順序,輸出排序結果(需輸出產品的代號和銷售額)( 4)輸出統計報表三、概要設計1)總體設計本程序要設計銷售管理系統,首先要設計一個選擇函數,用來選擇運行其他各個函數。接著要分別設計輸入數據函數,各種統計函數和各種排序函數,用以4實現各種統計和排序功能,最后要設計一個數據請空函數和統計表輸出函數,得到程序設
3、計要求的表格。2)系統流程圖輸入記錄保存到文件讀取文件每每按位種銷輸銷產售出售品額統員的對報的銷銷表銷售售售額員額排額序退出管理四、詳細設計1) 詳細設計思路(1). main()主函數設置了程序的流程,結束程序。5(2).fprintf( ) 選擇函數選擇所想運行的各個函數.(3)mulu ( ) 輸入函數輸入便條的數據 .(4).arg ( ) 文件的數據輸入函數多次輸入數據(5). output1( ) 統計函數每個人的每種產品銷售額的統計(6). Output2 ( )總額排序函數按銷售額對商品進行排序(7). output 3 ()總額統計函數統計每種產品的總額(8). Output
4、4 ()售員排序函數按照銷售額對售員排序函數(9). save ()統計報表函數統計商品總額2)工作流程圖6main()for(i=0;i+)menu()scanf(%d,&choice);if(choice=5)switch(choice)case 1;case 2;case 3;case 4;f1();f2();f3();f4();break;結束break;7五、主要源程序代碼1)源程序清單( 1)計算每個人每種產品的銷售額。( 2)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)( 3)統計每種產品的總銷售額,按從高到底的順序,輸出排序結果(需輸出產品代號 ,銷售額)/1.首先,要
5、定義每個人,每種產品,銷售額數組如inti,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;intc4,b14=0,b24=0,b34=0,b44=0,b54=0,用 for 循環來求每個人的總銷售額: for(i=0;i4;i+);用 for 循環來求每個人每種產品的總銷售額: for(i=0;in;i+),for(j=0;j4;j+);在用 for 循環每種產品的總銷售額: for(i=0;i4;i+),之后則在系統界面輸入銷售員代號,產品代號,產品代號用 printf即可實現,用 sum對每個銷售員的銷售額求和, 用 system(cls)來錄入信
6、息,然后輸出頭標(如銷售員代號,產品代號,銷售額等,用printf實現),之后開始查詢,用for語句來。2. 此部分要分兩部分其一是,每位銷售員銷售額;其二是,按銷售額對銷售員排序。在求每個銷售員銷售額時也是要先定義銷售員代號,產品代號,銷售額。接著是則是用輸入要查詢的銷售員的代號,用scanf(%d,&s)來記錄輸入銷售員代號的信息, 然后輸出頭標 (如銷售員代號, 產品代號,銷售額等,用 printf實現),之后開始查詢,查詢信息首先需要一個for 語句來,實現對已存入數據的 所 有 查 詢for(i=0;in;i+),關 鍵 內 容 是 查 詢 銷 售 員 代 號 時 用if(strcm
7、p(name,)=0),找出與輸入的銷售員相同的儲存信息,查找完成后則把該銷售員的所有信息全部輸出。上面是求每個銷售員銷售額, 接著是要在上面的基礎上排序。首先要定義兩個數組如:int c4,m4,接著用for循環(for(i=0;i4;i+);for(j=i+1;j4;j+))對銷售員的銷售額進行排序,再用 if語句來求,最后是輸出用printf(%dn,mi)實現。3.也一樣首先要定義數組, 接著用 ci=sum(t,n,i+1)求每個人的總銷售額 , 再用for 循環,再用 sum0+=ci 對所有產品的銷售額求總, 用 for 循環對每個人每種產品的銷售額求總銷售額,再用
8、 for 循環實現每種產品的總銷售額,然后輸出頭標(如銷售員代號,產品代號,總銷售額等,用 printf 實現)即可。82)函數#include#include#define max 620structgoodsint p_num;int num;int g_num; smax;struct personsint num7;p6,w;int n;main()int input(), output1(),output2(),output3(),output4();int arg(),mulu();int save();printf( nnn ttt*THE PROJECT*nnn);printf
9、(Please input the informations :(over to 0)nnn);printf(-n);for(n=0;nmax;n+)scanf(%d,&sn.p_num);if(sn.p_num=(0)break;elsescanf(%d%d,&sn.g_num,&sn.num);printf(-n);mulu();int mulu()int choice;9arg();doprintf( nn ttt*THE PROJECT*nn);printf(1.counttheg_mon ofeachgoods everypeopleproductslastmonthn);print
10、f(2.putthepeople inorderby g_mon and outputthe resultby p_numn);printf(3.count the total g_mon,output the result in order from high tolown);printf(4.output the report form of goods nn);printf(0.exit nn);printf(Please Choose (0-4):);scanf(%d,&choice);switch(choice)case 1:output1();break;case 2:output
11、2();break;case 3:output3();break;case 4:output4();break;case 0:exit(0);while(choice!=0);int arg()int k,a,j;for(k=1;k=5;k+)p0.numk=k;for(a=1;a=6;a+)pk.numa=0;for(k=1;k=4;k+)pk.num0=k;for(k=1;k=4;k+)for(a=1;a=5;a+)for(j=0;jn;j+)if(sj.p_num=k & sj.g_num=a)pk.numa=pk.numa+sj.num;10for(a=1;a=5;a+)for(k=1
12、;k=4;k+)p5.numa=p5.numa+pk.numa;for(k=1;k=5;k+)for(a=1;a=5;a+)pk.num6=pk.num6+pk.numa;intoutput1()int i,k;printf(*Theconditionofeveryonesg_monlastmonth:*nn);printf(g_num np_numt);for(k=1;k=5;k+)printf(%dt,p0.numk);printf(nn);for(i=1;i=4;i+)for(k=0;k=5;k+)printf(%dt,pi.numk);printf(nn);mulu();int out
13、put2()int i,r,j;for(i=1;i4;+i)r=i;for(j=i+1;j=4;j+)if(pr.num6pj.num6)r=j;if(r!=i) w=pi; pi=pr; pr=w;printf(nnnnnn*Order of people by goods sum*nn);11printf(p_numtsum_monn);for(i=1;i=4;i+)printf(%dtt%dn,pi.num0,pi.num6);mulu();int output3()int k,i,r,t;for(k=1;k5;k+)r=k;for(t=k+1;t=5;t+)if(p5.numrp5.n
14、umt)r=t;if(r!=k)for(i=0;i=5;i+) pi.num6=pi.numk; pi.numk=pi.numr;pi.numr=pi.num6;printf(nnnnn*Order of each good by total sum*nn); printf( g_num sum_monn);for(k=1;k=5;k+)printf(%dtt%d n,p0.numk,p5.numk);mulu();int output4() int i,k;int flage=0;printf(ntt*Report forms of goods*nnn);printf(g_numnp_num
15、t1t2t3t4t5tsumnn);for(i=1;i=4;i+) for(k=0;k=6;k+)printf(%dt,pi.numk);printf(nn);printf(totalt);12for(k=1;k=6;k+)printf(%dt,p5.numk);if(flage=0) save(); flage=1;printf(nnTheinformationhas been saved successfully!-(File:date.txt);mulu();int save()FILE *fp;int i,k;if(fp=fopen(date.txt,w)=NULL)printf(nC
16、an not open the file,please press any key to escape!);exit(1);fprintf(fp,g_numrnp_numt1t2t3t4t5tsumrn);for(i=1;i=4;i+) for(k=0;k=6;k+) fprintf(fp,%dt,pi.numk);fprintf(fp,rn);fprintf(fp,total);for(k=1;k=6;k+)fprintf(fp,%dt,p5.numk);fclose(fp);134)執行結果1415六、調試分析過程描述1) 主窗體中分為 N 個功能鍵 :1. 輸入銷售額;2存儲;3. 讀取;4. 顯示便條清單;5. 每位銷售員的銷售額;6. 每種產品的銷售額;7. 按銷售額對銷售員排序。2) 設計中存下的問題及解決辦法問題:輸入錯誤解決方及效果 ; 改正輸入錯誤問題:標點符號在輸入的時候, 使用的是中文輸入法, 這種錯誤一般都難以發現,讓修改的時候找不到目標。解決方法:用“替換”。如果程序中的 error 很多,不管 error 是什么,先將標點替換成英文的標點。16七、總結1.該課程設計的銷售管理系統實現了對銷售的各方面的管理,同時也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第三人稱單數形式的辨別與應用:小學英語教案
- 我的老師敬愛的語文老師演講稿10篇
- 供應鏈管理與物流合作協議規定事項表
- 食品營養學專業知識問答練習集
- 綠色發展理念對產業提質增效的影響
- 銀行業風險管理測試卷
- 技術進步對高素質應用型人才培養的影響分析
- 教育用品類型及價格列表
- 跨學科合作促進地理學實踐教學的多元化
- 智能倉儲物流解決協議
- XXX有限公司化工裝置開、停車方案
- 中國不寧腿綜合征的診斷與治療指南
- “四史”(改革開放史)學習通超星期末考試答案章節答案2024年
- 期末考試卷-模擬測試卷市場營銷王永貴試卷4
- 鹵菜店供貨合同協議書
- 《積極心理學(第3版)》 課件 第5章 希望
- 企業信息化系統定制開發合同
- 幼兒園大班綜合活動《螞蟻和西瓜》課件
- DL∕T 1455-2015 電力系統控制類軟件安全性及其測評技術要求
- 旅游服務合作協議模板
- 江西省南昌市2023-2024學年八年級下學期6月期末語文試題
評論
0/150
提交評論