




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中國地質(zhì)大學(武漢)課程設(shè)計報告題目c 語言程序設(shè)計姓名學號專業(yè)統(tǒng)計學所在院系經(jīng)濟管理學院指導老師江俊君日期2016/6/11目 錄目 錄21課程論文題目32程序設(shè)計思路43功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設(shè)計65算法設(shè)計76程序代碼107程序運行結(jié)果168編程中遇到的困難及解決方法199總結(jié)心得及良好建議2010致謝201課程論文題目職工信息管理系統(tǒng)內(nèi)容: 要求職工信息包括職工號、姓名、性別、年齡、學歷、工資、住址、電話等 (職工號不重復 )。 功能 :實現(xiàn)簡單的職工工資信息管理,職工工資的基本信息包括編號、姓名、基本工資、獎金、工資總額等1. 系統(tǒng)以菜單方式工作。2. 職工信息錄入功能(職工信息用文
2、件保存) 。3. 職工信息瀏覽功能 。4.職工信息查詢功能。查詢方式。( 1)按學歷查詢。( 2)按工號查詢。2程序設(shè)計思路( 1)需求分析系統(tǒng)要以菜單方式工作,因而根據(jù)題目要求,提供鍵盤式選擇菜單實現(xiàn)功能選擇,職工信息采用文件保存,所以應提供文件的輸入、輸出等操作;在程序中需要瀏覽職工的信息,應提供顯示、查找、等操作;要實現(xiàn)職工信息的查詢,則要提供查找功能(包括按學歷查詢和按工號查詢兩種查詢方式) ;要實現(xiàn)職工信息的刪除、修改,則要提供文件記錄的刪除 、修改功能。(2)總體設(shè)計根據(jù)上面的需求分析 ,可以將這個系統(tǒng)設(shè)計分為以下模塊:職工信息輸入模塊、職工信息瀏覽模塊、職工信息查詢模塊、職工信息
3、刪除與修改模塊(3)數(shù)據(jù)信息建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號、姓名、性別、年齡、學歷、工資、住址和電話。Struct employeechar num20;char name8;char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN3功能模塊圖錄入模塊菜單瀏覽模塊10080學歷查詢60東部40西部20查詢模塊北部0第一季度第三季度工號查詢4. 數(shù)據(jù)結(jié)構(gòu)設(shè)計建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號、姓名、性別、年齡、學歷、工資、住址和電話。Struct employeechar num20;/工號
4、char name30;/姓名char sex10;/性別char age10;/年齡char xueli30;/學歷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)信息,通過自己定義的voidsearch_num() 函數(shù)來實現(xiàn)。8. 按職工的的學歷查詢模塊:可以按職工的學
5、歷來查詢職工的相關(guān)信息,通過自己定義的void 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;i<n;i+)printf("請輸入職工號:");scan
6、f("%d",&emi.num);printf(" 請輸入姓名 : ");scanf("%s",);getchar();printf("請輸入性別 (f-女 m-男 ): ");scanf("%s",&emi.sex);printf("請輸入年齡 :");scanf("%s",&emi.age);printf("請輸入學歷 :");scanf("%s",emi.xueli);p
7、rintf("請輸入工資 :");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(" 職工號 printf(" 學歷 ttt姓名 tt 工資 t
8、t性別 tt 住址 tt年齡 n");電話 n");for(i=0;i<m;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("%s
9、t",emi.tel);printf("n");2. 查詢模塊void search()int a;printf("n按職工號查詢請按1n 按學歷查詢請按2n 返回主菜單請按3n");scanf("%d",&a);switch(a)case 1:printf("case 2:printf("按職工號查詢 n");search_num();break;按學歷查詢 n");search_xueli();break;case 3:main();break;default: print
10、f("您輸入有誤,請重新選擇!n"); break;(1) 按工號查詢void search_num()int num,i,t; int m=load(); /printf("請輸入要查找的職工號使 m=文件輸入的個數(shù):n");scanf("%d",&num);for(i=0;i<m;i+)if(num=emi.num)printf("n已找到此人,其記錄為:n");printf("職工號 t姓名 tt性別 tt年齡 n");printf("學歷 tt工資 tt住址 tt
11、電話 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");bre
12、ak;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;(2) 按學歷查找void search_xueli()char xueli30;int i,t; int m=load();printf(&q
13、uot;請輸入要查找的學歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,xueli)=0)printf("nprintf("已找到,其記錄為:職工號 t姓名 ttn");性別 tt年齡 n");printf("學歷 tt工資 tt住址 tt電話 n");printf("%dt",emi.num);printf("%st",);printf("%st",em
14、i.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ù)查詢學歷請按2n");sca
15、nf("%d",&t);switch(t)case 1:search();break;case 2:search_xueli();break;default :break;6程序代碼#include <stdio.h>#include <stdlib.h>/包括 exit ( 0),無需定義#include <string.h>#include <conio.h>#define N 100/可以隨便改人數(shù)void append(); /錄入void display(); /瀏覽void search(); /查詢voi
16、d search_num(); /工號void search_xueli();/學歷void save(int); /聲明一個形參struct employee/定義結(jié)構(gòu)體數(shù)組全局變量在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(&
17、quot;2.瀏覽職工信息 n");printf("3.查詢職工信息 n");printf("4.退出 n");printf("請按功能序號:n");scanf("%d",&n);switch(n)case 1:append();break;case 2:display();break;case 3:search();break;case 4:exit(0);n=0;break ;default:printf("輸入錯誤指令 n");printf("n按任意鍵繼續(xù)n&
18、quot;);getch();void append()int i,n;FILE*fp;fp=fopen("employee_list","wb");/倆一起定義fpprintf("請輸入職工個數(shù)n");scanf("%d",&n);for (i=0;i<n;i+)printf("請輸入職工號:");scanf("%d",&emi.num);printf("請輸入姓名 :");scanf("%s",
19、);getchar();printf("請輸入性別 (f-女 m-男 ): ");scanf("%s",&emi.sex);printf("請輸入年齡 :");scanf("%s",&emi.age);printf("請輸入學歷 :");scanf("%s",emi.xueli);printf("請輸入工資 :");scanf("%s",&emi.wanges);printf("請輸入住址 :"
20、;);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("employee_list","wb")=NULL) /能否以寫的形式打開,wb2 進制printf ("cannot open filen");exit(0);for(i=0
21、;i<n;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);i+)/feof fread(&emi,sizeof(
22、struct檢查文件是否結(jié)束,結(jié)束時返回非零值employee),1,fp);/以二進制向文件讀寫數(shù)據(jù),地址,字節(jié),讀多少個數(shù)據(jù),文件指針fclose(fp);return(i);void display()int i;int m=load();printf(" 職工號 printf(" 學歷 ttt姓名 tt 工資 tt性別 tt 住址 tt年齡 n");電話 n");for(i=0;i<m;i+)printf("%dt",emi.num);printf("%st",);printf(&qu
23、ot;%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");void search()int a;printf("n按職工號查詢請按1n 按學歷查詢請按2n 返回主菜單請按scanf("%d",&a);
24、switch(a)case 1:printf("按職工號查詢 n");search_num();break;case 2:printf("按學歷查詢 n");search_xueli();break;case 3:main();break;default: printf("您輸入有誤,請重新選擇!n"); break;3n");void search_num()int num,i,t; int m=load(); /printf("請輸入要查找的職工號使 m=文件輸入的個數(shù):n");scanf("
25、;%d",&num);for(i=0;i<m;i+)if(num=emi.num)printf("n已找到此人,其記錄為:n");printf("職工號 t姓名 tt性別 tt年齡 n");printf("學歷 tt工資 tt住址 tt電話 n");printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);prin
26、tf("%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&quo
27、t;,&t);switch(t)case 1:search();break;case 2:search_num(); break;default:break;void search_xueli()char xueli30;int i,t; int m=load();printf("請輸入要查找的學歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,xueli)=0)printf("n已找到,其記錄為:n");printf("職工號 t姓名 tt性
28、別 tt年齡 n");printf("學歷 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("
29、%st",emi.tel);printf("n");if(i=m)printf("n對不起,查無此人n");printf("n");printf("返回查詢函數(shù)請按1, 繼續(xù)查詢學歷請按2n");scanf("%d",&t);switch(t)case 1:search();break;case 2:search_xueli();break;default :break;7程序運行結(jié)果1.運行程序菜單模塊初始化,如圖1. 按 1 進入職工信息錄入模塊, 輸入職工信息工號 007,姓名007,性別 M ,年齡 30,學歷 zhongguodizhidaxue ,工資 9999,住址 beiqu21d 電話 888888 如圖2. 在輸入完 N 個數(shù)據(jù)后,按 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安全防范設(shè)施產(chǎn)品設(shè)計與制造合同范本
- 二零二五“魔百和”家庭網(wǎng)絡智能控制設(shè)備銷售協(xié)議
- 二零二五年度汽車吊車租賃與現(xiàn)場安全監(jiān)管協(xié)議
- 老人節(jié)的活動方案
- 公司人事年度工作方案
- 個人借款擔保協(xié)議書
- 中級消防設(shè)施操作員課件教學
- 清明節(jié)主題教育活動方案模板
- 開展G全連接工廠典型應用場景建設(shè)實施方案
- StarterUnit2KeepTidy!SectionB-1a-1d教案-人教版英語七年級上冊
- 2022-2023學年北京市東城區(qū)高二(下)期末化學試卷(含解析)
- 防溺水老師培訓課件
- 《植物生長與環(huán)境》課程標準(含課程思政)
- 鐵路行車組織(高職)全套教學課件
- 注塑標準成型條件表電子表格模板
- 道閘系統(tǒng)施工方案
- 配置管理與漏洞修復
- 新版中國復發(fā)難治性急性髓系白血病診療指南
- 保潔巡查記錄表
- 成事的時間管理
- 國開大學2023年01月22503《學前兒童健康教育活動指導》期末考試答案
評論
0/150
提交評論