版權(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的值由主函
2、數(shù)通過鍵盤輸入。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)試第
3、19周程序驗收及答辯指導(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 或visual c+ 6.0等。二、算法設(shè)計1、編程,先從鍵盤輸入一組學(xué)生成績到數(shù)組中,然后輸入某一個分數(shù)段,查找輸
5、出該分數(shù)段內(nèi)的所有成績。開始定義一個數(shù)組an,變量i輸入n個數(shù)據(jù)給數(shù)組ai=0 in-1? 否 是輸入1個數(shù)據(jù)給數(shù)組a輸出“請按由小到大的順序輸入分數(shù)段”定義變量 m n輸入成績給m11輸入成績給nk=0kn-1?nanm?定義變量k 否 是 否k+ 是 輸出ak 結(jié)束注: 此函數(shù)功能是,輸入一組成績,然后在程序中輸入所要查詢的成績分數(shù)段,輸出該分數(shù)段的所有成績。2、編寫函數(shù)fun(int xx ,int n , int y),其中n代表數(shù)組元素的個數(shù),y中內(nèi)容是要刪除的元素值。函數(shù)的功能是數(shù)組xx中所有值為y的元素。數(shù)組中的值和y的值由主函數(shù)通過鍵盤輸入。開始定義一個數(shù)組xxn,變量i,j,
6、y輸入n個數(shù)據(jù)給數(shù)組xxin?i=0 否 是輸出“請輸入要刪除的元素值”輸入一個數(shù)據(jù)給數(shù)組x輸入一個 要刪除的值i+調(diào)用函數(shù)fun(xx,n,y),j= fun(xx,n,y)輸出“刪除后的數(shù)組為:”11in-j?i=0i+輸入一個數(shù)據(jù)給數(shù)組x 是輸出“n”,換行結(jié)束注: fun(xx ,int n, int y)函數(shù) 功能是對數(shù)組中含有y的元素刪除。其中含有xx ,int n, int y 3個變量,xx 是指定的數(shù)組,n表示數(shù)組中的元素個數(shù),y表示要刪除的數(shù)組中的元素值。3、 工資統(tǒng)計程序設(shè)計 設(shè)計結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)中包含職工數(shù)據(jù)為:編號、姓名、部門、應(yīng)付工資、保險、稅金、實付工資。其中實付
7、工資由公式計算得到:實付工資=應(yīng)付工資-保險-稅金設(shè)計各個函數(shù),分別實現(xiàn)以下功能: (1) 輸入職工數(shù)據(jù),其中“實付工資”通過計算得到。(2) 顯示全體職工數(shù)據(jù)。開始定義變量a,flag=0,number=0輸入一個數(shù)據(jù)給aa=1?調(diào)用函數(shù) shuru(); 調(diào)用函數(shù) shuchu();調(diào)用函數(shù) caidan();a=2?12flag=0?輸出“錄入職工信息請按1,新增職工信息請按2”結(jié) 束(3) 輸入某部門值,顯示該部門職工的數(shù)據(jù)、工資總額、平均工資。設(shè)計菜單,通過選擇菜單調(diào)用以上各函數(shù);系統(tǒng)啟動時數(shù)據(jù)可由文件導(dǎo)入,錄入新的數(shù)據(jù)或修改數(shù)據(jù)后,可將數(shù)據(jù)重新寫入文件。 是 否 否是 否 是調(diào)用函
8、數(shù) shuru(); 調(diào)用函數(shù) shuchu();調(diào)用函數(shù) caidan();2調(diào)用函數(shù) load ( ); 調(diào)用函數(shù) zengjia ( );1輸出“沒有這個選項”flag=1輸出請輸入增加職工的個數(shù)輸入一個數(shù)值給numberzengjia(number)注: 函數(shù)說明:void shuru(); /用來輸入增加職工的信息void shuchu(); /用來輸出文件中所有職工的信息void save(int n); /將職工信息保存到文件中,實現(xiàn)導(dǎo)入void zengjia(int n); /增加職工的信息void xiugai(); /修改職工的信息void chaxun(); /按照部門
9、查詢職工信息void caidan(); /基本的菜單,按提示操作load(); /將職工信息從文件中導(dǎo)出三、編程實現(xiàn)程序的具體c語言代碼如下:第1題:/* 編程人:楚天辭 完成時間 2012年7月5日 聯(lián)系方式/#includemain()float m,n, a6; int i, k;printf( 請輸入一個數(shù)組:n);for (i=0 ;i6; i+)scanf(%f,&ai);printf( 請按由小到大的順序輸入分數(shù)段n);scanf(%f,&n);scanf(%f,&m);printf( 以下成績屬于該分數(shù)段n);for (k=0 ;k6; k+)if(
10、n=ak&ak=m)printf(% 9.2fn,ak);printf(n);第2題:#include#define n 10int fun(int xx,int n,int y)int i,j=0,k;for(i=0;in-j;i+) / j表示要刪除的數(shù)值個數(shù),而n-j表示數(shù)組有效的數(shù)值個數(shù)if(xxi=y) for(k=i;kn-1;k+) /從刪除位置后面的第一個元素值開始向前移動 xxk=xxk+1; j+; return j; main()int i,j,y,xxn;printf(請輸入%d個數(shù)組的元素值n,n);for(i=0;in;i+)scanf(%d,&xxi);print
11、f(請輸入要刪除的元素值n);scanf(%d,&y);j=fun(xx,n,y);printf(刪除后的數(shù)組為:n);for(i=0;in-j;i+)printf(%5d,xxi);printf(n);第3題:#include#includestruct zijinint bianhao;char xingming20;char bumen100;float yfgz;float baoxian;float shuijin;float sfgz; zhigong100; /定義結(jié)構(gòu)體數(shù)組zhigongvoid shuru(); /用來輸入增加職工的信息void shuchu(); /用來輸出
12、文件中所有職工的信息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(%d,&a);if(a=1)shuru(); / 輸入數(shù)據(jù)shuchu();caidan();
13、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(增加職工信息請按1,修改職工信息請按2,查詢職工信息請按3,退出請按4n);scanf(%d,&a);if(a=1)printf(請輸入增加職工的個數(shù)n);scanf(%d,&number);zengjia(number);co
14、ntinue;else if(a=2)xiugai();else if(a=3)chaxun();else if(a=4)save(sumnum);break;elseprintf(沒有這個選項n);flag=1;while(flag);void shuru()int i,n;printf(輸入多少個職工信息n);scanf(%d,&n);for(i=0;in;i+)printf(請輸入第%d個職工編號n,i+1);scanf(%d,&zhigongi.bianhao);printf(請輸入第%d個職工姓名n,i+1);scanf(%s,zhigongi.xingming);printf(請輸
15、入第%d個職工部門n,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.sfgz = zhigongi.yfgz - zhigongi.baoxian - zhigongi.shuijin;sumnum=n;save(sumnum);void shuchu
16、()int i;printf( 編號 姓名 部門 應(yīng)付工資 保險 稅金 實付工資 n);for(i=0;isumnum;i+)printf( %4d %8s %4s %.2f %.2f %.2f %.2fn,zhigongi.bianhao,zhigongi.xingming,zhigongi.bumen,zhigongi.yfgz,zhigongi.baoxian,zhigongi.shuijin,zhigongi.sfgz);void save(int n)int i;file *fp;if(fp=fopen(c:chutianci.txt,wt+)=null)printf(you are
17、 wrong!n);for(i=0;in;i+)fscanf(fp,%d,&zhigongi.bianhao); /將對應(yīng)的職工的編號按照%d的格式輸入到fp所指向的文件中fscanf(fp,%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);for(i=0;isumnum;i+)fprintf(fp,
18、%4d %8s %4s %.2f %.2f %.2f %.2fn,zhigongi.bianhao,zhigongi.xingming,zhigongi.bumen,zhigongi.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+);dofscanf(fp,%d,&zhigongi.bianhao);fscanf(fp,%s,zhigongi.xingming);fscanf(fp,
19、%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ù),檢測文件的數(shù)據(jù)流是否結(jié)束return (i-1); void zengjia(int n)int i;struct zijin temp;for(i=0;in;i+)printf(請輸入增加的第%d個職工的編號n,i+1);scanf(%d,&temp.bi
20、anhao);printf(請輸入增加的第%d個職工的姓名n,i+1);scanf(%s,temp.xingming);printf(請輸入增加的第%d個職工的部門n,i+1);scanf(%s,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.bao
21、xian - temp.shuijin;zhigongsumnum+=temp;save(sumnum);shuchu();caidan();void xiugai()int a,i,b,j=0;printf(請輸入您要修改的職工的編號n);scanf(%d,&a);for(i=0;isumnum;i+)if(zhigongi.bianhao=a)break;elsej+;if(j=sumnum)printf(沒有該編號的職工n);shuchu();xiugai();printf(修改本職工的哪一項?n);printf(編號請按1,姓名請按2,部門請按3,應(yīng)付工資請按4,保險請按5,稅金請按6
22、,取消請按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(本職工原姓名為%s請輸入本職工的新姓名n,zhigongi.xingming);scanf(%s,zhigongi.xingming);save(sumnum);shuchu();caidan();else if(b=3)printf(本職工原部門為%s請輸入本職工的新部門n,zhigongi
23、.bumen);scanf(%s,zhigongi.bumen);save(sumnum);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(本職工原保險為%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.shuijin);scanf(%d,&zhigongi.s
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版?zhèn)€人合伙跨境電商投資合作合同4篇
- 2025版學(xué)校辦公物資零星采購合同范本3篇
- 2025版體育館消防安全檢測與維護保養(yǎng)合同范本3篇
- 2025年度木工設(shè)計版權(quán)授權(quán)合同4篇
- 2025年影視宣傳片合同范本全面服務(wù)保障3篇
- 組織的資源戰(zhàn)略能力和競爭地位分析課件
- 廣東省廣州市白云區(qū)2024-2025學(xué)年八年級上學(xué)期期末考試英語試題(無答案)
- 二零二五版電力工程項目設(shè)計承包合同3篇
- 2025版萬科商業(yè)物業(yè)租賃合同樣本(含合同備案)3篇
- 橋梁隧道工程-試驗檢測師《橋梁隧道工程》??荚嚲?
- 2024企業(yè)答謝晚宴會務(wù)合同3篇
- 《客艙安全管理與應(yīng)急處置》課件-第14講 應(yīng)急撤離
- 中華人民共和國文物保護法
- 節(jié)前物業(yè)安全培訓(xùn)
- 高甘油三酯血癥相關(guān)的器官損傷
- 手術(shù)室護士考試題及答案
- 牙膏項目創(chuàng)業(yè)計劃書
- 單位食堂供餐方案
- 風(fēng)電工程需要編寫的專項施工方案及危大工程目錄
- 商業(yè)計劃書(BP)財務(wù)計劃風(fēng)險控制資本退出與附錄的撰寫秘籍
- 七年級下冊《Reading 1 A brave young man》優(yōu)質(zhì)課教案牛津譯林版-七年級英語教案
評論
0/150
提交評論