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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、;%f",&n);scanf("%f",&m);printf(" 以下成績屬于該分數(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 表示要刪除的數(shù)值個數(shù)

10、, 而 n-j 表示數(shù)組有效的數(shù)值個數(shù) if(xxi=y) for(k=i;k<n-1;k+) / 從刪除位置后面的第一個元素值開始向前移動 xxk=xxk+1;j+; return j; main()int i,j,y,xxN;printf(" 請輸入 %d 個數(shù)組的元素值 n",N); for(i=0;i<N;i+)scanf("%d",&xxi);printf(" 請輸入要刪除的元素值 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); / 將職工信息保存到文件中,實現(xiàn)導(dǎo)入void zengjia(int n); /增加職工的信息void xiugai(); / 修改職工的信息void chaxun(); /按照部門查詢職工信息void caidan(); /基本的菜單,按提示操作load(); /將職工信息從文件中導(dǎo)出int sumNum; /商品總個數(shù) main()int a,flag=0,number=0;doprintf(" 錄入職工信息請按 1,新增職工信息請按 2n"); scanf("

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

14、職工信息請按 1,修改職工信息請按 2,查詢職工 信息請按 3,退出請按 4n");scanf("%d",&a);if(a=1)printf(" 請輸入增加職工的個數(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(" 沒有這個選項 n"); flag=1; w

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

16、ot;,i+1); scanf("%s",zhigongi.bumen);printf("請輸入第%d個職工應(yīng)付工資n",i+1); scanf("%f",&zhigongi.yfgz);printf("請輸入第%d個職工保險n",i+1); scanf("%f",&zhigongi.baoxian);printf("請輸入第%d個職工稅金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(" 編號 姓名 部門 應(yīng)付工資 保險 稅金 實付工資 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);/將對應(yīng)的職工的編號按照 %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("請輸入增加的第%d個職工的編號n",i+1);scanf("%d",&temp.bianhao);printf("請輸入增加的第%d個職工的姓名n",i+1);scanf("%s",temp.xingming);printf("請輸入增加的第%d個職工的部門n",i+1);scanf("%s&q

23、uot;,temp.bumen);printf("請輸入增加的第%d個職工的應(yīng)付工資n",i+1); scanf("%f",&temp.yfgz);printf("請輸入增加的第%d個職工的保險n",i+1);scanf("%f",&temp.baoxian);printf("請輸入增加的第%d個職工的稅金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(" 請輸入您要修改的職工的編號 n");scanf("%d",&a);for(i=0;i<sumNum;i+) if(zhigongi.bianhao=a) break; else j+;if(j=sumNum)printf(" 沒有該編號的職工 n");shuchu();xiugai();printf(" 修改本職工

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

26、; 本 職 工 原 姓 名 為 %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);shuchu();caidan();else if(

27、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(" 本 職 工 原 保 險 為 %d 請 輸 入 本 職 工 的 新 保 險 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 請 輸 入 本 職 工 的 新 稅 金 n",zhigongi.shu

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論