版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中國地質(zhì)大學(xué)(武漢)課程設(shè)計報告題 目 c語言程序設(shè)計 姓 名 學(xué) 號 專 業(yè) 統(tǒng)計學(xué) 所在院系 經(jīng)濟管理學(xué)院 指導(dǎo)老師 江俊君 日 期 2016/6/11 目 錄目 錄31課程論文題目42程序設(shè)計思路53功能模塊圖64數(shù)據(jù)結(jié)構(gòu)設(shè)計75算法設(shè)計86程序代碼97程序運行結(jié)果108編程中遇到的困難及解決方法119總結(jié)心得及良好建議1210致謝131課程論文題目職工信息管理系統(tǒng)內(nèi)容:要求職工信息包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號不重復(fù))。 功能:實現(xiàn)簡單的職工工資信息管理,職工工資的基本信息包括編號、姓名、基本工資、獎金、工資總額等 1. 系統(tǒng)以菜單方式工作。2. 職工信
2、息錄入功能(職工信息用文件保存)。3. 職工信息瀏覽功能 。4.職工信息查詢功能。查詢方式。(1)按學(xué)歷查詢。(2)按工號查詢。2程序設(shè)計思路(1)需求分析系統(tǒng)要以菜單方式工作,因而根據(jù)題目要求,提供鍵盤式選擇菜單實現(xiàn)功能選擇,職工信息采用文件保存,所以應(yīng)提供文件的輸入、輸出等操作;在程序中需要瀏覽職工的信息,應(yīng)提供顯示、查找、等操作;要實現(xiàn)職工信息的查詢,則要提供查找功能(包括按學(xué)歷查詢和按工號查詢兩種查詢方式);要實現(xiàn)職工信息的刪除、修改,則要提供文件記錄的刪除 、修改功能。(2)總體設(shè)計根據(jù)上面的需求分析,可以將這個系統(tǒng)設(shè)計分為以下模塊:職工信息輸入模塊、職工信息瀏覽模塊、職工信息查詢模
3、塊、職工信息刪除與修改模塊(3)數(shù)據(jù)信息建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號、姓名、性別、年齡、學(xué)歷、工資、住址和電話。Struct employeechar num20;char name8;char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN3功能模塊圖錄入模塊菜單瀏覽模塊學(xué)歷查詢工號查詢查詢模塊4. 數(shù)據(jù)結(jié)構(gòu)設(shè)計建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號、姓名、性別、年齡、學(xué)歷、工資、住址和電話。Struct employeechar num20;/工號char name30;/姓名char
4、sex10;/性別char age10;/年齡char xueli30;/學(xué)歷char wanges10;/工資char tel15;/電話char addr50;住址emN5算法設(shè)計1.輸入模塊:輸入職工的工號、姓名以及其它的一些職工的相關(guān)信息,通過自己定義的void append()函數(shù)來實現(xiàn)。2.瀏覽模塊:瀏覽所有職工的相關(guān)信息,通過自己定義的void display()函數(shù)來實現(xiàn)。 3. 按職工號查詢模塊:可以按職工號來查詢職工的相關(guān)信息,通過自己定義的void search_num()函數(shù)來實現(xiàn)。 8.按職工的的學(xué)歷查詢模塊:可以按職工的學(xué)歷來查詢職工的相關(guān)信息,通過自己定義的voi
5、d search_xuelil函數(shù)來實現(xiàn)。4.退出模塊:退出職工信息管理系統(tǒng),通過頭文件windows.h中的exit(0)函數(shù)來實現(xiàn)。 1. 錄入模塊void append()int i,n;FILE*fp;fp=fopen(employee_list,wb);/倆一起定義fpprintf(請輸入職工個數(shù) n);scanf(%d,&n);for (i=0;in;i+) printf(請輸入職工號: );scanf(%d,&emi.num);printf(請輸入姓名: );scanf(%s,);getchar(); printf(請輸入性別(f-女 m-男): );scanf(
6、%s,&emi.sex);printf(請輸入年齡: );scanf(%s,&emi.age);printf(請輸入學(xué)歷: );scanf(%s,emi.xueli);printf(請輸入工資: );scanf(%s,&emi.wanges);printf(請輸入住址: );scanf(%s,emi.addr);printf(請輸入電話: );scanf(%s,emi.tel);printf(n); save(n);2.瀏覽模塊void display() int i;int m=load(); printf( 職工號t姓名tt性別tt年齡n);printf( 學(xué)歷tt工資tt住址tt電話n)
7、;for(i=0;im;i+)printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);2. 查詢模塊void search()int a;printf(n按職工號查詢請按1n按學(xué)歷查詢請按2n返回主菜單請按3n);scanf(%d,&a); switch(a) case 1:printf(按職工號查詢
8、n);search_num();break; case 2:printf(按學(xué)歷查詢n);search_xueli();break; case 3:main();break; default: printf(您輸入有誤,請重新選擇!n); break; (1)按工號查詢void search_num()int num,i,t; int m=load(); /使m=文件輸入的個數(shù)printf(請輸入要查找的職工號:n); scanf(%d,&num); for(i=0;im;i+) if(num=emi.num) printf(n已找到此人,其記錄為:n); printf( 職工號t姓名tt性別
9、tt年齡n);printf( 學(xué)歷tt工資tt住址tt電話n); printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);break; if(i=m) /因為i=0,i=m就超了printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n);
10、scanf(%d,&t); switch(t) case 1:search();break; case 2:search_num(); break; default:break; (2)按學(xué)歷查找void search_xueli() char xueli30;int i,t; int m=load(); printf(請輸入要查找的學(xué)歷:n); scanf(%s,xueli);for(i=0;im;i+) if(strcmp(emi.xueli,xueli)=0) printf(n已找到,其記錄為:n); printf( 職工號t姓名tt性別tt年齡n);printf( 學(xué)歷tt工資tt住址
11、tt電話n);printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);if(i=m) printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢學(xué)歷請按2n); scanf(%d,&t); switch(t) case 1:search();break;
12、case 2:search_xueli();break; default :break; 6程序代碼#include #include /包括exit(0),無需定義#include #include #define N 100/可以隨便改人數(shù)void append(); /錄入void display(); /瀏覽void search(); /查詢void search_num(); /工號void search_xueli();/學(xué)歷void save(int); /聲明一個形參 struct employee/定義結(jié)構(gòu)體數(shù)組 全局變量int num;/在search_num for的i
13、f中不行char name30;/省事char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN;void main() int n;n=1;while(n)/用一個循環(huán)使之能夠返回printf(*職工信息管理系統(tǒng)*n);printf(1.錄入職工信息n);printf(2.瀏覽職工信息n);printf(3.查詢職工信息n);printf(4.退出n);printf(請按功能序號:n);scanf(%d,&n);switch(n)case 1:append();break;case 2:display
14、();break;case 3:search();break;case 4:exit(0);n=0;break ;default:printf(輸入錯誤指令n);printf(n按任意鍵繼續(xù)n);getch();void append()int i,n;FILE*fp;fp=fopen(employee_list,wb);/倆一起定義fpprintf(請輸入職工個數(shù) n);scanf(%d,&n);for (i=0;in;i+) printf(請輸入職工號: );scanf(%d,&emi.num);printf(請輸入姓名: );scanf(%s,);getchar(); p
15、rintf(請輸入性別(f-女 m-男): );scanf(%s,&emi.sex);printf(請輸入年齡: );scanf(%s,&emi.age);printf(請輸入學(xué)歷: );scanf(%s,emi.xueli);printf(請輸入工資: );scanf(%s,&emi.wanges);printf(請輸入住址: );scanf(%s,emi.addr);printf(請輸入電話: );scanf(%s,emi.tel);printf(n); save(n);void save(int n)/save函數(shù)save了多少個FILE*fp;int i;if(fp=fopen(emp
16、loyee_list,wb)=NULL) /能否以寫的形式打開,wb2進(jìn)制 printf (cannot open filen);exit(0); for(i=0;in;i+)if(fwrite(&emi,sizeof(struct employee),1,fp)!=1)/printf(file write errorn);fclose(fp); int load()/數(shù)出錄入的個數(shù) FILE*fp; int i; if(fp=fopen(employee_list,rb)=NULL) printf (cannot open filen); exit(0); for(i=0;!feof(fp)
17、;i+)/feof檢查文件是否結(jié)束,結(jié)束時返回非零值 fread(&emi,sizeof(struct employee),1,fp);/以二進(jìn)制向文件讀寫數(shù)據(jù),地址,字節(jié),讀多少個數(shù)據(jù),文件指針fclose(fp);return(i); void display() int i;int m=load(); printf( 職工號t姓名tt性別tt年齡n);printf( 學(xué)歷tt工資tt住址tt電話n);for(i=0;im;i+)printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.age);
18、printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);void search()int a;printf(n按職工號查詢請按1n按學(xué)歷查詢請按2n返回主菜單請按3n);scanf(%d,&a); switch(a) case 1:printf(按職工號查詢n);search_num();break; case 2:printf(按學(xué)歷查詢n);search_xueli();break; case 3:main();break; default: printf
19、(您輸入有誤,請重新選擇!n); break; void search_num()int num,i,t; int m=load(); /使m=文件輸入的個數(shù)printf(請輸入要查找的職工號:n); scanf(%d,&num); for(i=0;im;i+) if(num=emi.num) printf(n已找到此人,其記錄為:n); printf( 職工號t姓名tt性別tt年齡n);printf( 學(xué)歷tt工資tt住址tt電話n); printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.ag
20、e);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);break; if(i=m) /因為i=0,i=m就超了printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2:search_num(); break; default:break; void search_xueli() c
21、har xueli30;int i,t; int m=load(); printf(請輸入要查找的學(xué)歷:n); scanf(%s,xueli);for(i=0;im;i+) if(strcmp(emi.xueli,xueli)=0) printf(n已找到,其記錄為:n); printf( 職工號t姓名tt性別tt年齡n);printf( 學(xué)歷tt工資tt住址tt電話n);printf(%dt,emi.num);printf(%st,);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%s
22、t,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);if(i=m) printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢學(xué)歷請按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2:search_xueli();break; default :break; 7程序運行結(jié)果1.運行程序菜單模塊初始化,如圖1. 按1進(jìn)入職工信息錄入模塊,輸入職工信息工號007,姓名007,性別M,年齡30,學(xué)歷zhongguodizhidaxue,工資9999,住址beiqu21d電話如圖2. 在輸入完N個數(shù)據(jù)后,按2進(jìn)入職工信息瀏覽模塊,看到信息3. 按3進(jìn)入職工查詢模塊,如圖按1進(jìn)入按職工號查詢模塊,輸入007查詢,如圖按2進(jìn)入學(xué)歷查詢模塊,輸入zhongguodizhidaxue,如圖按1返回查詢函數(shù),按4退出,如圖8編程中遇到的困難及解決方法這一次老師讓我們從第8題和第21題中選,瞄了兩眼,決定選職工信息管理第8題,沒想到這么難弄,足足用了兩周時間才搞定。上機好幾次之后,遇到一些小問題
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公式法課件人教版九年級數(shù)學(xué)上冊
- 2025-2030全球城市化進(jìn)程中的住房保障新模式研究
- 2025-2030全球農(nóng)產(chǎn)品電商供應(yīng)鏈?zhǔn)袌鲆?guī)模供需分析商業(yè)投資規(guī)劃報告
- 2025-2030全息顯示技術(shù)產(chǎn)業(yè)供需關(guān)系分析技術(shù)轉(zhuǎn)化投資規(guī)劃實施評估分析報告
- 服裝商品專員培訓(xùn)課件
- 2025-2030先進(jìn)醫(yī)療診斷試劑研發(fā)上市策略評估規(guī)劃
- 2025-2030先進(jìn)制線路板行業(yè)產(chǎn)能布局與投資策略研究
- 2025-2030健身運動行業(yè)市場發(fā)展分析及投資培育策略研究市場分析報告
- 服裝員工安全培訓(xùn)課程課件
- 2025 AHA 心肺復(fù)蘇與心血管急救指南 - 第6部分:兒童基本生命支持解讀
- 2026年大慶醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)技能測試模擬測試卷附答案
- 中央財經(jīng)大學(xué)金融學(xué)院行政崗招聘1人(非事業(yè)編制)參考筆試題庫及答案解析
- 臨床試驗風(fēng)險最小化的法律風(fēng)險防范策略
- 2025年酒店總經(jīng)理年度工作總結(jié)暨戰(zhàn)略規(guī)劃
- 2025年三基超聲試題及答案
- 廣場景觀及鋪裝工程施工方案
- 貴州興義電力發(fā)展有限公司2026年校園招聘備考題庫及一套完整答案詳解
- 完整版學(xué)生公寓維修改造工程施工組織設(shè)計方案
- 2026年“十五五”期間中國速凍食品行業(yè)市場調(diào)研及投資前景預(yù)測報告
- 《基礎(chǔ)護理學(xué)(第七版)》考前強化模擬練習(xí)試題庫500題(含答案)
評論
0/150
提交評論