版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言課程設(shè)計題目指導(dǎo)教師學(xué)生姓名學(xué)號專業(yè)教學(xué)單位目錄111.111.212 13 14 2 4.1 24.245 5:51 設(shè)計內(nèi)容與設(shè)計要求1.1 系統(tǒng)功能簡介系統(tǒng)有簡單的菜單界面,用戶可以通過輸入簡單的選項來完成相應(yīng)的工作。選定一種產(chǎn)品,按銷售額的順序?qū)︿N售員進行排序,輸出排序結(jié)果。統(tǒng)計每種產(chǎn)品的總銷售額, 輸出排序結(jié)果。輸出統(tǒng)計報表。1.2 系統(tǒng)運行環(huán)境Vc+6.0 下運 行, 硬 件基 本無要求 ,現(xiàn) 在的 計算 機系 統(tǒng)基 本都可以運行該系統(tǒng)。2 功能劃分,模塊詳細說明系統(tǒng)的功能是通過子函數(shù)調(diào)用的方式來完成的,下面對程序中用到的函數(shù)及其功能做一下說明。void menu() :顯示
2、主菜單界面。void data_count(data *x):以寫方式打開文件,對商品信息清零,讀入職工編號、產(chǎn)品編號、銷售量等信息,對相同職工的相同產(chǎn)品的銷售量求和后寫入文件。void range_sxy(data*x) :以讀方式打開文件,讀入信息,輸入按何種產(chǎn)品排序后對存儲職工編號的數(shù)組進行排序,最后輸出新序的職工編號信息。void range_shangpin(data *x):從文件讀入信息,對每項產(chǎn)品的銷售量求和,按每項產(chǎn)品的總銷售量排序。void data_out(data *x):打開文件,讀入信息,求所有產(chǎn)品的銷售量的和,輸出統(tǒng)計表。void main():主函數(shù),調(diào)用以上函
3、數(shù),完成相應(yīng)功能。3 程序流程圖程序整體流程圖如圖 3-1 所示:1開始菜單計算產(chǎn)品銷按銷售額對統(tǒng)計每種產(chǎn)品輸出統(tǒng)計退出售額銷售員排序的總銷售額,報表排序結(jié)束圖 3-1整體流程圖4 系統(tǒng)的運行及說明4.1 系統(tǒng)的運行系統(tǒng)初始運行時,會顯示如圖 4-1 所示的菜單界面,用戶可以根據(jù)提示,進行相應(yīng)的選擇,來完成系統(tǒng)提供的各種功能。圖 4-1輸入界面2當 選擇 1 時 ,系統(tǒng) 調(diào)用函 數(shù) void data_count(data *x),完成相應(yīng)的功能。運行界面如圖4-2 所示,系統(tǒng)會要求用戶輸入月份,然后要求輸入這個月份中是哪個職工銷售的哪項產(chǎn)品的數(shù)量的具體信息,我們的系統(tǒng)假設(shè)有四個職工,職工編號
4、從1 至 4,一共有 5 項產(chǎn)品,產(chǎn)品編號從1 至 5。職工和產(chǎn)品的數(shù)目都可以更改,只要修改一下程序中的宏定義語句即可。圖 4-2計算產(chǎn)品銷售額界面當選 擇 2 時, 系統(tǒng) 調(diào) 用 void range_sxy(data*x) ,完成相應(yīng)部分的功能。運行界面如圖4-3 所示,系統(tǒng)會要求用戶輸入月份,然后排序的產(chǎn)品編號,最后給出此項產(chǎn)品的按照銷售量的大小進行的銷售員的編號的排序情況。圖 4-3按銷售額對銷售員排序的界面3當 選擇 3 時 ,系統(tǒng) 調(diào) 用 void range_shangpin(data *x),完成對每項商品的總銷售量排序的功能,運行界面如圖4-4 所示:圖 4-4產(chǎn)品總銷售額排
5、序界面當 選擇 4 時 ,系 統(tǒng)調(diào) 用 void data_out(data *x), 完成 輸 出統(tǒng) 計表的功能,統(tǒng)計內(nèi)容如圖 4-5 所示:圖 4-5統(tǒng)計報表界面4.2 運行說明4首次打開系統(tǒng)必須輸入一部分員工信息,如果沒有員工信息文件,除了輸入功能以外,其它的功能將自動禁止, 按任意鍵退出程序 。輸入時,按照提示陸續(xù)輸入每個員工的單個信息,輸入完畢,選擇“0”,程序?qū)⒆詣踊氐讲藛芜x擇界面。其它的功能模塊都在執(zhí)行程序時有相應(yīng)的提示,非常容易操作。5 總 結(jié)通過這次實習(xí),讓我們初步有了編寫系統(tǒng)的能力,我們對很多的函數(shù)有了新的認識,也學(xué)會了運用多種函數(shù),也明白了編寫軟件的基本過程,和基本方法。
6、編寫軟件的過程中我們又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會的函數(shù)的用法。這次課程設(shè)計課總的來說讓我受益匪淺。在軟件的設(shè)計過程中遇到了很多的困難。在軟件一次一次的調(diào)試失敗下,曾經(jīng)想過要放棄。我最后還是讓自己堅持了下來,毫不畏懼困難,在同學(xué)的幫助與講解下我總算是順利的完成了軟件的設(shè)計。在程序的編寫過程中我們發(fā)現(xiàn)有很多的知識漏洞和缺陷,需要進一步努力學(xué)習(xí)來完善自己。在 這幾 天的 編寫 過 程中 我們 對 c 語言 有了 更進 一步 的認 識 和了解。此次編程過程的經(jīng)驗和知識肯定能促進我以后的學(xué)習(xí)。此次課程設(shè)計不僅給了我們很多很好的經(jīng)驗,也讓我們體會到了失敗時的焦急和難受,也體會到了成功時的興奮與
7、喜悅。附件: 源程序清單#include #include #include #include #define Z 5#define R 4/*定義宏常量便于程序的一般化*/ /*R表示銷售員個數(shù) */typedef struct/*縮短結(jié)構(gòu)體變量名 */5intshangpinZ;/*定義結(jié)構(gòu)體便于信息的存儲和讀寫,辨別 */ /*z是表示商品的種類 , 最后一個為該銷售員商品總和*/data;void menu() printf(*n);printf(0.結(jié)束操作 n);printf(1.計算上個月每個人每種產(chǎn)品的銷售額 n);printf(2.按銷售額對銷售員進行排序,輸出排序結(jié)果 n)
8、;printf(3.統(tǒng)計每種產(chǎn)品的總銷售額 , 輸出排序結(jié)果 n);printf(4.輸出統(tǒng)計報表 n);printf(*n);void data_count(data *x)/*計算上個月每個人每種產(chǎn)品的銷售額*/FILE *fp;char fname10;int j,t;/*用于控制循環(huán) */int i,k,s;/*用于定義職工序號,產(chǎn)品序號,產(chǎn)品數(shù)量*/system(cls);printf(您想計算哪個月 ?n);printf(請輸入月份 :);/*輸入文件名 , 這樣可以進行各個月份信息寫入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen
9、(fname,wb)=NULL)/*打開文件 */printf(can not open the filen);6exit(0);for(j=0;jR;j+)/*對商品數(shù)量清零 */for(t=0;tshangpint=0;printf(please put the information about the職工編號 , 產(chǎn)品編號 , 銷售數(shù)量 n);/*寫入信息 */for(j=0;j+)scanf(%d%d%d,&i,&k,&s);if(i=0)/*輸入職工為 0時結(jié)束信息輸入 */break;if(iR|iZ|kshangpink-1=(x+i-1)-shangpink-1+s;/*統(tǒng)計
10、各個人的各種產(chǎn)品的數(shù)量 ,-1 為了和數(shù)組中的序號相匹配*/for(j=0;jR;j+)if(fwrite(x+j),sizeof(data),1,fp)!=1)/*把信息寫入文件中便有以后調(diào)用 */printf(write error!n);fclose(fp);/*關(guān)閉文件避免信息遺漏 */void range_sxy(data *x)/*按銷售額對銷售員進行排序,輸出排序結(jié)果*/7FILE *fp;char fname10;int i,k,j,t,bianhaoR=0,z;system(cls);printf(你要哪個月的 ?n);printf(請輸入月份 :);/*輸入文件名 , 這樣
11、可以進行各個月份信息讀入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen(fname,rb)=NULL)/*打開文件 */printf(can not open the filen);exit(0);for(i=0;iR;i+)/*讀出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)printf(讀入信息出錯! );/*讀入信息提示 */for(i=0;iR;)/*用于存儲職工編號 */bianhaoi=i+;printf(請輸入按何種產(chǎn)品排序 n);scanf(%d,&k);k=k-1;/*便于與結(jié)構(gòu)體中的數(shù)組值
12、對應(yīng)*/for(i=0;iR;i+)/*按 K種產(chǎn)品對銷售員排序 , 選擇法排序 */t=i;for(j=i+1;jshangpinkshangpink)/*調(diào)用職工各自對應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/t=j;if(t!=i)8z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(按%d產(chǎn)品對銷售員排序為 :n,k+1);for(i=0;iR;i+)printf(%5d,bianhaoi+1);getch();fclose(fp);void range_shangpin(data*x)/*統(tǒng)計每種產(chǎn)品的總銷售額, 輸出排序結(jié)果 */FILE *fp;char
13、 fname10;int i,j,sumZ=0,bianhaoZ=0,z,t,k;system(cls);printf(您想計算哪個月的 ?n);printf(請輸入月份 :); /*輸入文件名 , 這樣可以進行各個月份信息讀入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen(fname,rb)=NULL)/*打開文件 */printf(can not open the filen);exit(0);for(i=0;iR;i+)/*讀出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)9printf(讀入信息出錯!
14、);for(i=0;iZ;i+)/*對各種商品求和 */for(j=0;jshangpini;for(i=0;iZ;)/*用于存儲商品編號 */bianhaoi=i+;for(i=0;iZ;i+)printf(%3d,bianhaoi);for(i=0;iZ;i+)/*對產(chǎn)品從高到低排序 , 選擇法排序 */t=i;for(j=i+1;jZ;j+)/*產(chǎn)品變化時,產(chǎn)品編號也隨之變化,便于輸出*/if(sumtsumj)t=j;if(t!=i)k=sumi;sumi=sumt;sumt=k;z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(輸出產(chǎn)品排序
15、 n);printf(產(chǎn)品編號數(shù)量 n);for(i=0;iZ;i+)printf(%-10d%-10dn,bianhaoi+1,sumi);getch();10fclose(fp);void data_out(data *x)/*輸出統(tǒng)計報表 */FILE *fp;char fname10;int i,j,sumZ+1=0;system(cls);printf(您想計算哪個月 ?n);printf(請輸入月份 :);/*輸入文件名 , 這樣可以進行各個月份信息讀入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen(fname,rb)=NULL)/
16、*打開文件 */printf(can not open the filen);exit(0);for(i=0;iR;i+)/*讀出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)printf(讀入信息出錯! );for(i=0;iZ;i+)/*對各種商品求和 */for(j=0;jshangpini;for(i=0;iZ;i+)/*求商品總和 */sumZ=sumZ+sumi;printf(輸出統(tǒng)計報表如下 :n);/*按要求輸出統(tǒng)計表 */printf(產(chǎn)品代號銷售之和銷售員代號 n);for(i=0;iR;i+)for(j=0;jshangpinj,i+1);printf(*n);for(i=0;iZ;i+)if(i=0)printf(%d產(chǎn)品之和 %-10d總和 %-10dn,i+1,sumi,sumZ);elseprintf(%d產(chǎn)品之和 %-10dn,i+1,sumi);getch();void main()int i,choice;data sxyR;/*R表示職工的個數(shù),前面的宏常量*/for(i=0;i+)system(cls);/*清頻命令 */menu();/*菜單函數(shù)提示用戶怎樣選擇*/printf(你想做什么 ?n);printf(請選擇 :);/*輸入要進行的操作 */scanf(%d,&
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版星巴克加盟店設(shè)備維護合同
- 個人影視作品版權(quán)轉(zhuǎn)讓合同(2024版)3篇
- 2024示范文本:二手車買賣合同車輛安全檢測規(guī)范2篇
- 2024試乘試駕活動電子合同范本12篇
- 2025年度二手吊車評估與交易中介合同3篇
- 項目建議書(含設(shè)計任務(wù)書)及可行性研究報告編制技術(shù)咨詢合同模板
- 2025年度碼頭船舶??颗c貨物倉儲一體化租賃合同4篇
- 2025年度臨時醫(yī)療護理人員派遣服務(wù)合同4篇
- 2025年稅務(wù)顧問服務(wù)合同協(xié)議書適用于企業(yè)集團6篇
- 眾維重工2025年度鋼結(jié)構(gòu)建筑工程智能化控制系統(tǒng)采購合同2篇
- 《穿越迷宮》課件
- 《C語言從入門到精通》培訓(xùn)教程課件
- 2023年中國半導(dǎo)體行業(yè)薪酬及股權(quán)激勵白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動車棚新(擴)建及修建充電車棚施工方案(純方案-)
- 項目推進與成果交付情況總結(jié)與評估
- 鐵路項目征地拆遷工作體會課件
- 醫(yī)院死亡報告年終分析報告
- 建設(shè)用地報批服務(wù)投標方案(技術(shù)方案)
- 工會工作人年度考核個人總結(jié)
- 上海民辦楊浦實驗學(xué)校初一新生分班(摸底)語文考試模擬試卷(10套試卷帶答案解析)
評論
0/150
提交評論