版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中國(guó)地質(zhì)大學(xué)(武漢)課程設(shè)計(jì)報(bào)告題目c 語(yǔ)言程序設(shè)計(jì)姓名學(xué)號(hào)專業(yè)統(tǒng)計(jì)學(xué)所在院系經(jīng)濟(jì)管理學(xué)院指導(dǎo)老師江俊君日期2016/6/11目 錄目 錄21課程論文題目32程序設(shè)計(jì)思路43功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)65算法設(shè)計(jì)76程序代碼107程序運(yùn)行結(jié)果168編程中遇到的困難及解決方法199總結(jié)心得及良好建議2010致謝201課程論文題目職工信息管理系統(tǒng)內(nèi)容: 要求職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號(hào)不重復(fù) )。 功能 :實(shí)現(xiàn)簡(jiǎn)單的職工工資信息管理,職工工資的基本信息包括編號(hào)、姓名、基本工資、獎(jiǎng)金、工資總額等1. 系統(tǒng)以菜單方式工作。2. 職工信息錄入功能(職工信息用文件
2、保存) 。3. 職工信息瀏覽功能 。4.職工信息查詢功能。查詢方式。( 1)按學(xué)歷查詢。( 2)按工號(hào)查詢。2程序設(shè)計(jì)思路( 1)需求分析系統(tǒng)要以菜單方式工作,因而根據(jù)題目要求,提供鍵盤(pán)式選擇菜單實(shí)現(xiàn)功能選擇,職工信息采用文件保存,所以應(yīng)提供文件的輸入、輸出等操作;在程序中需要瀏覽職工的信息,應(yīng)提供顯示、查找、等操作;要實(shí)現(xiàn)職工信息的查詢,則要提供查找功能(包括按學(xué)歷查詢和按工號(hào)查詢兩種查詢方式) ;要實(shí)現(xiàn)職工信息的刪除、修改,則要提供文件記錄的刪除 、修改功能。(2)總體設(shè)計(jì)根據(jù)上面的需求分析 ,可以將這個(gè)系統(tǒng)設(shè)計(jì)分為以下模塊:職工信息輸入模塊、職工信息瀏覽模塊、職工信息查詢模塊、職工信息刪
3、除與修改模塊(3)數(shù)據(jù)信息建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址和電話。Struct employeechar num20;char name8;char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN3功能模塊圖錄入模塊菜單瀏覽模塊10080學(xué)歷查詢60東部40西部20查詢模塊北部0第一季度第三季度工號(hào)查詢4. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址和電話。Struct employeechar num20;/工號(hào)c
4、har name30;/姓名char sex10;/性別char age10;/年齡char xueli30;/學(xué)歷char wanges10;/工資char tel15;/電話char addr50;住址emN5算法設(shè)計(jì)1. 輸入模塊:輸入職工的工號(hào)、姓名以及其它的一些職工的相關(guān)信息,通過(guò)自己定義的 void append() 函數(shù)來(lái)實(shí)現(xiàn)。2. 瀏覽模塊:瀏覽所有職工的相關(guān)信息,通過(guò)自己定義的void display()函數(shù)來(lái)實(shí)現(xiàn)。3.按職工號(hào)查詢模塊:可以按職工號(hào)來(lái)查詢職工的相關(guān)信息,通過(guò)自己定義的voidsearch_num() 函數(shù)來(lái)實(shí)現(xiàn)。8. 按職工的的學(xué)歷查詢模塊:可以按職工的學(xué)歷
5、來(lái)查詢職工的相關(guān)信息,通過(guò)自己定義的void search_xuelil函數(shù)來(lái)實(shí)現(xiàn)。4. 退出模塊: 退出職工信息管理系統(tǒng),通過(guò)頭文件windows.h 中的 exit ( 0)函數(shù)來(lái)實(shí)現(xiàn)。1. 錄入模塊void append()int i,n;FILE*fp;fp=fopen("employee_list","wb");/倆一起定義fpprintf("請(qǐng)輸入職工個(gè)數(shù)n");scanf("%d",&n);for (i=0;i<n;i+)printf("請(qǐng)輸入職工號(hào):");scanf
6、("%d",&emi.num);printf(" 請(qǐng)輸入姓名 : ");scanf("%s",);getchar();printf("請(qǐng)輸入性別 (f-女 m-男 ): ");scanf("%s",&emi.sex);printf("請(qǐng)輸入年齡 :");scanf("%s",&emi.age);printf("請(qǐng)輸入學(xué)歷 :");scanf("%s",emi.xueli);pr
7、intf("請(qǐng)輸入工資 :");scanf("%s",&emi.wanges);printf("請(qǐng)輸入住址 :");scanf("%s",emi.addr);printf("請(qǐng)輸入電話 :");scanf("%s",emi.tel);printf("n");save(n);2. 瀏覽模塊void display()int i;int m=load();printf(" 職工號(hào) printf(" 學(xué)歷 ttt姓名 tt 工資 tt
8、性別 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("%st
9、",emi.tel);printf("n");2. 查詢模塊void search()int a;printf("n按職工號(hào)查詢請(qǐng)按1n 按學(xué)歷查詢請(qǐng)按2n 返回主菜單請(qǐng)按3n");scanf("%d",&a);switch(a)case 1:printf("case 2:printf("按職工號(hào)查詢 n");search_num();break;按學(xué)歷查詢 n");search_xueli();break;case 3:main();break;default: printf
10、("您輸入有誤,請(qǐng)重新選擇!n"); break;(1) 按工號(hào)查詢void search_num()int num,i,t; int m=load(); /printf("請(qǐng)輸入要查找的職工號(hào)使 m=文件輸入的個(gè)數(shù):n");scanf("%d",&num);for(i=0;i<m;i+)if(num=emi.num)printf("n已找到此人,其記錄為:n");printf("職工號(hào) t姓名 tt性別 tt年齡 n");printf("學(xué)歷 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");brea
12、k;if(i=m)/因?yàn)?i=0 , i=m 就超了printf("n對(duì)不起,查無(wú)此人n");printf("n");printf(" 返回查詢函數(shù)請(qǐng)按 1, 繼續(xù)查詢職工號(hào)請(qǐng)按 2n"); 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(&qu
13、ot;請(qǐng)輸入要查找的學(xué)歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,xueli)=0)printf("nprintf("已找到,其記錄為:職工號(hào) t姓名 ttn");性別 tt年齡 n");printf("學(xué)歷 tt工資 tt住址 tt電話 n");printf("%dt",emi.num);printf("%st",);printf("%st",emi
14、.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對(duì)不起,查無(wú)此人n");printf("n");printf("返回查詢函數(shù)請(qǐng)按1, 繼續(xù)查詢學(xué)歷請(qǐng)按2n");scan
15、f("%d",&t);switch(t)case 1:search();break;case 2:search_xueli();break;default :break;6程序代碼#include <stdio.h>#include <stdlib.h>/包括 exit ( 0),無(wú)需定義#include <string.h>#include <conio.h>#define N 100/可以隨便改人數(shù)void append(); /錄入void display(); /瀏覽void search(); /查詢void
16、 search_num(); /工號(hào)void search_xueli();/學(xué)歷void save(int); /聲明一個(gè)形參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)/用一個(gè)循環(huán)使之能夠返回printf("*職工信息管理系統(tǒng)*n");printf("1.錄入職工信息 n");printf(&q
17、uot;2.瀏覽職工信息 n");printf("3.查詢職工信息 n");printf("4.退出 n");printf("請(qǐng)按功能序號(hào):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("輸入錯(cuò)誤指令 n");printf("n按任意鍵繼續(xù)n&q
18、uot;);getch();void append()int i,n;FILE*fp;fp=fopen("employee_list","wb");/倆一起定義fpprintf("請(qǐng)輸入職工個(gè)數(shù)n");scanf("%d",&n);for (i=0;i<n;i+)printf("請(qǐng)輸入職工號(hào):");scanf("%d",&emi.num);printf("請(qǐng)輸入姓名 :");scanf("%s",)
19、;getchar();printf("請(qǐng)輸入性別 (f-女 m-男 ): ");scanf("%s",&emi.sex);printf("請(qǐng)輸入年齡 :");scanf("%s",&emi.age);printf("請(qǐng)輸入學(xué)歷 :");scanf("%s",emi.xueli);printf("請(qǐng)輸入工資 :");scanf("%s",&emi.wanges);printf("請(qǐng)輸入住址 :"
20、);scanf("%s",emi.addr);printf("請(qǐng)輸入電話 :");scanf("%s",emi.tel);printf("n");save(n);void save(int n)/save函數(shù) save 了多少個(gè)FILE*fp;int i;if(fp=fopen("employee_list","wb")=NULL) /能否以寫(xiě)的形式打開(kāi),wb2 進(jìn)制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ù)出錄入的個(gè)數(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(s
22、truct檢查文件是否結(jié)束,結(jié)束時(shí)返回非零值employee),1,fp);/以二進(jìn)制向文件讀寫(xiě)數(shù)據(jù),地址,字節(jié),讀多少個(gè)數(shù)據(jù),文件指針fclose(fp);return(i);void display()int i;int m=load();printf(" 職工號(hào) printf(" 學(xué)歷 ttt姓名 tt 工資 tt性別 tt 住址 tt年齡 n");電話 n");for(i=0;i<m;i+)printf("%dt",emi.num);printf("%st",);printf(&quo
23、t;%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按職工號(hào)查詢請(qǐng)按1n 按學(xué)歷查詢請(qǐng)按2n 返回主菜單請(qǐng)按scanf("%d",&a);s
24、witch(a)case 1:printf("按職工號(hào)查詢 n");search_num();break;case 2:printf("按學(xué)歷查詢 n");search_xueli();break;case 3:main();break;default: printf("您輸入有誤,請(qǐng)重新選擇!n"); break;3n");void search_num()int num,i,t; int m=load(); /printf("請(qǐng)輸入要查找的職工號(hào)使 m=文件輸入的個(gè)數(shù):n");scanf("
25、%d",&num);for(i=0;i<m;i+)if(num=emi.num)printf("n已找到此人,其記錄為:n");printf("職工號(hào) t姓名 tt性別 tt年齡 n");printf("學(xué)歷 tt工資 tt住址 tt電話 n");printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);print
26、f("%st",emi.xueli);printf("%st",emi.wanges);printf("%st",emi.addr);printf("%st",emi.tel);printf("n");break;if(i=m)/因?yàn)?i=0 , i=m 就超了printf("n對(duì)不起,查無(wú)此人n");printf("n");printf(" 返回查詢函數(shù)請(qǐng)按 1, 繼續(xù)查詢職工號(hào)請(qǐng)按 2n"); scanf("%d"
27、;,&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("請(qǐng)輸入要查找的學(xué)歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,xueli)=0)printf("n已找到,其記錄為:n");printf("職工號(hào) t姓名 tt性別
28、 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("%
29、st",emi.tel);printf("n");if(i=m)printf("n對(duì)不起,查無(wú)此人n");printf("n");printf("返回查詢函數(shù)請(qǐng)按1, 繼續(xù)查詢學(xué)歷請(qǐng)按2n");scanf("%d",&t);switch(t)case 1:search();break;case 2:search_xueli();break;default :break;7程序運(yùn)行結(jié)果1.運(yùn)行程序菜單模塊初始化,如圖1. 按 1 進(jìn)入職工信息錄入模塊, 輸入職工信息工號(hào) 007,姓名007,性別 M ,年齡 30,學(xué)歷 zhongguodizhidaxue ,工資 9999,住址 beiqu21d 電話 888888 如圖2. 在輸入完 N 個(gè)數(shù)據(jù)后,按 2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨國(guó)人力資源配置合同
- 《千字文》全文解讀簡(jiǎn)編
- 2024采購(gòu)合同供應(yīng)商資格補(bǔ)充協(xié)議
- 2025版木材加工廠木屑原料采購(gòu)合同3篇
- 2024年適用:臨時(shí)建筑設(shè)施轉(zhuǎn)讓合同樣式
- 2024招投標(biāo)與合同管理工作坊:文化創(chuàng)意產(chǎn)業(yè)項(xiàng)目招投標(biāo)與合同管理服務(wù)合同3篇
- 地鐵知識(shí)培訓(xùn)視頻課件
- 硬件基礎(chǔ)知識(shí)培訓(xùn)課件
- 2024年酒店會(huì)議設(shè)施租賃合同
- 專業(yè)兒童用濕紙巾購(gòu)銷(xiāo)協(xié)議文檔下載版A版
- 自動(dòng)控制原理仿真實(shí)驗(yàn)課程智慧樹(shù)知到課后章節(jié)答案2023年下山東大學(xué)
- 【城市軌道交通運(yùn)營(yíng)安全管理研究9200字(論文)】
- 丁往道英語(yǔ)寫(xiě)作手冊(cè)范本課件
- 教學(xué)能力大賽獲獎(jiǎng)之教學(xué)實(shí)施報(bào)告
- 小學(xué)數(shù)學(xué)專題講座(課堂PPT)
- 三晶8000B系列變頻器說(shuō)明書(shū)
- 左傳簡(jiǎn)介完整
- 體育中國(guó)(上海大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
- 幽默動(dòng)感年會(huì)互動(dòng)PPT演示模板
- 榕江縣銻礦 礦業(yè)權(quán)出讓收益計(jì)算書(shū)
- 七年級(jí)英語(yǔ)句型轉(zhuǎn)換專題訓(xùn)練100題含答案
評(píng)論
0/150
提交評(píng)論