C語言課程設(shè)計(jì)_第1頁
C語言課程設(shè)計(jì)_第2頁
C語言課程設(shè)計(jì)_第3頁
C語言課程設(shè)計(jì)_第4頁
C語言課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績評定表學(xué)生姓名班級學(xué)號專業(yè)通信工程課程設(shè)計(jì)題目C語言課程設(shè)計(jì)評語組長簽字:成績?nèi)掌?013年月日課程設(shè)計(jì)任務(wù)書學(xué)院學(xué)生姓名課程設(shè)計(jì)題目信息科學(xué)與工程學(xué)院班級學(xué)號C語言課程設(shè)計(jì)通信工程實(shí)踐教學(xué)要求與任務(wù):利用C語言編寫下題的代碼。題目名稱:查找分?jǐn)?shù)與刪除元素、工資統(tǒng)計(jì)程序的設(shè)計(jì)內(nèi)容及要求:1.2.3.編程,先從鍵盤輸入一組學(xué)生成績到數(shù)組中,然后輸入某一個分?jǐn)?shù)段,查找輸出該分?jǐn)?shù)段內(nèi)的所有成績。編寫函數(shù)fun (int xx ,int n , int y),其中n代表數(shù)組元素的個數(shù),y中內(nèi)容是要刪除的元素值。函數(shù)的功能是數(shù)組 XX中所有值為y的元素。數(shù)組中的值和 y的值由主函數(shù)通過鍵 盤輸入。工

2、資統(tǒng)計(jì)程序設(shè)計(jì)設(shè)計(jì)結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)中包含職工數(shù)據(jù)為:編號、姓名、部門、應(yīng)付工資、保險(xiǎn)、稅金、實(shí)付工資。其中實(shí)付工資由公式計(jì)算得到:實(shí)付工資=應(yīng)付工資-保險(xiǎn)-稅金設(shè)計(jì)各個函數(shù),分別實(shí)現(xiàn)以下功能:(1) 輸入職工數(shù)據(jù),其中“實(shí)付工資”通過計(jì)算得到。(2) 顯示全體職工數(shù)據(jù)。(3) 輸入某部門值,顯示該部門職工的數(shù)據(jù)、工資總額、平均工資。設(shè)計(jì)菜單,通過選擇菜單 調(diào)用以上各函數(shù);系統(tǒng)啟動時數(shù)據(jù)可由文件導(dǎo)入,錄入新的數(shù)據(jù)或修改數(shù)據(jù)后,可將數(shù)據(jù)重新寫 入文件。工作計(jì)劃與進(jìn)度安排:第18-19周:第18周.C語言基礎(chǔ)編程練習(xí)第18周.算法設(shè)計(jì)及編寫程序代碼第19周.編寫程序代碼及程序調(diào)試 第19周.程序驗(yàn)收

3、及答辯指導(dǎo)教師:專業(yè)負(fù)責(zé)人:學(xué)院教學(xué)副院長:2013年 月2013年 月2013年 月 日一、題目要求 二、算法設(shè)計(jì) 三、編程實(shí)現(xiàn) 四、結(jié)果分析 五、參考文獻(xiàn)34102528、題目要求題目名稱:查找分?jǐn)?shù)與刪除元素、工資統(tǒng)計(jì)程序的設(shè)計(jì)1、內(nèi)編容程:段,查找輸出該分?jǐn)?shù)段內(nèi)的段|查的出該容|中:門的過工值|選|,據(jù)擇據(jù)顯或菜。示修單該改調(diào)部|用門據(jù)以職后上工,各的可函|將|據(jù)|;、據(jù)系工重統(tǒng)資新啟總寫動額入時、文|平件據(jù)均??晒び蒀+ :用等語言編寫上述程序,開發(fā)環(huán)境可采用Turbo C 2.0或Visual2、編的值3、工設(shè)計(jì)y 的值由主應(yīng)實(shí)付付要實(shí)資文設(shè)(付求計(jì)。件231:各設(shè)導(dǎo))入個計(jì)輸顯輸菜

4、,函入示入數(shù)錄單職全某入,體工新分通職數(shù)的設(shè)計(jì)示入全某體部通職門實(shí)能付:工資”通過計(jì)算得到。、算法設(shè)計(jì)1、編程,先從鍵盤輸入一組學(xué)生成績到數(shù)組中,然后輸入某一個分?jǐn)?shù)段,查找輸出該分?jǐn)?shù)段是是k+/輸出ak/結(jié)束注:此函數(shù)功能是,輸入一組成績,然后在程序中輸入所要查詢的成績分?jǐn)?shù)段,輸出該分?jǐn)?shù) 段的所有成績。2、編寫函數(shù)fun (int xx ,int n , int y),其中n代表數(shù)組元素的個數(shù),y中內(nèi)容是要刪除的元素值。函數(shù)的功能是數(shù)組xx中所有值為y的元素。數(shù)組中的值和 y的值由主函數(shù)通過鍵盤輸入。注:fun(xx ,i nt n, i nt y)函數(shù)功能是對數(shù)組中含有y的元素刪除。其中含有

5、xx ,int n, int y 3個變量,xx是指定的數(shù)組,n表示數(shù)組中的元素個數(shù),y表示要刪除的數(shù)組中的元素值。3、工資統(tǒng)計(jì)程序設(shè)計(jì)設(shè)計(jì)結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)中包含職工數(shù)據(jù)為:編號、姓名、部門、應(yīng)付工資、保險(xiǎn)、稅 =應(yīng)付工資-保險(xiǎn)-稅金金、實(shí)付工資。其中實(shí)付工資由公式計(jì)算得到:實(shí)付工資 設(shè)計(jì)各個函數(shù),分別實(shí)現(xiàn)以下功能:(1)輸入職工數(shù)據(jù),其中“實(shí)付工資”通過計(jì)算得到。(2)顯示全體職工數(shù)據(jù)。(3)輸入某部門值,顯示該部門職工的數(shù)據(jù)、工資總額、 擇菜單調(diào)用以上各函數(shù); 數(shù)據(jù)重新寫入文件。系統(tǒng)啟動時數(shù)據(jù)可由文件導(dǎo)入,平均工資。設(shè)計(jì)菜單,通過選錄入新的數(shù)據(jù)或修改數(shù)據(jù)后,可將否是注: 函數(shù)說明: voi

6、d shuru();void shuchu();void save(i nt n);/void zen gjia(i nt n); / void xiugai();void chax un(); void caida n(); load(); /用來輸入增加職工的信息用來輸出文件中所有職工的信息將職工信息保存到文件中,實(shí)現(xiàn)導(dǎo)入 增加職工的信息修改職工的信息按照部門查詢職工信息基本的菜單,按提示操作將職工信息從文件中導(dǎo)出、編程實(shí)現(xiàn)程序的具體 C 語言代碼如下:第 1 題:/* 編程人:楚天辭 完成時間 2012 年 7 月 5 日 聯(lián)系方式: */#include<stdio.h>m

7、ain() intfloi,akt ;m,n, a6;prrf產(chǎn)6; i+請輸入一個數(shù)組:'譏pcaf%:豐請按由小到大的順序輸入分?jǐn)?shù)段'n"); ssccaannff("" fporrin(itP rintf(第 2 題:成績屬于該分?jǐn)?shù)段 n");<a=km);i#ndtefufinn(einNt x1x0,int n,int y) 數(shù)值個卿:嚴(yán)叮) 移動 f翩 <n-1;k+)糾嚀xk+1;mainre(t)urn jj;+; 鼬=0<請輸入d個數(shù)組的元素值n",N); 0 ""蟲%輸入

8、要刪除的元素值'n");/ j 表示要刪除的數(shù)值個數(shù),而 n-j 表示數(shù)組有效的/ 從刪除位置后面的第一個元素值開始向前jsPP=crrfiiaunnnsnttfffc(x""a"x%,d",&y);PriniPtt=ffr(0i""n;'int<f"除后的數(shù)組為: 'n"); Pfjxxi);第 3 題:#include<stdio.h>#include<string.h>struct zijinint bianhao;char xingmi

9、ng20;char bumen100; float yfgz;float baoxian;float shuijin;float sfgz; zhigong100; /定義結(jié)構(gòu)體數(shù)組 zhigongvoid shuru(); /用來輸入增加職工的信息void shuchu(); /用來輸出文件中所有職工的信息void save(int n); /將職工信息保存到文件中,實(shí)現(xiàn)導(dǎo)入void zengjia(int n); /增加職工的信息void xiugai();/ 修改職工的信息void chaxun();/ 按照部門查詢職工信息void caidan();/ 基本的菜單,按提示操作load(

10、); / 將職工信息從文件中導(dǎo)出int sumNum; / 商品總個數(shù)main()int a,flag=0,number=0;doprintf(" 錄入職工信息請按 1,新增職工信息請按 2n"); scanf("%d",&a);if(a=1)shuru(); / 輸入數(shù)據(jù)shuchu();caidan();else if(a=2)sumNum=load(); / 將文件中原有的職工信息個數(shù)傳給 sumNum printf(" 請輸入增加職工的個數(shù) n");scanf("%d",&number);z

11、engjia(number);else printf(" 沒有這個選項(xiàng) n");flag=1;while(flag);void caidan()int a,flag=0,number=0;doprintf(" 增加職工信息請按 1,修改職工信息請按 2,查詢職 工信息請按 3, 退出請按 4n");scanf("%d",&a);if(a=1) printf(" 請輸入增加職工的個數(shù) n"); scanf("%d",&number);zengjia(number);continue

12、;else if(a=2)xiugai();else if(a=3)chaxun();else if(a=4)save(sumNum);break;else printf(" 沒有這個選項(xiàng) n");flag=1;while(flag);void shuru()int i,n;printf(" 輸入多少個職工信息 n");scanf("%d",&n);for(i=0;i<n;i+)printf("請輸入第c個職工編號n",i+1);scanf("%d",&zhigongi.b

13、ianhao);printf(”請輸入第c個職工姓名n",i+1);scanf("%s",zhigongi.xingming);printf(”請輸入第c個職工部門n",i+1);scanf("%s",zhigongi.bumen);printf("請輸入第個職工應(yīng)付工資n",i+1);scanf("%f",&zhigongi.yfgz);printf("請輸入第c個職工保險(xiǎn)n",i+1);scanf("%f",&zhigongi.baox

14、ian);printf("請輸入第c個職工稅金n",i+1);scanf("%f",&zhigongi.shuijin);zhigongi.sfgz =zhigongi.yfgzzhigongi.baoxianzhigongi.shuijin;sumNum=n;save(sumNum);void shuchu()int i;編號printf("金 實(shí)付工資 n");姓名 部門 應(yīng)付工資 保險(xiǎn) 稅for(i=0;i<sumNum;i+)printf(" %4d %8s %4s%.2f %.2f %.2f % .2

15、fn",zhigongi.bianhao,zhigongi.xingming,zhigongi.bu men,zhigongi.yfgz,zhigongi.baoxian,zhigongi.shuijin,z higongi.sfgz);void save(int n)int i;FILE *fp;if(fp=fopen("C:chutianci.txt","wt+")=NULL)printf("you are wrong!n");for(i=0;i<n;i+)fscanf(fp,"%d",&

16、;zhigongi.bianhao);/將對應(yīng)的職工的編號按照 d的格式輸入到fp所指向的文件中fscanf(fp,"%s",zhigongi.xingming);fscanf(fp,"%s",zhigongi.bumen);fscanf(fp,"%f",&zhigongi.baoxian); fscanf(fp,"%f",&zhigongi.shuijin);fscanf(fp,"%f",&zhigongi.sfgz);fscanf(fp,"%f",

17、&zhigongi.yfgz);for(i=0;i<sumNum;i+)fprintf(fp," %4d %8s %4s %.2f %.2f %.2f%.2fn",zhigongi.bianhao,zhigongi.xingming,zhigongi .bumen,zhigongi.yfgz,zhigongi.baoxian,zhigongi.shuij in,zhigongi.sfgz);fclose(fp); / 文件關(guān)閉,防止數(shù)據(jù)的流失load()int i=0;FILE *fp;fp=fopen("C:chutianci.txt",

18、"rt+");dofscanf(fp,"%d",&zhigongi.bianhao);fscanf(fp,"%s",zhigongi.xingming);fscanf(fp,"%s",zhigongi.bumen);fscanf(fp,"%f",&zhigongi.yfgz);fscanf(fp,"%f",&zhigongi.baoxian);fscanf(fp,"%f",&zhigongi.sfgz);fscanf(fp,

19、"%f",&zhigongi.shuijin);i+;while(feof(fp)=0);/feof 函數(shù),檢測文件的數(shù)據(jù)流是否結(jié)束return (i-1);void zengjia(int n)int i;struct zijin temp;for(i=0;i<n;i+)printf(”請輸入增加的第c個職工的編號n",i+1);scanf("%d",&temp.bianhao);printf("請輸入增加的第c個職工的姓名n",i+1);scanf("%s",temp.xingm

20、ing);printf(" 請輸入增加的第%c個職工的部門n",i+1);scanf("%s",temp.bumen);printf(" 請輸入增加的第%c個職工的應(yīng)付工資n",i+1);scanf("%f",&temp.yfgz); printf(" 請輸入增加的第%c個職工的保險(xiǎn)n",i+1);scanf("%f",&temp.baoxian);printf(”請輸入增加的第c個職工的稅金n",i+1);scanf("%f",

21、&temp.shuijin);temp.sfgz = temp.yfgz - temp.baoxian - temp.shuijin;save(sumNum);zhigongsumNum+=temp;shuchu();caidan();void xiugai()int a,i,b,j=0;printf(" 請輸入您要修改的職工的編號 n");scanf("%d",&a);for(i=0;i<sumNum;i+)if(zhigongi.bianhao=a)break;elsej+;if(j=sumNum)printf(" 沒

22、有該編號的職工 n");shuchu();xiugai();printf(" 修改本職工的哪一項(xiàng)? n");printf(" 編號請按 1,姓名請按 2,部門請按 3,應(yīng)付工資請按 4, 保險(xiǎn)請按 5,稅金請按 6,取消請按 7n");scanf("%d",&b);if(b=1)printf(" 本 職 工 原 編 號 為 %d 請 輸 入 本 職 工 的 新 編 號 scanf("%d",&zhigongi.bianhao);save(sumNum);shuchu();caid

23、an();else if(b=2)printf(" 本 職 工 原 姓 名 為 %s 請 輸 入 本 職 工 的 新 姓 名n",zhigongi.xingming);scanf("%s",zhigongi.xingming);save(sumNum);shuchu();caidan();else if(b=3)printf(" 本 職 工 原 部 門 為 %s 請 輸 入 本 職 工 的 新 部 門n",zhigongi.bumen);scanf("%s",zhigongi.bumen);save(sumNum)

24、;shuchu();caidan();else if(b=4)printf(" 本職工原售價為 %f 請輸入本職工的新應(yīng)付工資n",zhigongi.yfgz);scanf("%f",&zhigongi.yfgz);zhigongi.sfgz = zhigongi.yfgz - zhigongi.baoxian- zhigongi.shuijin; save(sumNum);shuchu();caidan();else if(b=5)printf(" 本 職 工 原 保 險(xiǎn) 為 %d 請 輸 入 本 職 工 的 新 保 險(xiǎn)n"

25、,zhigongi.baoxian);scanf("%d",&zhigongi.baoxian);zhigongi.sfgz = zhigongi.yfgz - zhigongi.baoxian- zhigongi.shuijin;save(sumNum);shuchu();caidan();else if(b=6)printf(" 本 職 工 原 稅 金 為 %d 請 輸 入 本 職 工 的 新 稅 金n",zhigongi.shuijin);scanf("%d",&zhigongi.shuijin);zhigong

26、i.sfgz = zhigongi.yfgz - zhigongi.baoxian- zhigongi.shuijin;save(sumNum);shuchu();caidan();else if(b=7)shuchu();caidan();elseprintf(" 沒有這個選項(xiàng) n");shuchu();xiugai();void chaxun()int i,a;struct zijin temp;printf(" 請輸入查詢的部門 n");scanf("%s",temp.bumen);printf("金 實(shí)付工資 n&q

27、uot;);編號 姓名 部門 應(yīng)付工資 保險(xiǎn) 稅for(i=0;i<sumNum;i+)int j=0;printf(" %4d %8s %4s %.2f %.2f %.2f %.2fn",zhigongi.bianhao,zhigongi.xingming,zhigongi.bumen,zhigongi.yfgz,zhigongi.baoxian,zhigongi.shuijin,zhigongi.sfgz);elsej+;if(j=sumNum) printf(" 沒有這個名稱的部門 n");chaxun();caidan();save(sum

28、Num);四、結(jié)果分析第1題:程序運(yùn)行結(jié)果如圖1:|F T :LJsersAd m inist ratorDe sktopi新窪文件同De b j gC ppi »exe'l>ess Anil ke* to continue圖1程序運(yùn)行結(jié)果1第2題:程序運(yùn)行結(jié)果如圖 2請輸A訓(xùn)個數(shù)組的元隸值諸輸入要刑除的元重值3刪除后的數(shù)俎為.124 只 石 彳 2FresB Anv kev to continue圖2程序運(yùn)行結(jié)果2第3題:程序運(yùn)行結(jié)果如圖3:G:U 號 0Ad m i nistratorVDe skto pr5i 養(yǎng)殆肌 Debug'C pp 3.exe'請輸入第1個職工編號 nm請輸人第1宀職工姓£r: hii請輸入第個職工部門jiincrii都門應(yīng)忖工資"S險(xiǎn) 稅全實(shí)刊工資Jinj/li33333.BU sau.uU Sidid.eu ?233?.00修改聊工傳息清按£査詢膽工信息請扌顛.退岀請按4請侖A第1 職工應(yīng)fl工資 寸 請荷入第1個職工住臉 snirf 請輸入第1 職工稅金 hdn褊號姓生1chu培加職工f言息請按1, 3 諸輸入査詢的部門 jingli

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論