




已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔中國(guó)地質(zhì)大學(xué)課 程 設(shè) 計(jì) 報(bào) 告 書(shū)所屬課程名稱 C程序設(shè)計(jì) 題 目 職工信息管理系統(tǒng) 院 (系) 班 級(jí) 學(xué)號(hào) 學(xué)生姓名 指導(dǎo)教師 輔導(dǎo)教師 中國(guó)地質(zhì)大學(xué)2010年9月6日 .精品文檔課 程 設(shè) 計(jì)( 論 文 )任 務(wù) 書(shū)工程學(xué)院 專 業(yè) 052081 班一、課程設(shè)計(jì)(論文)題目 職工信息管理系統(tǒng) 二、課程設(shè)計(jì)(論文)工作:自 2010年 08月 28 日起至 2010年 09月 08 日止。三、課程設(shè)計(jì)(論文)的內(nèi)容要求:1、設(shè)計(jì)內(nèi)容: 制作職工信息管理系統(tǒng),職工信息包括職工號(hào),姓名,性別,年齡,學(xué)歷,工資,住址,電話等(職工號(hào)不重復(fù)),并實(shí)現(xiàn)數(shù)據(jù)錄入、數(shù)據(jù)刪除和數(shù)據(jù)瀏覽以及數(shù)據(jù)查詢等一些功能。 2、課程設(shè)計(jì)的要求: A.系統(tǒng)以菜單方式工作 B.職工信息錄入功能(職工信息用文件保存)-輸入 C.職工信息瀏覽功能 -輸出 D.查詢和排序功能:(至少一種查詢方式) -算法 E.按工資查詢 F.按學(xué)歷查詢等 G.職工信息刪除,修改功能(任選項(xiàng)) 2010 年 9月 6 日一、需求分析1.能夠?qū)β毠さ幕厩闆r進(jìn)行輸入、修改、增加以及刪除和存盤(pán)。2.能夠?qū)β毠ば畔⒌臑g覽。3.能夠?qū)崿F(xiàn)對(duì)職工的查詢。4.能夠?qū)β毠さ幕竟べY情況進(jìn)行設(shè)定。5.能夠?qū)⒙毠ば畔⒑突竟べY信息以文檔形式保存6.程序能夠以菜單形式出現(xiàn) 精品文檔二、概要分析職工信息管理系統(tǒng)設(shè)計(jì)職工信息包括職工號(hào),姓名,性別,年齡,學(xué)歷,工資,住址,電話等(職工號(hào)不重復(fù)),試設(shè)計(jì)一職工信息管理系統(tǒng),使之能提供以下功能: 系統(tǒng)以菜單方式工作 職工信息錄入功能(職工信息用文件保存)-輸入 職工信息瀏覽功能 -輸出 查詢和排序功能:(至少一種查詢方式) -算法 按工資查詢 按學(xué)歷查詢等 職工信息刪除,修改功能(任選項(xiàng))下面是功能框架圖:三、詳細(xì)設(shè)計(jì)以及調(diào)試分析A.詳細(xì)設(shè)計(jì)1,創(chuàng)建了一個(gè)結(jié)構(gòu)體employee,它包含num(工號(hào)),name(姓名),sex(性別),age(年齡),xueli(學(xué)歷),wage(工資),addr(住址),tel(電話)8個(gè)基類,即為員工的基本信息。2,創(chuàng)建了主函數(shù)main(),用它調(diào)用子函數(shù)menu(),add(),del(),display(),Input(),load(),modify(),save(),search(),search num(),search xueli()。通過(guò)主函數(shù)對(duì)子函數(shù)的調(diào)用實(shí)現(xiàn)程序的各項(xiàng)功能。 B.調(diào)試分析 void main() menu(); int n,flag; char a; -Configuration: 1 - Win32 Debug-Compiling.1.cg:1.c(55) : error C2143: syntax error : missing ; before typeg:1.c(56) : error C2143: syntax error : missing ; before typeg:1.c(61) : error C2065: n : undeclared identifierg:1.c(64) : error C2065: flag : undeclared identifierg:1.c(90) : error C2065: a : undeclared identifierError executing cl.exe.1.obj - 5 error(s), 0 warning(s)開(kāi)始由于在主函數(shù)的調(diào)用過(guò)程中把子函數(shù)的調(diào)用放在了變量的定義之前,導(dǎo)致程序無(wú)法運(yùn)行,后來(lái)改正錯(cuò)誤,程序可以正常運(yùn)行。另外在程序中還出現(xiàn)各種小錯(cuò)誤,這里不一一列舉。通過(guò)調(diào)試我發(fā)現(xiàn)調(diào)試是一個(gè)漫長(zhǎng)而枯燥的過(guò)程 ,很鍛煉人的耐心。 四、程序使用指南1打開(kāi)程序出現(xiàn)菜單選項(xiàng)2,選擇錄入職工信息,按提示錄入3.通過(guò)選項(xiàng)依次實(shí)現(xiàn)對(duì)職工信息的瀏覽,查詢,刪除,增加和修改。五.源代碼#include #include #include #include #define N 100struct employee int num;/工號(hào) char name10;/姓名 char sex; /性別 int age;/年齡 char xueli30;/學(xué)歷 int wage;/工資 char addr30;/住址 long int tel;/電話em100; void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_xueli();void search_tel();void modify(); void menu() printf( *歡迎使用查詢系統(tǒng)*n); printf(n); printf(n);printf( *職工信息管理*n);printf( 1.錄入職工信息);printf( 2.瀏覽職工信息n);printf( 3.查詢職工信息);printf( 4.刪除職工信息n); printf( 5.增加職工信息);printf( 6.修改職工信息n);printf( 7.退出n);printf( *謝謝使用*n); printf(n); printf(n); void main() int n,flag; char a; menu();do printf(請(qǐng)選擇你需要操作的步驟(1-7):n); scanf(%d,&n); if(n=1&n=7) flag=1; break; else flag=0; printf(您輸入有誤,請(qǐng)重新選擇!); while(flag=0); while(flag=1) switch(n) case 1:printf(輸入職工信息n);printf(n);input();break; case 2:printf(瀏覽職工信息n);printf(n);display();break; case 3:printf(按職工號(hào)或?qū)W歷查詢職工信息n);printf(n);search();break; case 4:printf(刪除職工信息n);printf(n);del();break; case 5:printf(添加職工信息n);printf(n);add();break; case 6:printf(修改職工信息n);printf(n);modify();break; case 7:exit(0);break; default :break; getchar(); printf(n); printf(是否繼續(xù)進(jìn)行(y or n):n); scanf(%c,&a); if(a=y) flag=1; system(cls); menu(); printf(請(qǐng)?jiān)俅芜x擇你需要操作的步驟(1-7):n); scanf(%d,&n); printf(n); else exit(0);void input() int i,m; printf(請(qǐng)輸入需要?jiǎng)?chuàng)建信息的職工人數(shù)(1-100):n); scanf(%d,&m); for (i=0;im;i+) printf(職工號(hào): ); srand(int)time(0); emi.num=rand()%10000+20000000; if(emi.num!=emi-1.num) printf(%8d ,emi.num); printf(n); printf(請(qǐng)輸入姓名: ); scanf(%s,); getchar(); printf(請(qǐng)輸入性別(f-女 m-男): ); scanf(%c,&emi.sex); printf(請(qǐng)輸入年齡: ); scanf(%d,&emi.age); printf(請(qǐng)輸入學(xué)歷: ); scanf(%s,emi.xueli); printf(請(qǐng)輸入工資: ); scanf(%d,&emi.wage); printf(請(qǐng)輸入住址: ); scanf(%s,emi.addr); printf(請(qǐng)輸入電話: ); scanf(%d,&emi.tel); printf(n); printf(n創(chuàng)建完畢!n); save(m);void save(int m) int i;FILE*fp;if (fp=fopen(employee_list,wb)=NULL) printf (cannot open filen); exit(0);for (i=0;im;i+) if (fwrite(&emi,sizeof(struct employee),1,fp)!=1) printf(file write errorn); fclose(fp);int load() FILE*fp;int i=0; if(fp=fopen(employee_list,rb)=NULL) printf (cannot open filen); exit(0);else do fread(&emi,sizeof(struct employee),1,fp); i+; while(feof(fp)=0);fclose(fp);return(i-1); void display() int i;int m=load();printf(n 職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址t電話 n);for(i=0;im;i+) printf(n %dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); void del() int m=load();int i,j,n,t,flag;char name20;printf(n 原來(lái)的職工信息:n); display(); printf(n);printf(請(qǐng)輸入要?jiǎng)h除的職工的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&im;i+) if(strcmp(,name)=0) printf(n已找到此人,原始記錄為:n); printf(n職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址t電話 n); printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(emj.xueli,emj+1.xueli); emj.wage=emj+1.wage; strcpy(emj.addr,emj+1.addr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1;else printf(n對(duì)不起,查無(wú)此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); display(); printf(n繼續(xù)刪除請(qǐng)按1,不再刪除請(qǐng)按0n);scanf(%d,&t);switch(t) case 1:del();break; case 0:break; default :break;void add()FILE*fp;int n; int count=0; int i; int m=load(); printf(n 原來(lái)的職工信息:n); display(); printf(n); fp=fopen(emploee_list,a); printf(請(qǐng)輸入想增加的職工數(shù):n);scanf(%d,&n); for (i=m;i=1&t=4) flag=1; break; else flag=0; printf(您輸入有誤,請(qǐng)重新選擇!); while(flag=0); while(flag=1) switch(t) case 1:printf(按職工號(hào)查詢n);search_num();break; case 2:printf(按學(xué)歷查詢n);search_xueli();break; case 3:main();break; default:break; void search_num() int num; int i,t; int m=load(); printf(請(qǐng)輸入要查找的職工號(hào)(20001111-20009999):n); scanf(%d,&num); for(i=0;im;i+) if(num=emi.num) printf(n已找到此人,其記錄為:n); printf(n職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址t電話 n); printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); break; if(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: 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;im;i+) if(strcmp(emi.xueli,xueli)=0) printf(n已找到,其記錄為:n); printf(n職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址t電話 n); printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); if(i=m) printf(n); printf(返回查詢函數(shù)請(qǐng)按1,繼續(xù)查詢學(xué)歷請(qǐng)按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2:break; default :break; void modify() int num;char name10;char sex; int age;char xueli30; int wage; char addr30; long int tel; int b,c,i,n,t,flag; int m=load(); printf(n 原來(lái)的職工信息:n); display(); printf(n); printf(請(qǐng)輸入要修改的職工的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&i8|c1) printf(n選擇錯(cuò)誤,請(qǐng)重新選擇!n); flag=0; if(flag=1)printf(n對(duì)不起,查無(wú)此人!n); do switch(c) case 1:printf(職工號(hào)改為: ); scanf(%d,&num); emi-1.num=num; break; case 2:printf(姓名改為: ); scanf(%s,name); strcpy(,name); break; case 3:printf(性別改為: ); getchar(); scanf(%c,&sex); emi-1.sex=sex; break; case 4:printf(年齡改為: ); scanf(%d,&age); emi-1.age=age; break; case 5:printf(學(xué)歷改
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲店店面改造與設(shè)備升級(jí)合同
- 貨物購(gòu)銷框架協(xié)議書(shū)范本
- 能源項(xiàng)目采購(gòu)合同進(jìn)度監(jiān)管與節(jié)能減排協(xié)議
- 車輛維修保養(yǎng)包年合同協(xié)議書(shū)
- 能源管理軟件銷售與節(jié)能方案合同范本
- 餐飲連鎖企業(yè)股權(quán)收購(gòu)與整合合同
- 學(xué)校校園“踩踏式”混戰(zhàn)緊急疏散演練合同
- 2024年放大鏡項(xiàng)目資金籌措計(jì)劃書(shū)參考
- 餐飲部操作規(guī)程
- 安防安全培訓(xùn)
- 《半導(dǎo)體及二極管》教學(xué)課件
- 病房床頭卡模板
- 消殺記錄臺(tái)賬
- 2022年西雙版納傣族自治州景洪教師進(jìn)城考試筆試題庫(kù)及答案解析
- 公路改建工程邊施工邊通車安全專項(xiàng)施工方案
- 施工總平面圖布置圖及說(shuō)明
- 道路交通安全法律法規(guī)知識(shí)測(cè)試題
- 國(guó)際籃聯(lián)記錄表
- 煤礦培訓(xùn):自救器課件
- 空心玻璃微珠項(xiàng)目資金申請(qǐng)報(bào)告寫(xiě)作模板+
- 藥品管理學(xué)概論(藥品管理學(xué))
評(píng)論
0/150
提交評(píng)論