銷售管理系統(tǒng)課程設(shè)計(jì)(附源程序)_第1頁
銷售管理系統(tǒng)課程設(shè)計(jì)(附源程序)_第2頁
銷售管理系統(tǒng)課程設(shè)計(jì)(附源程序)_第3頁
銷售管理系統(tǒng)課程設(shè)計(jì)(附源程序)_第4頁
銷售管理系統(tǒng)課程設(shè)計(jì)(附源程序)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)報(bào)告課程名稱:高級(jí)語言程序設(shè)計(jì)課程設(shè)計(jì)姓名:班級(jí)學(xué)號(hào):指導(dǎo)教師:完成日期:目錄1課程設(shè)計(jì)目的與要求 32問題描述 33總體設(shè)計(jì) 34詳細(xì)設(shè)計(jì) 35功能測(cè)試 36程序設(shè)計(jì)調(diào)試情況分析 47課程設(shè)計(jì)小結(jié) 4參考文獻(xiàn) 4附錄系統(tǒng)源程序 4

銷售管理系統(tǒng)1課程設(shè)計(jì)目的與要求2問題描述(系統(tǒng)概要、基本功能要求,即需求分析)某公司有四個(gè)銷售員(編號(hào):1-4),負(fù)責(zé)銷售五種產(chǎn)品(編號(hào):1-5)。每個(gè)銷售員都將當(dāng)天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:銷售員的代號(hào),產(chǎn)品的代號(hào),這種產(chǎn)品的當(dāng)天的銷售額;每位銷售員每天可能上繳0-5張便條。完成以下功能:1)計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。2)按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號(hào))3)統(tǒng)計(jì)每種產(chǎn)品的總銷售額,對(duì)這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號(hào)和銷售額)4)輸出統(tǒng)計(jì)報(bào)表功能包括:1、設(shè)計(jì)一個(gè)的菜單將在實(shí)現(xiàn)的功能顯示出來,并有選擇提示2、建立便條數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到文件當(dāng)中,通過調(diào)用文件實(shí)現(xiàn)數(shù)據(jù)調(diào)用3、能實(shí)現(xiàn)便條上的輸入信息4、統(tǒng)計(jì)每個(gè)員工每種產(chǎn)品上個(gè)月的銷售額5、按照產(chǎn)品總銷售額從高到低的順序輸出員工編號(hào)6、輸出銷售報(bào)表3總體設(shè)計(jì)3.1功能分析(系統(tǒng)提供主界面,各種功能操作以獨(dú)立的函數(shù)為基礎(chǔ))3.2系統(tǒng)使用的主要函數(shù)(列出函數(shù)首部+注釋)intmenu_select();/*主菜單函數(shù)*/intenter();/*便條輸入函數(shù)*/voidsalor(intn);/*某人某種產(chǎn)品上個(gè)月銷售額統(tǒng)計(jì)函數(shù)*/intsum(DATAt[],intn,intm);/*求和函數(shù)*/voidlist1(intn);/*按銷售額將銷售員排序函數(shù)*/voidlist2(intn);/*報(bào)表輸出函數(shù)*/3.3系統(tǒng)使用的主要數(shù)據(jù)結(jié)構(gòu)typedefstruct{ intgonghao; inta1; inta2; inta3; inta4; inta5;}DATA;4詳細(xì)設(shè)計(jì)4.1程序總體結(jié)構(gòu)圖層次圖銷售管理系統(tǒng)銷售管理系統(tǒng)函數(shù)調(diào)用模塊便條內(nèi)容模塊菜單顯示模塊退出函數(shù)調(diào)用模塊便條內(nèi)容模塊菜單顯示模塊退出主控模塊便條內(nèi)容模塊便條內(nèi)容模塊退出報(bào)表輸出按銷售額將銷售員排序上個(gè)月每人每種產(chǎn)品的銷售額退出報(bào)表輸出按銷售額將銷售員排序上個(gè)月每人每種產(chǎn)品的銷售額便條內(nèi)容模塊4.2程序流程圖菜單部分流程圖:開始開始退出=0?輸入數(shù)字Yes退出=0?輸入數(shù)字=5?=4?=3?=2?=1?No=5?=4?=3?=2?=1?NonononoYesyesyesyesyes每種產(chǎn)品的總銷售額按銷售額將銷售員排序統(tǒng)計(jì)上個(gè)月每人每種產(chǎn)品的銷售額銷售報(bào)表輸入便條上的內(nèi)容每種產(chǎn)品的總銷售額按銷售額將銷售員排序統(tǒng)計(jì)上個(gè)月每人每種產(chǎn)品的銷售額銷售報(bào)表輸入便條上的內(nèi)容5功能測(cè)試1、系統(tǒng)主界面2、輸入信息界面3、統(tǒng)計(jì)數(shù)據(jù)界面6程序設(shè)計(jì)調(diào)試情況分析(程序設(shè)計(jì)及調(diào)試過程中碰到的問題及解決的方法)輸入銷售信息時(shí),數(shù)據(jù)多而繁雜,難以通過簡(jiǎn)單的函數(shù)進(jìn)行輸入和存儲(chǔ),經(jīng)過我們同組成員一番討論,我們采用了結(jié)構(gòu)型數(shù)組變量來進(jìn)行數(shù)據(jù)的存儲(chǔ),實(shí)現(xiàn)了數(shù)據(jù)簡(jiǎn)單而且明了輸入;定義的變量引用時(shí)打錯(cuò)變量名導(dǎo)致程序出錯(cuò),經(jīng)過程序調(diào)試找出錯(cuò)誤語句并進(jìn)行改正;7課程設(shè)計(jì)小結(jié)初次面對(duì)這個(gè)問題,感覺真的是茫然無奈,通過向老師同學(xué)的學(xué)習(xí),最終還是做出了自己的成果,不能不說是一種成長(zhǎng)。要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處對(duì)C,首先對(duì)C語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)C語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。

參考文獻(xiàn)《C程序設(shè)計(jì)教程與實(shí)驗(yàn)》附錄系統(tǒng)源程序(源代碼需有足夠的注釋)#include"stdio.h"/*輸入輸出函數(shù)*/#include"stdlib.h"/*通用應(yīng)用程序函數(shù)*/typedefstruct/*定義結(jié)構(gòu)體變量*/{ intgonghao;/*銷售員代號(hào)*/ inta1;/*產(chǎn)品一代號(hào)*/ inta2;/*產(chǎn)品二代號(hào)*/ inta3;/*產(chǎn)品三代號(hào)*/ inta4;/*產(chǎn)品四代號(hào)*/ inta5;/*產(chǎn)品五代號(hào)*/}DATA;intmenu_select();/*聲明函數(shù)*/intenter();/*聲明函數(shù)*/voidsalor(intn);/*聲明函數(shù)*/intsum(DATAt[100],intn,inte);/*聲明函數(shù)*/voidlist1(intn);/*聲明函數(shù)*/voidlist2();/*聲明函數(shù)*/main()/*主函數(shù)*/{ intlength; for(;;)/*無限循環(huán)*/ {switch(menu_select())/*根據(jù)用戶的選擇判斷該調(diào)用哪個(gè)功能函數(shù)*/ {case1:length=enter();break; case2:salor(length);break; case3:list1(length);break; case4:list2();break; case0:exit(0); } }}intmenu_select()/*菜單函數(shù)*/{ intn; printf("菜單\n\n"); printf("設(shè)計(jì)人:王金麒賈天宜馬宸班級(jí):bx1109\n"); printf("1輸入便條上的內(nèi)容\n"); printf("2統(tǒng)計(jì)上個(gè)月每種產(chǎn)品每人銷售的數(shù)量\n"); printf("3按銷售額將銷售員排序\n"); printf("4銷售報(bào)表\n"); printf("0退出\n"); printf("end\n\n"); printf("請(qǐng)輸入(0-4)"); scanf("%d",&n); returnn;}intenter()/*清單輸入*/{ inti,num; FILE*fp; DATAt[100]; printf("請(qǐng)輸入要寫的便條條數(shù):\n"); scanf("%d",&num); printf("gonghaoproduct1product2product3product4product5"); for(i=0;i<num;i++) { printf("\n\n\n"); scanf("%d%d%d%d%d%d",&t[i].gonghao,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5); } if((fp=fopen("record.dat","ab+"))==NULL) { printf("不能打開文件\n"); exit(1); } for(i=0;i<num;i++) { fprintf(fp,"%d\t%d\t%d\t%d\t%d\t%d\t",t[i].gonghao,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5); fprintf(fp,"\r\n"); } fclose(fp); printf("\n\n\n\n"); returni;}voidsalor(intn)/*每位銷售員銷售額*/{ inti=0,s; intb1=0,b2=0,b3=0,b4=0,b5=0; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打開文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0) k++; fclose(fp);printf("請(qǐng)輸入要查詢售貨員的代號(hào)(1-4):");scanf("%d",&s);for(i=0;i<k;i++) if(t[i].gonghao==s) {b1+=t[i].a1; b2+=t[i].a2; b3+=t[i].a3; b4+=t[i].a4; b5+=t[i].a5;}; printf("gonghaoproduct1product2product3product4product5\n"); printf("\n"); printf("%d\t%d\t%d\t%d\t%d\t%d\t",s,b1,b2,b3,b4,b5);}voidlist1(intn)/*顯示清單*/{ inti,j,s; intm[10],c[10]; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打開文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0)/*從fp指向的文件上讀入便條信息*/ k++; fclose(fp); for(i=0;i<4;i++)/*將所輸入的條數(shù)存入結(jié)構(gòu)體數(shù)組中*/ m[i]=i+1; for(i=0;i<4;i++) c[i]=sum(t,k,m[i]); for(i=0;i<4;i++) for(j=i+1;j<4;j++) if(c[i]<c[j]) { s=m[i]; m[i]=m[j]; m[j]=s; s=c[i]; c[i]=c[j]; c[j]=s; } printf("按銷售額從高到低將銷售員代號(hào)排序\n"); for(i=0;i<4;i++) printf("%d\n",m[i]);}voidlist2()/*每種產(chǎn)品的銷售額*/{ inti=0,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; intc[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0}; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打開文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0) k++; for(i=0;i<4;i++) c[i]=sum(t,k,i+1);/*求每個(gè)人的總銷售額*/ for(i=0;i<4;i++) sum0+=c[i];/*所有產(chǎn)品的銷售額*/ for(i=0;i<k;i++)/*求每個(gè)人每種產(chǎn)品的總銷售額*/ for(j=0;j<4;j++) { if(j+1==t[i].gonghao) {b1[j]+=t[i].a1; b2[j]+=t[i].a2; b3[j]+=t[i].a3; b4[j]+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論