


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計(jì)設(shè)計(jì)(論文)題目: 銷售管理系統(tǒng)設(shè)計(jì)學(xué) 院名 稱:電信學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:計(jì)科081班姓名: 洪利忠學(xué)號 35指 導(dǎo) 教師: 宋宏圖職稱定稿日期:2009年2月27日、題目內(nèi)容描述:某公司有四個(gè)銷售員(編號:1-4),負(fù)責(zé)銷售五種產(chǎn)品(編號:1-5)。每 個(gè)銷售員都將當(dāng)天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:1、銷售員的代號2、產(chǎn)品的代號3、這種產(chǎn)品的當(dāng)天的銷售額每位銷售員每天可能上繳0-5張便條。假設(shè),收集到了上個(gè)月的所有便條, 編寫一個(gè)處理系統(tǒng),讀取上個(gè)月的銷售情況(自己設(shè)定),進(jìn)行如下處理。1)計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。2)按銷售額對銷售員
2、進(jìn)行排序,輸出排序結(jié)果(銷售員代號)3)統(tǒng)計(jì)每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需 輸出產(chǎn)品的代號和銷售額)4)輸出統(tǒng)計(jì)報(bào)表銷售統(tǒng)計(jì)報(bào)表產(chǎn)品代號銷售之和銷售員代號123451234每種產(chǎn)品之和總和二、應(yīng)用程序功能的詳細(xì)說明:1、主函數(shù) void main():清屏之后對主菜單函數(shù)menu_select(進(jìn)行無限循環(huán)2、菜單函數(shù) int menu_select()打印出菜單功能選項(xiàng),包括便條清單輸入、每個(gè)人每種產(chǎn)品的銷售額、銷售 員銷售額排行、統(tǒng)計(jì)報(bào)表、便條清單、儲存文件、讀取文件和退出 8個(gè)選項(xiàng)。根 據(jù)用戶的選擇判斷該調(diào)用哪個(gè)功能函數(shù),則輸入相應(yīng)的選項(xiàng)代號 n (0-
3、7)以運(yùn) 行該功能選項(xiàng)。3、清單輸入函數(shù) int enter(RECODE t):清屏之后輸出提示語“請輸入便條的信息”,按提示語輸入便條信息,輸入 數(shù)據(jù)的同時(shí),已將該信息存入開始已定義的結(jié)構(gòu)體數(shù)組typedef structRECORD t中,以便在排序功能選項(xiàng)、統(tǒng)計(jì)功能選項(xiàng)、輸出清單列表選項(xiàng) 等功能選項(xiàng)中讀取信息,進(jìn)行編輯,閱讀。輸入結(jié)束以信息全為零而結(jié)束清單輸 入,返回主菜單。4、銷售員便條信息查詢函數(shù) void salor(RECODE t,int n):進(jìn)入查詢功能,出現(xiàn)提示語“輸入所要查看的售貨員的代號”,輸入銷售員的代號(1-4),通過循環(huán)判斷讀取輸入的銷售員代號(s)來進(jìn)行對信
4、息的閱讀。5、求和函數(shù) int sum(RECODE t,int n, int e):定義初始值sum=0通過對銷售員代號的循環(huán)和判斷(當(dāng)銷售員代號與傳遞的e值相同),累加并統(tǒng)計(jì)同一個(gè)銷售員銷售不同種產(chǎn)品的銷售額信息,返回統(tǒng) 計(jì)值sum,以便調(diào)用。6 排序函數(shù) void list1 (RECODE t,int n):調(diào)用求和函數(shù)返回的統(tǒng)計(jì)值 sum (使ci=sum(t,n,mi),按銷售員的總銷售額進(jìn)行從大到小排序,輸出銷售員的代號mi。7、銷售產(chǎn)品的銷售額情況的函數(shù)調(diào)用 void list2(RECODE t,int n):調(diào)用求和函數(shù)使ci=sum(t,n,i+1),累加并統(tǒng)計(jì)每個(gè)人銷售
5、每種產(chǎn)品的總 銷售額和所有銷售員銷售的所有產(chǎn)品的總銷售額,再將每個(gè)人銷售每種產(chǎn)品的總 銷售額放到定義的數(shù)組中(即 xs5=sum1,sum2,sum3,sum4,sum5,按每種產(chǎn)品的總銷售額sumi循環(huán)比較并排序輸出產(chǎn)品代號 ai和總銷售額xsi。8、銷售統(tǒng)計(jì)報(bào)表輸出函數(shù)void list3(RECODE t,int n):類似(6)輸出以下表格:銷售統(tǒng)計(jì)報(bào)表產(chǎn)品代號銷售之和銷售員代號123451234每種產(chǎn)品之和總和9、保存函數(shù) void save(RECODE t,int n):打開record.txt文件,如果函數(shù)帶回一個(gè)空指針值 if(fp=fope n("record.t
6、xt","wb")=NULL),則顯示“不能打開文件”,非法 退出再進(jìn)行存儲文件。通過文件指針,循環(huán)將便條信息輸出到 fp指向的文件。關(guān)閉文件,顯示“*存儲成功* ”,“按任意鍵繼續(xù)。”。10、讀取函數(shù) int load(RECODE t):定義文件指針*fp,循環(huán)從fp指向的文件上讀入便條信息,關(guān)閉文件,顯示 “成功讀取文件信息! ! ”,“按任意鍵繼續(xù)?!?。返回n值。三、輸入數(shù)據(jù)類型、格式和內(nèi)容限制:數(shù)據(jù)名稱數(shù)據(jù)關(guān)聯(lián)數(shù)據(jù)類型數(shù)據(jù)格式內(nèi)容限制銷售員代號name s,mint整型變量%d %d,%d大于0小于5產(chǎn)品代號a1, a2, a3, a4,a5int整型變
7、量%d%d%d%d%c大于0小于6功能鍵代號nint整型變量%d大于等于0小于8所有產(chǎn)品總和sumint整型變量%d大于0每個(gè)銷售員的 總銷售額cint整型變量%d大于0每個(gè)人每種產(chǎn) 品的總銷售額b1,b2, b3,b4, b5int整型變量%d%d%d%d%c大于0每種產(chǎn)品的總 銷售額xsint整型變量%d大于0四、主要模塊的算法描述-以程序流程圖的方式給出-簡要的語言描述:求和函數(shù) int sum(RECODE t,int n, int e)流程圖:定義初始值sum=oi=0假tr"1返回sumLi<=l000if(e=ti. namer1sum+=ti.a1;sum+=t
8、i.a2;sum+=ti.a3;1ifc-sum+=ti.a4;sum+=ti.a5;LJi+排序函數(shù) void listl (RECODE t,int n)流程圖:i=0r一i=01 !假<<<4定義兩個(gè)數(shù)組c4,mci=sum(t, n, mi)mi=i+1i+i+假i=0,j=i+1i<4,j<4if(ci<cj)打?。簭拇蟮叫′N售員銷售額排行榜真/、s=mi;mi=mj; mj=s; s=ci;ci=cj;cj=s;i=0打印:按任意鍵繼續(xù)4>真rF 輸出銷售員代號miL,_Jki+Lk五、程序的源代碼清單:#include <stdio
9、.h>/* 輸入輸出函數(shù) */ #include <stdlib.h>/* 通用應(yīng)用程序函數(shù) */ typedef struct /* 定義結(jié)構(gòu)體變量 */int name;int a1;int a2;int a3;int a4;int a5;RECODE;int menu_select();/* 選擇菜單函數(shù)聲明 */ int enter(RECODE t);/* 進(jìn)入函數(shù)聲明 */ void salor(RECODE t,int n);/* 聲明函數(shù) */菜單 1 函數(shù)聲明 */ 菜單 2 函數(shù)聲明 */ 菜單 3 函數(shù)聲明 */int sum(RECODE t,int
10、n,int m);/* 統(tǒng)計(jì)函數(shù)聲明 */void list1(RECODE t,int n);/* void list2(RECODE t,int n);/* void list3(RECODE t,int n);/*void save(RECODE t,int n);/*保存文件函數(shù)聲明*/int load(RECODE t);/* 讀取函數(shù)聲明 */void main()/* 主函數(shù) */RECODE rec600;int length;system("cls"); /* 清屏 */for( ; ; ) /* 無限循環(huán) */switch(menu_select() /
11、* 根據(jù)用戶的選擇判斷該調(diào)用哪個(gè)功能函數(shù) */ case 1:length=enter(rec);break;case 2:salor(rec,length);break;case 3:list1(rec,length);break;case 4:list2(rec,length);break;case 5:list3(rec,length);break;case 6:save(rec,length);break;case 7:length=load(rec);break;case 0:exit(0);菜單函數(shù) * /*int menu_select()int n;printf("m
12、enunn");printf(" 1 輸入便條 n");printf(" 2 每個(gè)人每種產(chǎn)品的銷售額 n");printf(" 3 銷售員總銷售額排行 n");printf(" 4 統(tǒng)計(jì)報(bào)表 n");printf(" 5 便條清單 n");printf(" 6 儲存文件 n");printf(" 7 讀取文件 n");printf(" 0 退出 n");printf("endnn");printf(&quo
13、t; 請輸入你的選擇 (0-7): ");scanf("%d",&n);if(0<n&&n<8) system("cls"); /* 清屏 */ return n;*清單輸入函數(shù) *int enter(RECODE t)int i;system("cls"); /* 清屏 */printf(" 請輸入便條的信息 :");printf(" 銷售員代號 產(chǎn)品 1 產(chǎn)品 2 產(chǎn)品 3 產(chǎn)品 4 產(chǎn)品 5"); for(i=0;i<1000;i+)/*
14、 將所輸入的條數(shù)存入結(jié)構(gòu)體數(shù)組中 */printf("nnn");scanf("%d%d%d%d%d%d",&,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5); if(!=1)&&(!=2)&&(!=3)&&(!=4)printf(" 不存在該銷售員的信息 !");if(=0)&&(ti.a1=0)&&
15、(ti.a2=0)&&(ti.a3=0)&&(ti.a4=0)&&(ti.a5=0) break;printf("nnnn");return i;*查詢函數(shù) *void salor(RECODE t,int n)int i,s;int b1=0,b2=0,b3=0,b4=0,b5=0;printf(" 輸入所要查看的售貨員的代號 :"); scanf("%d",&s); /* 輸入所要查看的售貨員的代號 */ for(i=0;i<n;i+) /* 對每種產(chǎn)品的銷售額求和 *
16、/ if(=s) b1+=ti.a1;b2+=ti.a2;b3+=ti.a3;b4+=ti.a4;b5+=ti.a5;printf(" 銷售員代號 產(chǎn)品 1 產(chǎn)品 2 產(chǎn)品 3 產(chǎn)品 4 產(chǎn)品 5n");printf("n");printf("%-15d%-10d%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5); printf("n 按任意鍵繼續(xù) .n");getchar();*求和函數(shù) *int sum(RECODE t,int n, int e)int i,sum=0;fo
17、r(i=0;i<=n;i+)/* 求銷售產(chǎn)品的總和 */ if(e=)sum+=ti.a1;sum+=ti.a2;sum+=ti.a3;sum+=ti.a4;sum+=ti.a5; return sum;*排序函數(shù) *void list1 (RECODE t,int n)int i,j,s;int c4,m4; /* 定義兩個(gè)數(shù)組 */ system("cls"); /* 清屏 */ for(i=0;i<4;i+)mi=i+1;for(i=0;i<4;i+)ci=sum(t,n,mi);for(i=0;i<4;i+)/* 按銷售員的銷售
18、額進(jìn)行排序 */ for(j=i+1;j<4;j+) if(ci<cj) s=mi;mi=mj;mj=s;s=ci;ci=cj;cj=s;printf(" 從大到小銷售員銷售額排行榜 n"); for(i=0;i<4;i+)/* 輸出銷售員代號 */printf("%dn",mi);getchar();/*printf("n 按任意鍵繼續(xù) .");統(tǒng)計(jì)銷售產(chǎn)品求和排序輸出函數(shù) */ void list2(RECODE t,int n)int index,k,s;int i,j,sum0=0,sum1=0,sum2=0
19、,sum3=0,sum4=0,sum5=0;int c4,b14=0,b24=0,b34=0,b44=0,b54=0; system("cls"); ;for(i=0;i<4;i+)ci=sum(t,n,i+1);/* 求每個(gè)人的總銷售額 */for(i=0;i<4;i+)sum0+=ci;/* 所有產(chǎn)品的銷售額 */for(i=0;i<n;i+)/* 求每個(gè)人每種產(chǎn)品的總銷售額 */ for(j=0;j<4;j+) if(j+1=)b1j+=ti.a1;b2j+=ti.a2;b3j+=ti.a3;b4j+=ti.a4;b5j+=ti.
20、a5;for(i=0;i<4;i+)/* 每種產(chǎn)品的總銷售額 */sum1+=b1i;sum2+=b2i;sum3+=b3i;sum4+=b4i;sum5+=b5i; int xs5=sum1,sum2,sum3,sum4,sum5;int a5=1,2,3,4,5;for(k=0;k<4;k+)index=k;for(i=k+1;i<5;i+) if(xsi>xsindex) index=i; s=xsindex; xsindex=xsk; xsk=s; s=aindex; aindex=ak; ak=s; for(i=0;i<5;i+)printf("
21、; 產(chǎn)品代號 :%-10d",ai); printf(" 總銷售額: %-10dn",xsi); printf(" 按任意鍵繼續(xù) n");getchar();*銷售統(tǒng)計(jì)報(bào)表輸出*void list3(RECODE t,int n)int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0;system("cls"); ;for(i=0;i<4;i+)ci=sum(t,n,i+1);/* 求每個(gè)人的總銷售額
22、 */ for(i=0;i<4;i+)sum0+=ci;/* 所有產(chǎn)品的銷售額 */for(i=0;i<n;i+)/* 求每個(gè)人每種產(chǎn)品的總銷售額 */ for(j=0;j<4;j+)if(j+1=)b1j+=ti.a1;b2j+=ti.a2;b3j+=ti.a3;b4j+=ti.a4;b5j+=ti.a5;for(i=0;i<4;i+)/* 每種產(chǎn)品的總銷售額 */ sum1+=b1i;sum2+=b2i;sum3+=b3i;sum4+=b4i;sum5+=b5i;printf(" 銷售報(bào)表 nnn");printf(" 銷
23、售員序號 1 2 3 4 5 總數(shù) nn"); for(i=0;i<4;i+)printf(" %-7d%-7d%-7d%-7d%-7d%-7d%-7dn",i+1,b1i,b2i,b3i,b4i,b5i,ci);printf(" 總和 %-7d%-7d%-7d%-7d%-7d%-7d",sum1,sum2,sum3,sum4,sum5,sum0); printf("n 按任意鍵繼續(xù) ");getchar();*保存函數(shù) *void save(RECODE t,int n) int i;FILE *fp;/* 調(diào)用 fopen 函數(shù) */if(fp=fopen("record.txt","wb")=NULL)/* 如果函數(shù)帶回一個(gè)空指針值 */printf(" 不能打開文件 n");/* 不能打開文件 */exit(1);printf("n 儲存文件 n");fprintf(fp,"%d",n);fprintf(fp,"rn");for(i=0;i<n;i+)fprintf(fp,"%-10d%-7d%-7d%-7d%-7d%-7
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025園林綠化設(shè)計(jì)合同范本
- 2025勞動合同協(xié)議書范本模板
- 2025企業(yè)合同終止的情形分析:合規(guī)解除勞動合同的途徑與條件
- 江蘇省鎮(zhèn)江市2024-2025學(xué)年高一上學(xué)期期中檢測生物試卷 含解析
- 腰椎疼痛康復(fù)護(hù)理
- 脊柱外科術(shù)后護(hù)理
- 靜脈留置消毒護(hù)理
- 心臟支架術(shù)后護(hù)理規(guī)范
- 【方案】2024咪咕全域營銷媒體手冊6928mb
- 三晉卓越聯(lián)盟·2024-2025學(xué)年高三5月質(zhì)量檢測卷(25-X-635C)生物(B)
- 寄生蟲病診斷與治療
- 2020-2021學(xué)年四川省涼山州八年級(下)期末物理試卷
- 《(近)零碳園區(qū)評價(jià)技術(shù)規(guī)范》
- 2024-2025學(xué)年中考數(shù)學(xué)專項(xiàng)復(fù)習(xí):函數(shù)之新定義問題(含答案)
- 鶴壁市第一屆職業(yè)技能大賽 保健按摩師項(xiàng)目技術(shù)工作文件
- 中建室外景觀園林專項(xiàng)施工方案
- 現(xiàn)場服務(wù)合同模板
- 鍋爐生產(chǎn)單位質(zhì)量安全員、安全總監(jiān)-特種設(shè)備考試題庫
- 2023年上海鐵路局集團(tuán)有限公司招聘筆試真題
- 游艇概論-第6章-游艇的動力裝置
- 2024年度中國鈉離子電池報(bào)告
評論
0/150
提交評論