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

下載本文檔

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

文檔簡(jiǎn)介

1、 C語(yǔ)言課程設(shè)計(jì)題 目 指導(dǎo)教師 學(xué)生姓名 學(xué) 號(hào) 專 業(yè) 教學(xué)單位 目 錄1設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求 11.1系統(tǒng)功能簡(jiǎn)介 1 1.2系統(tǒng)運(yùn)行環(huán)境 12功能劃分,模塊詳細(xì)說(shuō)明 13程序流程圖 14運(yùn)行的運(yùn)行及說(shuō)明 24.1系統(tǒng)的運(yùn)行 24.2運(yùn)行說(shuō)明 45總結(jié) 5附件:源程序清單51設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求1.1系統(tǒng)功能簡(jiǎn)介n 系統(tǒng)有簡(jiǎn)單的菜單界面,用戶可以通過(guò)輸入簡(jiǎn)單的選項(xiàng)來(lái)完成相應(yīng)的工作。n 選定一種產(chǎn)品,按銷售額的順序?qū)︿N售員進(jìn)行排序,輸出排序結(jié)果。n 統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果。n 輸出統(tǒng)計(jì)報(bào)表。1.2系統(tǒng)運(yùn)行環(huán)境Vc+6.0下運(yùn)行,硬件基本無(wú)要求,現(xiàn)在的計(jì)算機(jī)系統(tǒng)基本都可以運(yùn)行該系統(tǒng)

2、。2功能劃分,模塊詳細(xì)說(shuō)明 系統(tǒng)的功能是通過(guò)子函數(shù)調(diào)用的方式來(lái)完成的,下面對(duì)程序中用到的函數(shù)及其功能做一下說(shuō)明。l void menu():顯示主菜單界面。l void data_count(data *x):以寫(xiě)方式打開(kāi)文件,對(duì)商品信息清零,讀入職工編號(hào)、產(chǎn)品編號(hào)、銷售量等信息,對(duì)相同職工的相同產(chǎn)品的銷售量求和后寫(xiě)入文件。l void range_sxy(data *x):以讀方式打開(kāi)文件,讀入信息,輸入按何種產(chǎn)品排序后對(duì)存儲(chǔ)職工編號(hào)的數(shù)組進(jìn)行排序,最后輸出新序的職工編號(hào)信息。l void range_shangpin(data *x):從文件讀入信息,對(duì)每項(xiàng)產(chǎn)品的銷售量求和,按每項(xiàng)產(chǎn)品的總

3、銷售量排序。l void data_out(data *x):打開(kāi)文件,讀入信息,求所有產(chǎn)品的銷售量的和,輸出統(tǒng)計(jì)表。l void main():主函數(shù),調(diào)用以上函數(shù),完成相應(yīng)功能。3程序流程圖程序整體流程圖如圖3-1所示:計(jì)算產(chǎn)品銷售額按銷售額對(duì)銷售員排序統(tǒng)計(jì)每種產(chǎn)品的總銷售額,排序輸出統(tǒng)計(jì)報(bào)表退出結(jié) 束菜 單開(kāi) 始圖3-1整體流程圖4系統(tǒng)的運(yùn)行及說(shuō)明4.1系統(tǒng)的運(yùn)行系統(tǒng)初始運(yùn)行時(shí),會(huì)顯示如圖4-1所示的菜單界面,用戶可以根據(jù)提示,進(jìn)行相應(yīng)的選擇,來(lái)完成系統(tǒng)提供的各種功能。圖4-1輸入界面當(dāng)選擇1時(shí),系統(tǒng)調(diào)用函數(shù)void data_count(data *x),完成相應(yīng)的功能。運(yùn)行界面如圖4

4、-2所示,系統(tǒng)會(huì)要求用戶輸入月份,然后要求輸入這個(gè)月份中是哪個(gè)職工銷售的哪項(xiàng)產(chǎn)品的數(shù)量的具體信息,我們的系統(tǒng)假設(shè)有四個(gè)職工,職工編號(hào)從1至4,一共有5項(xiàng)產(chǎn)品,產(chǎn)品編號(hào)從1至5。職工和產(chǎn)品的數(shù)目都可以更改,只要修改一下程序中的宏定義語(yǔ)句即可。圖4-2計(jì)算產(chǎn)品銷售額界面當(dāng)選擇2時(shí),系統(tǒng)調(diào)用void range_sxy(data *x),完成相應(yīng)部分的功能。運(yùn)行界面如圖4-3所示,系統(tǒng)會(huì)要求用戶輸入月份,然后排序的產(chǎn)品編號(hào),最后給出此項(xiàng)產(chǎn)品的按照銷售量的大小進(jìn)行的銷售員的編號(hào)的排序情況。 圖4-3按銷售額對(duì)銷售員排序的界面當(dāng)選擇3時(shí),系統(tǒng)調(diào)用void range_shangpin(data *x),

5、完成對(duì)每項(xiàng)商品的總銷售量排序的功能,運(yùn)行界面如圖4-4所示:圖4-4產(chǎn)品總銷售額排序界面當(dāng)選擇4時(shí),系統(tǒng)調(diào)用void data_out(data *x),完成輸出統(tǒng)計(jì)表的功能,統(tǒng)計(jì)內(nèi)容如圖4-5所示:圖4-5統(tǒng)計(jì)報(bào)表界面4.2運(yùn)行說(shuō)明首次打開(kāi)系統(tǒng)必須輸入一部分員工信息,如果沒(méi)有員工信息文件,除了輸入功能以外,其它的功能將自動(dòng)禁止, 按任意鍵退出程序。輸入時(shí),按照提示陸續(xù)輸入每個(gè)員工的單個(gè)信息,輸入完畢,選擇“0”,程序?qū)⒆詣?dòng)回到菜單選擇界面。其它的功能模塊都在執(zhí)行程序時(shí)有相應(yīng)的提示,非常容易操作。5總結(jié)通過(guò)這次實(shí)習(xí),讓我們初步有了編寫(xiě)系統(tǒng)的能力,我們對(duì)很多的函數(shù)有了新的認(rèn)識(shí),也學(xué)會(huì)了運(yùn)用多種函

6、數(shù),也明白了編寫(xiě)軟件的基本過(guò)程,和基本方法。編寫(xiě)軟件的過(guò)程中我們又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會(huì)的函數(shù)的用法。這次課程設(shè)計(jì)課總的來(lái)說(shuō)讓我受益匪淺。在軟件的設(shè)計(jì)過(guò)程中遇到了很多的困難。在軟件一次一次的調(diào)試失敗下,曾經(jīng)想過(guò)要放棄。我最后還是讓自己堅(jiān)持了下來(lái),毫不畏懼困難,在同學(xué)的幫助與講解下我總算是順利的完成了軟件的設(shè)計(jì)。在程序的編寫(xiě)過(guò)程中我們發(fā)現(xiàn)有很多的知識(shí)漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來(lái)完善自己。在這幾天的編寫(xiě)過(guò)程中我們對(duì)c語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解。此次編程過(guò)程的經(jīng)驗(yàn)和知識(shí)肯定能促進(jìn)我以后的學(xué)習(xí)。此次課程設(shè)計(jì)不僅給了我們很多很好的經(jīng)驗(yàn),也讓我們體會(huì)到了失敗時(shí)的焦急和難受,也體會(huì)到了

7、成功時(shí)的興奮與喜悅。附件:源程序清單#include <stdio.h>#include <string.h>#include <conio.h>#include <stdlib.h>#define Z 5#define R 4 /*定義宏常量便于程序的一般化*/ /*R表示銷售員個(gè)數(shù)*/typedef struct /*縮短結(jié)構(gòu)體變量名*/ int shangpinZ; /*定義結(jié)構(gòu)體便于信息的存儲(chǔ)和讀寫(xiě),辨別*/ /*z是表示商品的種類,最后一個(gè)為該銷售員商品總和*/data;void menu() printf(" *n"

8、;); printf(" 0.結(jié)束操作n"); printf(" 1.計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額n"); printf(" 2.按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果n"); printf(" 3.統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果n"); printf(" 4.輸出統(tǒng)計(jì)報(bào)表n"); printf(" *n");void data_count(data *x) /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額*/ FILE *fp; char fname10; int j,t;

9、/*用于控制循環(huán)*/ int i,k,s; /*用于定義職工序號(hào),產(chǎn)品序號(hào),產(chǎn)品數(shù)量*/ system("cls"); printf("您想計(jì)算哪個(gè)月?n"); printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息寫(xiě)入*/ scanf("%s",fname); strcat(fname,".txt"); if(fp=fopen(fname,"wb")=NULL) /*打開(kāi)文件*/ printf("can not open the filen&

10、quot;); exit(0); for(j=0;j<R;j+) /*對(duì)商品數(shù)量清零*/ for(t=0;t<Z;t+) (x+j)->shangpint=0; printf("please put the information about the 職工編號(hào),產(chǎn)品編號(hào),銷售數(shù)量n"); /*寫(xiě)入信息*/ for(j=0;j+) scanf("%d%d%d",&i,&k,&s); if(i=0) /*輸入職工為0時(shí)結(jié)束信息輸入*/ break; if(i>R|i<0|k>Z|k<0) pr

11、intf("the information error!n"); /*避免輸入信息出錯(cuò)*/ continue; else (x+i-1)->shangpink-1=(x+i-1)->shangpink-1+s;/*統(tǒng)計(jì)各個(gè)人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號(hào)相匹配*/ for(j=0;j<R;j+) if(fwrite(x+j),sizeof(data),1,fp)!=1) /*把信息寫(xiě)入文件中便有以后調(diào)用*/ printf("write error!n"); fclose(fp); /*關(guān)閉文件避免信息遺漏*/void rang

12、e_sxy(data *x) /*按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果*/ FILE *fp; char fname10; int i,k,j,t,bianhaoR=0,z; system("cls"); printf("你要哪個(gè)月的?n"); printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/ scanf("%s",fname); strcat(fname,".txt"); if(fp=fopen(fname,"rb")=NULL) /*

13、打開(kāi)文件*/ printf("can not open the filen"); exit(0); for(i=0;i<R;i+) /*讀出信息*/ if(fread(x+i,sizeof(data),1,fp)!=1) printf("讀入信息出錯(cuò)!"); /*讀入信息提示*/ for(i=0;i<R;) /*用于存儲(chǔ)職工編號(hào)*/ bianhaoi=i+; printf("請(qǐng)輸入按何種產(chǎn)品排序n"); scanf("%d",&k); k=k-1; /*便于與結(jié)構(gòu)體中的數(shù)組值對(duì)應(yīng)*/ for(i

14、=0;i<R;i+) /*按K種產(chǎn)品對(duì)銷售員排序,選擇法排序*/ t=i; for(j=i+1;j<R;j+) if(x+bianhaot)->shangpink<(x+bianhaoj)->shangpink)/*調(diào)用職工各自對(duì)應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/ t=j; if(t!=i) z=bianhaoi; bianhaoi=bianhaot; bianhaot=z; printf("按%d產(chǎn)品對(duì)銷售員排序?yàn)?n",k+1); for(i=0;i<R;i+) printf("%5d",bianhaoi+1); getc

15、h(); fclose(fp);void range_shangpin(data *x) /*統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/ FILE *fp; char fname10; int i,j,sumZ=0,bianhaoZ=0,z,t,k; system("cls"); printf("您想計(jì)算哪個(gè)月的?n"); printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/ scanf("%s",fname); strcat(fname,".txt"); if(f

16、p=fopen(fname,"rb")=NULL) /*打開(kāi)文件*/ printf("can not open the filen"); exit(0); for(i=0;i<R;i+) /*讀出信息*/ if(fread(x+i,sizeof(data),1,fp)!=1) printf("讀入信息出錯(cuò)!"); for(i=0;i<Z;i+) /*對(duì)各種商品求和*/ for(j=0;j<R;j+) sumi=sumi+(x+j)->shangpini; for(i=0;i<Z;) /*用于存儲(chǔ)商品編號(hào)*

17、/ bianhaoi=i+; for(i=0;i<Z;i+) printf("%3d",bianhaoi); for(i=0;i<Z;i+) /*對(duì)產(chǎn)品從高到低排序,選擇法排序*/ t=i; for(j=i+1;j<Z;j+) /*產(chǎn)品變化時(shí),產(chǎn)品編號(hào)也隨之變化,便于輸出*/ if(sumt<sumj) t=j; if(t!=i) k=sumi; sumi=sumt; sumt=k; z=bianhaoi; bianhaoi=bianhaot; bianhaot=z; printf("輸出產(chǎn)品排序n"); printf("

18、;產(chǎn)品編號(hào) 數(shù)量n"); for(i=0;i<Z;i+) printf("%-10d%-10dn",bianhaoi+1,sumi); getch(); fclose(fp);void data_out(data *x) /*輸出統(tǒng)計(jì)報(bào)表*/ FILE *fp; char fname10; int i,j,sumZ+1=0; system("cls"); printf("您想計(jì)算哪個(gè)月?n"); printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/ scanf(&qu

19、ot;%s",fname); strcat(fname,".txt"); if(fp=fopen(fname,"rb")=NULL) /*打開(kāi)文件*/ printf("can not open the filen"); exit(0); for(i=0;i<R;i+) /*讀出信息*/ if(fread(x+i,sizeof(data),1,fp)!=1) printf("讀入信息出錯(cuò)!"); for(i=0;i<Z;i+) /*對(duì)各種商品求和*/ for(j=0;j<R;j+) sumi=sumi+(x+j)->shangpini; for(i=0;i<Z;i+) /*求商品總和*/ sumZ=sumZ+sumi; printf("輸出統(tǒng)計(jì)報(bào)表如下:n"); /*按要求輸出統(tǒng)計(jì)表*/ printf("產(chǎn)品代號(hào) 銷售之和 銷售員代號(hào)n"); for(i=0;i<R;i+) for(j=0;j<Z;j+) printf("%-10d%-10d%-10dn",j+1,(x+i)->shangpinj

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論