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

下載本文檔

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

文檔簡介

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

2、入。3. 工資統(tǒng)計(jì)程序設(shè)計(jì)設(shè)計(jì)結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)中包含職工數(shù)據(jù)為:編號(hào)、姓名、部門、應(yīng)付工資、保險(xiǎn)、稅金、 實(shí)付工資。其中實(shí)付工資由公式計(jì)算得到:實(shí)付工資=應(yīng)付工資-保險(xiǎn)-稅金設(shè)計(jì)各個(gè)函數(shù),分別實(shí)現(xiàn)以下功能:(1) 輸入職工數(shù)據(jù),其中“實(shí)付工資”通過計(jì)算得到。(2) 顯示全體職工數(shù)據(jù)。(3) 輸入某部門值,顯示該部門職工的數(shù)據(jù)、工資總額、平均工資。設(shè)計(jì)菜單,通過選擇菜單 調(diào)用以上各函數(shù);系統(tǒng)啟動(dòng)時(shí)數(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

3、周.程序驗(yàn)收及答辯指導(dǎo)教師:2013年 月日專業(yè)負(fù)責(zé)人:2013年 月日學(xué)院教學(xué)副院長:2013年 月日一、 題目要求3.二、 算法設(shè)計(jì)4.三、編程實(shí)現(xiàn)10四、結(jié)果分析25五、參考文獻(xiàn)28'、題目要求題目名稱:查找分?jǐn)?shù)與刪除元素、工資統(tǒng)計(jì)程序的設(shè)計(jì)內(nèi)容:1、編程,先從鍵盤輸入一組學(xué)生成績到數(shù)組中,然后輸入某一個(gè)分?jǐn)?shù)段,查找輸出該分?jǐn)?shù)段內(nèi)的所有成績。2、 編寫函數(shù)fun (int xx ,int n , int y),其中n代表數(shù)組元素的個(gè)數(shù),y中內(nèi)容是要?jiǎng)h除的元素值。函數(shù)的功能是數(shù)組xx中所有值為y的元素。數(shù)組中的值和y的值由主函數(shù)通過鍵盤輸入3、工資統(tǒng)計(jì)程序設(shè)計(jì)設(shè)計(jì)結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)中

4、包含職工數(shù)據(jù)為:編號(hào)、姓名、部門、應(yīng)付工資、保險(xiǎn)、稅金、實(shí)付工資。其中實(shí)付工資由公式計(jì)算得到:實(shí)付工資二應(yīng)付工資-保險(xiǎn)-稅金。設(shè)計(jì)各個(gè)函數(shù),分別實(shí)現(xiàn)以下功能:(1)輸入職工數(shù)據(jù),其中“實(shí)付工資”通過計(jì)算得到。(2)顯示全體職工數(shù)據(jù)。(3)輸入某部門值,顯示該部門職工的數(shù)據(jù)、工資總額、平均工資。設(shè)計(jì)菜單,通過選擇菜單調(diào)用以上各函數(shù);系統(tǒng)啟動(dòng)時(shí)數(shù)據(jù)可由 文件導(dǎo)入,錄入新的數(shù)據(jù)或修改數(shù)據(jù)后,可將數(shù)據(jù)重新寫入文件。 要求:利用C語言編寫上述程序,開發(fā)環(huán)境可采用Turbo C 2.0或VisualC+ 6.0 等?!?、算法設(shè)計(jì)1、編程,先從鍵盤輸入一組學(xué)生成績到數(shù)組中,然后輸入某一個(gè)分?jǐn)?shù)段,查找輸出該分

5、數(shù)段內(nèi)的所有成績。2、編寫函數(shù)fun (int xx ,int n , int y ),其中n代表數(shù)組元素的個(gè)數(shù),y中內(nèi)容是要?jiǎng)h除的元 素值。函數(shù)的功能是數(shù)組 xx中所有值為y的元素。數(shù)組中的值和 y的值由主函數(shù)通過鍵盤 輸入。值1i=0是輸出,換行開始否否是是2輸出請(qǐng)輸入增加職工的個(gè)數(shù)load (); ¥engjia ()shuru(); shuchu() caida n();注:函數(shù)說明只結(jié)束輸入一個(gè)數(shù)值給number輸出“錄入職工調(diào)用函數(shù)1,新增職工信息調(diào)用函數(shù)'調(diào)用函數(shù)實(shí)付工資i+調(diào) 實(shí)現(xiàn)導(dǎo)定義變量 a,flag=0,number=0否void shur voidsh

6、ucX 輸 void save平均工資。設(shè)計(jì)菜單,通過選錄入新的數(shù)據(jù)或修改數(shù)據(jù)后,可將結(jié)構(gòu)中包含職工數(shù)據(jù)為 其中實(shí)付工資由公式計(jì)算得到nn, int y 3 個(gè)變量,xx是指定的 元素值。:請(qǐng)輸入要?jiǎng)h(1)(2)(3)擇菜單調(diào)用以上各函數(shù) 數(shù)據(jù)重新寫入文件。是();*II用來輸hu();用來輸了出“沒有這個(gè)選項(xiàng)”丿(int n);II 將注:fun (xx ,intndt y )函數(shù)功能是對(duì)數(shù)組中含有 y的7元素 數(shù)組,n表示數(shù)組中的元素個(gè)數(shù), 3、工資統(tǒng)計(jì)程序設(shè)計(jì)設(shè)計(jì)結(jié)構(gòu)體數(shù)組 金、實(shí)付工資。 設(shè)計(jì)各個(gè)函數(shù),分別實(shí)現(xiàn)以下功能輸入職工數(shù)據(jù),其中“實(shí)付工資”通過計(jì)算得到。 顯示全體職工數(shù)據(jù)。輸入

7、某部門值,顯示該部門職工的數(shù)據(jù)、工資總額 系統(tǒng)啟動(dòng)時(shí)數(shù)據(jù)可由文件導(dǎo)入,編號(hào)、姓名、部門、應(yīng)付工資、保險(xiǎn)、稅=應(yīng)付工資-保險(xiǎn)-稅金u素刪除。輸其一含有據(jù)xx ,i .y表示要?jiǎng)h除的數(shù)組中的開始'定義一個(gè)數(shù)組xxN變量i,j,y輸入N個(gè)數(shù)據(jù)給數(shù)組xx是輸入一個(gè)數(shù)據(jù)i<N/ / 輸出調(diào)用函數(shù)數(shù)組n(xx,輸出入N,y ), j= fun (xx,N,y )除/要?jiǎng)h輸出“刪除后的數(shù)組為flag=0?II用來輸f入增加職工的信息件中信息保存到文件中void zen cjia(i nt n);增加職工的信息void xiug, 1職工的信息flag=1、void chaXlin();/按照部

8、門查詢職工信息void caidan(); load();/基本的菜單,按提示操作/將職工信息從文件中導(dǎo)出三、編程實(shí)現(xiàn)程序的具體 C 語言代碼如下:第 1 題:/* 編程人:楚天辭 完成時(shí)間 2012年 7月 5日聯(lián)系方式: */#include<stdio.h>main()float m,n, a6;int i, k;printf(" 請(qǐng)輸入一個(gè)數(shù)組: n");for (i=0 ;i<6; i+)scanf("%f",&ai);printf(" 請(qǐng)按由小到大的順序輸入分?jǐn)?shù)段 n"); scanf("

9、;%f",&n);scanf("%f",&m);printf(" 以下成績屬于該分?jǐn)?shù)段 n");for (k=0 ;k<6; k+)if(n<=ak&&ak<=m)printf("% 9.2fn",ak);printf("n");第 2 題:#include<stdio.h>#define N 10int fun(int xx,int n,int y)int i,j=0,k;for(i=0;i<n-j;i+) / j 表示要?jiǎng)h除的數(shù)值個(gè)數(shù)

10、, 而 n-j 表示數(shù)組有效的數(shù)值個(gè)數(shù) if(xxi=y) for(k=i;k<n-1;k+) / 從刪除位置后面的第一個(gè)元素值開始向前移動(dòng) xxk=xxk+1;j+; return j; main()int i,j,y,xxN;printf(" 請(qǐng)輸入 %d 個(gè)數(shù)組的元素值 n",N); for(i=0;i<N;i+)scanf("%d",&xxi);printf(" 請(qǐng)輸入要?jiǎng)h除的元素值 n");scanf("%d",&y); j=fun(xx,N,y);printf("

11、刪除后的數(shù)組為: n");for(i=0;i<N-j;i+)printf("%5d",xxi);printf("n");第 3 題:#include<stdio.h>#include<string.h>struct zijinint bianhao;char xingming20;char bumen100;float yfgz;float baoxian;float shuijin;float sfgz; zhigong100; / 定義結(jié)構(gòu)體數(shù)組 zhigongvoid shuru();/ 用來輸入增加職工的信

12、息void shuchu(); / 用來輸出文件中所有職工的信息void save(int n); / 將職工信息保存到文件中,實(shí)現(xiàn)導(dǎo)入void zengjia(int n); /增加職工的信息void xiugai(); / 修改職工的信息void chaxun(); /按照部門查詢職工信息void caidan(); /基本的菜單,按提示操作load(); /將職工信息從文件中導(dǎo)出int sumNum; /商品總個(gè)數(shù) main()int a,flag=0,number=0;doprintf(" 錄入職工信息請(qǐng)按 1,新增職工信息請(qǐng)按 2n"); scanf("

13、%d",&a);if(a=1)shuru(); / 輸入數(shù)據(jù) shuchu();caidan();else if(a=2)sumNum=load();/將文件中原有的職工信息個(gè)數(shù)傳給 sumNumprintf(" 請(qǐng)輸入增加職工的個(gè)數(shù) n"); scanf("%d",&number);zengjia(number);elseprintf(" 沒有這個(gè)選項(xiàng) n"); flag=1; while(flag);void caidan()int a,flag=0,number=0;doprintf(" 增加

14、職工信息請(qǐng)按 1,修改職工信息請(qǐng)按 2,查詢職工 信息請(qǐng)按 3,退出請(qǐng)按 4n");scanf("%d",&a);if(a=1)printf(" 請(qǐng)輸入增加職工的個(gè)數(shù) n"); scanf("%d",&number); zengjia(number);continue;else if(a=2) xiugai();else if(a=3) chaxun();else if(a=4) save(sumNum); break; elseprintf(" 沒有這個(gè)選項(xiàng) n"); flag=1; w

15、hile(flag);void shuru()int i,n;printf(" 輸入多少個(gè)職工信息 n"); scanf("%d",&n);for(i=0;i<n;i+)printf("請(qǐng)輸入第%d個(gè)職工編號(hào)n",i+1); scanf("%d",&zhigongi.bianhao);printf("請(qǐng)輸入第%d個(gè)職工姓名n",i+1); scanf("%s",zhigongi.xingming);printf("請(qǐng)輸入第%d個(gè)職工部門n&qu

16、ot;,i+1); scanf("%s",zhigongi.bumen);printf("請(qǐng)輸入第%d個(gè)職工應(yīng)付工資n",i+1); scanf("%f",&zhigongi.yfgz);printf("請(qǐng)輸入第%d個(gè)職工保險(xiǎn)n",i+1); scanf("%f",&zhigongi.baoxian);printf("請(qǐng)輸入第%d個(gè)職工稅金n",i+1); scanf("%f",&zhigongi.shuijin);zhigongi

17、.sfgz =zhigongi.yfgz - zhigongi.baoxian - zhigongi.shuijin;sumNum=n;save(sumNum);void shuchu()int i;printf(" 編號(hào) 姓名 部門 應(yīng)付工資 保險(xiǎn) 稅金 實(shí)付工資 n");for(i=0;i<sumNum;i+)printf(" %4d %8s %4s %.2f %.2f %.2f %. 2fn",zhigongi.bianhao,zhigongi.xingming,zhigongi.bumen,zhigong i.yfgz,zhigongi.b

18、aoxian,zhigongi.shuijin,zhigongi.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",&zhigongi.bianhao);/將對(duì)應(yīng)的職工的編號(hào)按照 %d 的格式輸入到 fp 所指向的文件中fscanf(fp,"%s",zhigongi

19、.xingming); fscanf(fp,"%s",zhigongi.bumen); fscanf(fp,"%f",&zhigongi.yfgz);fscanf(fp,"%f",&zhigongi.baoxian); fscanf(fp,"%f",&zhigongi.shuijin); fscanf(fp,"%f",&zhigongi.sfgz); for(i=0;i<sumNum;i+)fprintf(fp," %4d %8s %4s %.2f

20、 %.2f %.2f %.2fn",zhigongi.bianhao,zhigongi.xingming,zhigongi.bumen,zhig ongi.yfgz,zhigongi.baoxian,zhigongi.shuijin,zhigongi.sfgz);fclose(fp); / 文件關(guān)閉,防止數(shù)據(jù)的流失load()int i=0;FILE *fp;fp=fopen("C:chutianci.txt","rt+");do fscanf(fp,"%d",&zhigongi.bianhao); fscanf(f

21、p,"%s",zhigongi.xingming); fscanf(fp,"%s",zhigongi.bumen); fscanf(fp,"%f",&zhigongi.yfgz); fscanf(fp,"%f",&zhigongi.baoxian); fscanf(fp,"%f",&zhigongi.shuijin); fscanf(fp,"%f",&zhigongi.sfgz);i+;while(feof(fp)=0); /feof 函數(shù),檢

22、測文件的數(shù)據(jù)流是否結(jié)束return (i-1);void zengjia(int n)int i;struct zijin temp;for(i=0;i<n;i+)printf("請(qǐng)輸入增加的第%d個(gè)職工的編號(hào)n",i+1);scanf("%d",&temp.bianhao);printf("請(qǐng)輸入增加的第%d個(gè)職工的姓名n",i+1);scanf("%s",temp.xingming);printf("請(qǐng)輸入增加的第%d個(gè)職工的部門n",i+1);scanf("%s&q

23、uot;,temp.bumen);printf("請(qǐng)輸入增加的第%d個(gè)職工的應(yīng)付工資n",i+1); scanf("%f",&temp.yfgz);printf("請(qǐng)輸入增加的第%d個(gè)職工的保險(xiǎn)n",i+1);scanf("%f",&temp.baoxian);printf("請(qǐng)輸入增加的第%d個(gè)職工的稅金n",i+1);scanf("%f",&temp.shuijin);temp.sfgz = temp.yfgz - temp.baoxian - t

24、emp.shuijin; zhigongsumNum+=temp;save(sumNum);shuchu();caidan();void xiugai()int a,i,b,j=0;printf(" 請(qǐng)輸入您要修改的職工的編號(hào) n");scanf("%d",&a);for(i=0;i<sumNum;i+) if(zhigongi.bianhao=a) break; else j+;if(j=sumNum)printf(" 沒有該編號(hào)的職工 n");shuchu();xiugai();printf(" 修改本職工

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

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

27、b=4)printf(”本職工原售價(jià)為%f請(qǐng)輸入本職工的新應(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 請(qǐng) 輸 入 本 職 工 的 新 保 險(xiǎn) n",zhigongi.baoxian);scanf("%d",&zhigongi.baoxian);zhigongi.sfgz = zhigongi.yfgz - zhigongi.baoxian - zhigongi.shuijin;save(sumNum);shuchu();caidan();else if(b=6)printf(" 本 職 工 原 稅 金 為 %d 請(qǐng) 輸 入 本 職 工 的 新 稅 金 n",zhigongi.shu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論