C語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、銷(xiāo)售管理系統(tǒng) 目錄 摘摘 要要.1 1緒論緒論.1 2. 系統(tǒng)分析系統(tǒng)分析.1 2.1 功能需求.1 2.2 數(shù)據(jù)需求.2 2.3 性能需求.2 3. 總體設(shè)計(jì)總體設(shè)計(jì).2 3.1 功能模塊設(shè)計(jì).2 3.2 系統(tǒng)設(shè)計(jì)方案.3 4. 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì).3 4.1 設(shè)備管理模塊.3 4.2 設(shè)備借出借入管理模塊.4 4.3 設(shè)備查詢(xún)模塊.4 4.4 系統(tǒng)管理模塊.4 5. 調(diào)試與測(cè)試調(diào)試與測(cè)試.4 5.1 調(diào)試.4 5.2 測(cè)試.5 6. 結(jié)論結(jié)論.6 結(jié)束語(yǔ)結(jié)束語(yǔ).6 參考文獻(xiàn)參考文獻(xiàn)(這個(gè)要注意標(biāo)點(diǎn)是半角這個(gè)要注意標(biāo)點(diǎn)是半角).6 附錄附錄 1用戶(hù)手冊(cè)用戶(hù)手冊(cè).7 附錄附錄 2源程序源程序.8

2、 摘摘 要要 銷(xiāo)售管理系統(tǒng)是一個(gè)企事業(yè)單位不可缺少的部分,它可以便捷的幫助管理 人員錄入和更改銷(xiāo)售的信息,進(jìn)行銷(xiāo)售業(yè)績(jī)排名以便直觀的觀察到各個(gè)銷(xiāo)售員 的業(yè)績(jī)。 本系統(tǒng)使用 c 語(yǔ)言作為開(kāi)發(fā)工具。實(shí)現(xiàn)了對(duì)上月每個(gè)人每種產(chǎn)品的銷(xiāo)售額 的統(tǒng)計(jì)以及按銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果的功能。 本文從分析課題的題目背景、題目意義、題目要求等出發(fā),分別從需求分 析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、測(cè)試等各個(gè)方面詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程, 最后對(duì)系統(tǒng)的完成情況進(jìn)行了總結(jié)。 關(guān)鍵詞:c 語(yǔ)言;銷(xiāo)售管理;業(yè)績(jī)排名 1緒論緒論 隨著科技的發(fā)展越來(lái)越多的企業(yè)也發(fā)展起來(lái),公司的員工也越來(lái)越多,伴 隨而來(lái)的是企業(yè)因員工量大

3、而信息管理更加繁重的問(wèn)題。而銷(xiāo)售部門(mén)的各 種數(shù)據(jù)更加繁多,加重了企業(yè)管理的壓力,開(kāi)發(fā)銷(xiāo)售管理系統(tǒng)使得這一壓 力得以減輕,銷(xiāo)售管理系統(tǒng)可以實(shí)現(xiàn)對(duì)每個(gè)人每種產(chǎn)品的銷(xiāo)售統(tǒng)計(jì)并且進(jìn) 行排序輸出。方便了企業(yè)的管理,滿(mǎn)足了企業(yè)的需求。 根據(jù)課程設(shè)計(jì)任務(wù)書(shū)要求,本系統(tǒng)開(kāi)發(fā)主要完成以下功能和性能。 (1) 銷(xiāo)售額讀?。翰樵?xún)各個(gè)銷(xiāo)售員的銷(xiāo)售情況; (2) 銷(xiāo)售額排序:按照銷(xiāo)售員編號(hào)對(duì)銷(xiāo)售員的額銷(xiāo)售額進(jìn)行排序。 (3) 產(chǎn)品銷(xiāo)量排序:對(duì)每種產(chǎn)品銷(xiāo)售總額從高到低排序(產(chǎn)品代號(hào)和銷(xiāo)售 額) 。 (4) 輸出統(tǒng)計(jì)報(bào)表:對(duì)銷(xiāo)售員以及產(chǎn)品的銷(xiāo)售額進(jìn)行報(bào)表統(tǒng)計(jì)并輸出。 2. 系統(tǒng)分析系統(tǒng)分析 2.1 功能需求功能需求 本系統(tǒng)

4、主要是企業(yè)對(duì)銷(xiāo)售員以及銷(xiāo)售額的簡(jiǎn)單管理系統(tǒng)。 該系統(tǒng)需要有讀取數(shù)據(jù),報(bào)表統(tǒng)計(jì),排序,退出功能。利用報(bào)表功能將數(shù)據(jù)庫(kù) 中的若干項(xiàng)目的計(jì)算值顯示出來(lái)。數(shù)據(jù)要求有自動(dòng)更新功能,顯示最新的結(jié)果。 2.2 數(shù)據(jù)需求數(shù)據(jù)需求 需要管理營(yíng)銷(xiāo)員的信息包括:銷(xiāo)售員代號(hào),產(chǎn)品代號(hào),銷(xiāo)量。 本程序?qū)⒂玫轿募到y(tǒng),list.txt 文件內(nèi)容作為數(shù)據(jù)源,其中單行內(nèi)容代表一 張紙條。程序運(yùn)行后首先將文件系統(tǒng)的原始數(shù)據(jù)讀取并保存到程序的結(jié)構(gòu)體數(shù) 組當(dāng)中,所以應(yīng)提供文件輸入的操作;由于紙條數(shù)據(jù)零散,所以要對(duì)原始數(shù)據(jù) 進(jìn)行分類(lèi)操作并提供一個(gè)數(shù)組用于保存分類(lèi)信息;在程序中要進(jìn)行統(tǒng)計(jì)工作, 所以要提供顯示、排序等操作;另外應(yīng)提供鍵

5、盤(pán)式選擇菜單實(shí)現(xiàn)功能選擇。 2.3 性能需求性能需求 安全性:本系統(tǒng)在設(shè)計(jì),開(kāi)發(fā),運(yùn)行各環(huán)節(jié),都需要貫徹了安全性的原則, 落實(shí)到了每個(gè)環(huán)節(jié),每個(gè)方面。 可靠性:需要遵循安全性原理,來(lái)提高本系統(tǒng)的可靠性。 穩(wěn)定性:本系統(tǒng)根據(jù)需要可以定義全局變量,可以使用結(jié)構(gòu)體以及鏈表, 來(lái)確保本系統(tǒng)的穩(wěn)定性。 響應(yīng)速度;本系統(tǒng)因應(yīng)用了鏈表,理論上可以提高查找的速度,整體的響 應(yīng)速度也會(huì)得到了提升。 3. 總體設(shè)計(jì)總體設(shè)計(jì) 3.1 功能模塊設(shè)計(jì)功能模塊設(shè)計(jì) 根據(jù)上面的分析,可以將這個(gè)系統(tǒng)分為如下五大模塊:查看每人每種產(chǎn)品的銷(xiāo) 售額 、按銷(xiāo)售額對(duì)銷(xiāo)售員排序、對(duì)每種產(chǎn)品總銷(xiāo)售額從高到低排序、輸出統(tǒng)計(jì) 報(bào)表和退出。其中

6、主要模塊是前四個(gè)模塊。功能模塊圖如圖 1。 圖 1 功能模塊圖 3.2 系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)方案 根據(jù)上面的分析,可以將這個(gè)系統(tǒng)分為如下五大模塊:查看每人每種產(chǎn) 品的銷(xiāo)售額 、按銷(xiāo)售額對(duì)銷(xiāo)售員排序、對(duì)每種產(chǎn)品總銷(xiāo)售額從高到低排序、 輸出統(tǒng)計(jì)報(bào)表和退出。其中主要模塊是前四個(gè)模塊。 4. 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 4.14.1【頭文件和預(yù)定義】 #include #include #include #include #define m 155 4.24.2【功能函數(shù)聲明】 void detail(); void foreach(); void menu(); void product(); void re

7、addata(); void seller(); void total(); void choice(); 4.34.3【數(shù)據(jù)結(jié)構(gòu)】 原始數(shù)據(jù)有銷(xiāo)售員代號(hào)、產(chǎn)品代號(hào)和銷(xiāo)售額,所以定義一個(gè)全局結(jié)構(gòu)體數(shù)組 scrip用于保存原始數(shù)據(jù)。然后定義全局變量n保存紙條數(shù)目,定義數(shù)組s用于保 存分類(lèi)后的信息。 struct ss int sid; /銷(xiāo)售員代號(hào) int pid; /產(chǎn)品代號(hào) int sn; /銷(xiāo)售額 ssm; int n; /紙條數(shù)目 int s45=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; /用 于保存員工和產(chǎn)品信息 4.44.4【主函數(shù)】 顯示程序

8、設(shè)計(jì)者相關(guān)信息和調(diào)用文件讀取函數(shù)、數(shù)據(jù)初始化函數(shù)和主菜單函數(shù) void main() /入口函數(shù),即主函數(shù) readdata(); /讀取文件數(shù)據(jù) foreach(); /根據(jù)文件初始數(shù)據(jù)初始化便于操作的數(shù)組 menu(); /顯示主菜單 4.4-14.4-1【文件讀取函數(shù)】readdata() 讀出便條中的內(nèi)容,并保存到文件結(jié)構(gòu)體中 void readdata() /從文件讀取數(shù)據(jù) file *fp; if(fp=fopen(list.txt,r)=null) printf(cant open the file!n); exit(0); else for(n=0;!feof(fp);n+)

9、fscanf(fp,%d %d %dn, /保存文件數(shù)據(jù)到結(jié)構(gòu)體 fclose(fp); 4.4-24.4-2【文件讀取函數(shù)】foreach() 將保存到結(jié)構(gòu)體中的信息按產(chǎn)品分類(lèi),再根據(jù)銷(xiāo)售員進(jìn)行分類(lèi),將信息存到數(shù) 組當(dāng)中。 void foreach() /從紙條讀取數(shù)據(jù)并分類(lèi)整理 int i; for(i=0;in;i+) /遍歷所有紙條 switch(ssi.pid) /按產(chǎn)品分大類(lèi),根據(jù)大類(lèi)分銷(xiāo)售員小類(lèi),累加 個(gè)人各產(chǎn)品銷(xiāo)售數(shù)量 case 1: switch(ssi.sid) case 1:s00+=ssi.sn;break; case 2:s10+=ssi.sn;break; case

10、 3:s20+=ssi.sn;break; case 4:s30+=ssi.sn;break; break; case 2: switch(ssi.sid) case 1:s01+=ssi.sn;break; case 2:s11+=ssi.sn;break; case 3:s21+=ssi.sn;break; case 4:s31+=ssi.sn;break; break; case 3: switch(ssi.sid) case 1:s02+=ssi.sn;break; case 2:s12+=ssi.sn;break; case 3:s22+=ssi.sn;break; case 4:s

11、32+=ssi.sn;break; break; case 4: switch(ssi.sid) case 1:s03+=ssi.sn;break; case 2:s13+=ssi.sn;break; case 3:s23+=ssi.sn;break; case 4:s33+=ssi.sn;break; break; case 5: switch(ssi.sid) case 1:s04+=ssi.sn;break; case 2:s14+=ssi.sn;break; case 3:s24+=ssi.sn;break; case 4:s34+=ssi.sn;break; ; break; 4.4

12、-34.4-3【主菜單函數(shù)】menu() 顯示系統(tǒng)功能菜單以供用戶(hù)選擇相關(guān)功能使用,根據(jù)用戶(hù)選擇分別可調(diào)用 detail():計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售額 seller():按銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果(銷(xiāo)售員代號(hào)) product():統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售額,對(duì)這些產(chǎn)品按從高到低的順序輸出排序 結(jié)果(需輸出產(chǎn)品代號(hào)和銷(xiāo)售額) exit(0):退出系統(tǒng) void menu() int w,c; do puts(tt*菜單*nn); puts(tt 1.查看每人每種產(chǎn)品的銷(xiāo)售額n); puts(tt 2.按銷(xiāo)售額對(duì)銷(xiāo)售員排序(銷(xiāo)售員代號(hào))n); puts(tt 3.對(duì)每種產(chǎn)品總銷(xiāo)售

13、額從高到低排序(產(chǎn)品代號(hào)和銷(xiāo)售額) n); puts(tt 4.輸出統(tǒng)計(jì)報(bào)表n); puts(tt 5.退出n); puts(nntt*n); printf(請(qǐng)選擇(1-5): bb); scanf(%d, if(c5) /錯(cuò)誤輸入則重新獲取輸入 w=1; getchar(); else w=0; while(w=1); switch(c) /根據(jù)輸入實(shí)現(xiàn)相應(yīng)函數(shù)調(diào)用 case 1: detail();break;/每個(gè)銷(xiāo)售員每種產(chǎn)品的銷(xiāo)售額統(tǒng)計(jì) case 2: seller();break; case 3: product();break; case 4: total();break; ca

14、se 5: exit(0); 4.54.5【功能函數(shù)】 5-1【每人每種產(chǎn)品銷(xiāo)售額統(tǒng)計(jì)函數(shù)】detail() 計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷(xiāo)售額 void detail() /顯示銷(xiāo)售情況 int i,j; for(i=0;i4;i+) /遍歷銷(xiāo)售員 printf(ntt%d 號(hào)銷(xiāo)售員銷(xiāo)售情況:n,i+1); for(j=0;j5;j+) /按銷(xiāo)售員分類(lèi)遍歷所有產(chǎn)品并顯示信息 printf(tt%d 號(hào)產(chǎn)品銷(xiāo)售數(shù)量:%dn,j+1,sij); choice(); 4.5-14.5-1【銷(xiāo)售員銷(xiāo)售業(yè)績(jī)排序函數(shù)】seller() 按銷(xiāo)售額對(duì)銷(xiāo)售員進(jìn)行排序,輸出排序結(jié)果(銷(xiāo)售員代號(hào)) void sel

15、ler() int i,j,k; int sp4=0,0,0,0; for(i=0;i4;i+) for(j=0;j5;j+) spi+=sij; /計(jì)算每單個(gè)銷(xiāo)售員所有產(chǎn)品銷(xiāo)售數(shù)量 for(i=0;i4;i+) /比較四次,每次選出最大數(shù) k=0; /用于標(biāo)記單輪最大數(shù) for(j=0;j4;j+) if(spkspj)k=j; /獲取最大數(shù)標(biāo)號(hào) printf(tt 第%d 名是%d 號(hào)銷(xiāo)售員!n,i+1,k+1);spk=-1; /輸出最大數(shù)和排名,將最大數(shù)標(biāo)記為負(fù) choice(); 4.5-24.5-2【總銷(xiāo)售額統(tǒng)計(jì)函數(shù)】void product() 統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售額,對(duì)這些產(chǎn)品

16、按從高到低的順序輸出排序 void product() /與 seller()原理一樣,用于對(duì)產(chǎn)品進(jìn)行統(tǒng)計(jì) int i,j,k; int p5=0,0,0,0,0; for(j=0;j5;j+) for(i=0;i4;i+) pj+=sij; for(j=0;j5;j+) k=0; for(i=0;i5;i+) if(pkpi)k=i; printf(tt 第%d 名是%d 號(hào)產(chǎn)品!t 銷(xiāo)量為% d!n,j+1,k+1,pk);pk=-1; choice(); 4.5-34.5-3【統(tǒng)計(jì)報(bào)表輸出函數(shù)】total() 統(tǒng)計(jì)每種產(chǎn)品的總銷(xiāo)售額,對(duì)這些產(chǎn)品按從高到低的順序輸出排序結(jié)果(需輸 出產(chǎn)品代

17、號(hào)和銷(xiāo)售額) void total() /輸出報(bào)表 int i,j; printf(nt 銷(xiāo)售員t 產(chǎn)品t 銷(xiāo)量n); for(i=0;i4;i+) for(j=0;j返回菜單t2退出系統(tǒng) bb); scanf(%d, if(c=1) menu(); else exit(0); puts(n); 5. 調(diào)試調(diào)試與測(cè)試與測(cè)試 5.1 調(diào)試調(diào)試 調(diào)試是軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),也是最復(fù)雜,對(duì)軟件開(kāi)發(fā)者者來(lái) 說(shuō)也是最艱巨的任務(wù)。調(diào)試的任務(wù)是及時(shí)改正測(cè)試過(guò)程中發(fā)現(xiàn)的軟件錯(cuò)誤。具 體地說(shuō),調(diào)試過(guò)程由兩個(gè)步驟組成,它從表示程序中存在錯(cuò)誤的某跡象開(kāi)始, 首先確定錯(cuò)誤的準(zhǔn)確位置,也就是找出哪個(gè)模塊或哪個(gè)語(yǔ)

18、句引起的錯(cuò)誤。然后 仔細(xì)研究推斷代碼以確定問(wèn)題的原因,并設(shè)法改正。 調(diào)試過(guò)程主要是運(yùn)行編制好的程序,然后遇到錯(cuò)誤后根據(jù)系統(tǒng)的提示,找 到相關(guān)的問(wèn)題所在。本系統(tǒng)調(diào)試過(guò)程中遇到問(wèn)題、原因和解決方法如下面介紹。 (1)程序不能運(yùn)行 提示 rst.open trim(sql), cnn, adopenkeyset, adlockoptimistic 行有錯(cuò)誤,此 行是數(shù)據(jù)庫(kù)連接錯(cuò)誤或者是數(shù)據(jù)返回錯(cuò)誤,原因是將數(shù)據(jù)庫(kù)查找到的信息顯示 沒(méi)有設(shè)置好。 (2)點(diǎn)擊按鈕沒(méi)有出現(xiàn)要顯示的內(nèi)容 原因是內(nèi)容的代碼忘記輸入。 5.2 測(cè)試測(cè)試 軟件測(cè)試是軟件生存期中的一個(gè)重要階段,是軟件質(zhì)量保證的關(guān)鍵步驟從 用戶(hù)的角度

19、來(lái)看,普遍希望通過(guò)軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,所以 軟件測(cè)試應(yīng)該是“為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程” ?;蛘哒f(shuō),軟件測(cè)試應(yīng)該根 據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即 輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果) ,并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序 錯(cuò)誤或缺陷。過(guò)度測(cè)試則會(huì)浪費(fèi)許多寶貴的資源。到測(cè)試后期,即使找到了錯(cuò) 誤,然而付出了過(guò)高的代價(jià)。 測(cè)試數(shù)據(jù)過(guò)程如下。 list.txtlist.txt(便條)文件中數(shù)據(jù)如下:(便條)文件中數(shù)據(jù)如下: 1 1 10 2 5 20 3 4 40 4 2 60 1 3 20 3 4 30 運(yùn)行結(jié)果運(yùn)行結(jié)果 顯示主菜單顯示主菜單

20、 查看每人每種產(chǎn)品的銷(xiāo)售額運(yùn)行結(jié)果:查看每人每種產(chǎn)品的銷(xiāo)售額運(yùn)行結(jié)果: 按銷(xiāo)售額對(duì)銷(xiāo)售員排序運(yùn)行結(jié)果:按銷(xiāo)售額對(duì)銷(xiāo)售員排序運(yùn)行結(jié)果: 對(duì)每種產(chǎn)品銷(xiāo)售額從高到低排序運(yùn)行結(jié)果:對(duì)每種產(chǎn)品銷(xiāo)售額從高到低排序運(yùn)行結(jié)果: 統(tǒng)計(jì)報(bào)表運(yùn)行結(jié)果:統(tǒng)計(jì)報(bào)表運(yùn)行結(jié)果: 6. 結(jié)論結(jié)論 通過(guò)這次 c 程序設(shè)計(jì),我掌握了模塊化設(shè)計(jì)方法,能夠深入的理解結(jié)構(gòu)化 程序設(shè)計(jì)思想,熟練運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,提高了運(yùn)用 c 語(yǔ)言進(jìn)行程序設(shè) 計(jì)的能力。此外我還熟悉了,對(duì)于文件讀寫(xiě)的操作。更重要的是對(duì)程序的調(diào)試 有了顯著的提高。我發(fā)現(xiàn)我對(duì)程序的設(shè)計(jì)越來(lái)越感興趣了,我決定今后在這一 方面下一番功夫,取得一些成績(jī)。 結(jié)束語(yǔ)結(jié)束語(yǔ) 為期

21、兩個(gè)禮拜的的軟件綜合課程設(shè)計(jì)實(shí)習(xí)終于順利完成,在這期間付出汗水, 辛勞可是一言難盡。但我覺(jué)得很值得,以前只是在書(shū)本上學(xué)到 c 語(yǔ)言的編程基 礎(chǔ),這次用在了實(shí)際的程序編寫(xiě)上,解決了實(shí)際的問(wèn)題。 參考文獻(xiàn)參考文獻(xiàn) 1 劉炳文. visual basic 程序設(shè)計(jì)教程(第二版).北京:清華大學(xué)出版社,2005 2 全國(guó)計(jì)算機(jī)等級(jí)考試命題研究組 .全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程及同步輔導(dǎo) visual basic 語(yǔ)言程序設(shè)計(jì). 珠海:珠海出版社,2004 附錄附錄 1用戶(hù)手冊(cè)用戶(hù)手冊(cè) 首先新建 list.txt 其中輸入便條內(nèi)容,并放置在程序根目錄。 雙擊運(yùn)行程序便可實(shí)現(xiàn)各項(xiàng)功能,使用數(shù)字鍵盤(pán)進(jìn)行相應(yīng)功

22、能選擇。 附錄附錄 2源程序源程序 #include #include #include #include #define m 155 void detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); struct ss int sid; /銷(xiāo)售員代號(hào) int pid; /產(chǎn)品代號(hào) int sn; /銷(xiāo)售額 ssm; int n; /紙條數(shù)目 int s45=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

23、,0,0,0,0; /用于保存員工和產(chǎn)品信息 void main() /入口函數(shù),即主函數(shù) readdata(); /讀取文件數(shù)據(jù) foreach(); /根據(jù)文件初始數(shù)據(jù)初始化便于操作的數(shù)組 menu(); /顯示主菜單 void readdata() /從文件讀取數(shù)據(jù) file *fp; if(fp=fopen(list.txt,r)=null) printf(cant open the file!n); exit(0); else for(n=0;!feof(fp);n+) fscanf(fp,%d %d %dn, /保存文件數(shù)據(jù)到結(jié)構(gòu)體 fclose(fp); void foreach

24、() /從紙條讀取數(shù)據(jù)并分類(lèi)整理 int i; for(i=0;in;i+) /遍歷所有紙條 switch(ssi.pid) /按產(chǎn)品分大類(lèi),根據(jù)大類(lèi)分銷(xiāo)售員小類(lèi),累加個(gè)人各產(chǎn)品 銷(xiāo)售數(shù)量 case 1: switch(ssi.sid) case 1:s00+=ssi.sn;break; case 2:s10+=ssi.sn;break; case 3:s20+=ssi.sn;break; case 4:s30+=ssi.sn;break; break; case 2: switch(ssi.sid) case 1:s01+=ssi.sn;break; case 2:s11+=ssi.sn;b

25、reak; case 3:s21+=ssi.sn;break; case 4:s31+=ssi.sn;break; break; case 3: switch(ssi.sid) case 1:s02+=ssi.sn;break; case 2:s12+=ssi.sn;break; case 3:s22+=ssi.sn;break; case 4:s32+=ssi.sn;break; break; case 4: switch(ssi.sid) case 1:s03+=ssi.sn;break; case 2:s13+=ssi.sn;break; case 3:s23+=ssi.sn;break

26、; case 4:s33+=ssi.sn;break; break; case 5: switch(ssi.sid) case 1:s04+=ssi.sn;break; case 2:s14+=ssi.sn;break; case 3:s24+=ssi.sn;break; case 4:s34+=ssi.sn;break; ; break; void menu() int w,c; do puts(tt*菜單*nn); puts(tt 1.查看每人每種產(chǎn)品的銷(xiāo)售額n); puts(tt 2.按銷(xiāo)售額對(duì)銷(xiāo)售員排序(銷(xiāo)售員代號(hào))n); puts(tt 3.對(duì)每種產(chǎn)品總銷(xiāo)售額從高到低排序(產(chǎn)品代號(hào)和銷(xiāo)售額)n); puts(tt 4.輸出統(tǒng)計(jì)報(bào)表n); puts(tt 5.退出n); puts(nntt*n); printf(請(qǐng)選擇(1-5): bb); scanf(%d, if(c5) /錯(cuò)誤輸入則重新獲取輸入 w=1; getchar(); else w=0; while(w=1); switch(c) /根據(jù)輸入實(shí)現(xiàn)相應(yīng)函數(shù)調(diào)用 case 1: detail();break;/每個(gè)銷(xiāo)售員每種產(chǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論