




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、江 西 農(nóng) 業(yè) 大 學(xué) 職工檔案管理系統(tǒng)實驗報告一、 實驗?zāi)康?、加深對講授內(nèi)容的理解2、通過設(shè)計,熟練上機調(diào)試程序3、C語言綜合程序設(shè)計能力的提高二、實驗題目與相關(guān)說明題目:職工檔案管理系統(tǒng)設(shè)計功能:職工檔案管理系統(tǒng)設(shè)計,每個職工是一條記錄,包括編號,姓名,性別,出生年月,所在部門,職稱,工資級別、 等。系統(tǒng)可實現(xiàn)以下功能:1、輸入功能:輸入每一位職工記錄,將其信息存入文件中。2、顯示功能:完成全部職工記錄的顯示。3、查找功能:完成按編號或姓名查找職工的相關(guān)記錄,并顯示。分步實施:1、初步完成總體設(shè)計,搭好框架,確定人機對話的界面,確定函數(shù)個數(shù)。2、建立一個文件,將每位職工的信息寫入文件中并
2、能顯示于屏幕上。3、完成上述查找(編號,姓名,性別等)、修改等功能。4、進一步要求,修改記錄設(shè)置密碼操作。要求:1、用C語言實現(xiàn)程序設(shè)計;2、利用結(jié)構(gòu)體數(shù)組實現(xiàn)職工信息的數(shù)據(jù)結(jié)構(gòu)設(shè)計;3、系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);4、界面友好(良好的人機交互),程序加必要的注釋。三、程序功能簡介該系統(tǒng)主要用于管理職工的個人信息,它具有存儲、添加、查詢、修改、刪除、瀏覽等功能。其中修改信息需要權(quán)限密碼,在程序中我已將初始密碼設(shè)為“1828”。但我只是完成了初始密碼的設(shè)置,修改密碼及其它有關(guān)密碼的程序設(shè)計還沒有完成。另外,我將查找功能分為“姓名查找”和“工號查找”,這樣可使得查找的成功率增加。 下面
3、,就給出該系統(tǒng)源代碼。四、程序源碼(帶注釋)#include<stdio.h>#include<stdlib.h>struct staffchar name8;char num10;char sex10;char bir15;char dep10;char pos10;char wage10;char tel15;char addr50;worker; /*定義一個結(jié)構(gòu)體*/char filename20="123456" /*文件名*/FILE *fp; void creat(); /*定義一個創(chuàng)建函數(shù)*/void browse(); /*定義一個
4、輸出信息的函數(shù)*/void search1(); /*定義一個查詢的函數(shù)*/void search2(); /*定義一個查詢的函數(shù)*/ void append(); /*定義一個添加函數(shù)*/void modify(); /*定義一個修改函數(shù)*/void delete(); /*定義一個刪除函數(shù)*/void main() /*主函數(shù)*/int m;system("color 0a");a:while(1)printf(" nt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"
5、;);printf(" t*t * 職工檔案管理系統(tǒng) * *n");printf(" t*t * * *n");printf(" t*t * * * * * * * * * * * * * * * * * * * * * *n");printf(" t*t * 1.存入檔案 * *n");printf(" t*t * * *n");printf(" t*t * 2.添加信息 * *n");printf(" t*t * * *n");printf("
6、; t*t * 3.查詢職工信息(姓名) * *n");printf(" t*t * * *n");printf(" t*t * 4. 查詢職工信息(工號) * *n");printf(" t*t * * *n");printf(" t*t * 5.修改信息(需要權(quán)限密碼) * *n");printf(" t*t * * *n");printf(" t*t * 6.刪除信息 * *n");printf(" t*t * * *n");printf(
7、" t*t * 7.瀏覽信息 * *n");printf(" t*t * * *n");printf(" t*t * 8.退出系統(tǒng) * *n");printf(" t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"); /*輸出提示信息*/printf("選擇功能(1-8): bb"); scanf("%d",&m);if(m>=1 && m<=8 &am
8、p;& m!=5)switch(m)case 1: creat();break;case 2: append();break;case 3: search1();break;case 4: search2();break;case 6: delete();break;case 7: browse();break;case 8: exit();printf("nn操作完畢,請再次選擇!");goto a; if(m=5) int i; printf("請輸入密碼 (初始密碼為1828):") ; scanf("%d",&
9、i); while(i != 1828) /初始密碼為1828 printf("密碼錯誤,請重輸 : ") ; scanf("%d",&i); printf("Congratulations!"); printf("n") ;modify( );printf("nn操作完畢,請再次選擇!");elseprintf("nn選擇錯誤,請再次選擇!");void creat()struct staff one;if(fp=fopen(filename,"w&quo
10、t;)=NULL) /*打開文件,實現(xiàn)向文件輸入數(shù)據(jù)*/printf("n不能建立!");exit();fprintf(fp,"%-10s%-10s%-10s%-18s%-10sn%-10s%-10s%-18s%-15sn","姓名","工號","性別","出生年月","所在部門","職位","工資"," 號碼","住址");printf("n請輸入職工信息(以0結(jié)束
11、)n");printf("姓名:n");scanf("%s",);while(strcmp(,"0")printf("工號:n");scanf("%s",one.num);printf("性別:n");scanf("%s",one.sex);printf("出生年月:n");scanf("%s",one.bir);printf("所在部門:n");scan
12、f("%s",one.dep);printf("職位:n");scanf("%s",one.pos);printf("工資:n");scanf("%s",one.wage);printf(" :n");scanf("%s",one.tel);printf("住址:n");scanf("%s",one.addr); /*輸出職工的相關(guān)信息*/fprintf(fp,"%-10s%-10s%-10s%-18s%-
13、10sn%-10s%-10s%-18s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf("姓名:n");scanf("%s",);fclose(fp); /*關(guān)閉文件*/void browse() /*輸出函數(shù)*/struct staff one;if(fp=fopen(filename,"r")=NULL) /*打開文件*/printf("n不能打開該文件!"
14、;);exit();printf("nn%20sn","ttt職工個人信息");/*向文件輸入數(shù)據(jù)*/while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf("%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.
15、bir,one.dep,one.pos,one.wage,one.tel,one.addr);fclose(fp);/*關(guān)閉文件*/void append() /*添加函數(shù)*/struct staff one;if(fp=fopen(filename,"a")=NULL) /*打開文件*/printf("n不能打開該文件!");exit();printf("n請輸入要添加的職工信息,各項之間以回車隔開.n(姓名 工號 性別 出生年月 所在部門 職位 工資 地址)n");/*向文件中輸入數(shù)據(jù)*/scanf("%s%s%s%s%
16、s%s%s%s%s",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fprintf(fp,"%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fclose(fp); /*關(guān)閉文件*/void search1() /*查詢函數(shù)*/int k=0;char namek
17、ey8;struct staff one;printf("n請輸入您要查找的職工姓名:");scanf("%s",namekey);if(fp=fopen(filename,"rb")=NULL) /*打開文件*/printf("n不能打開文件!");exit();while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.
18、addr);if(!strcmp(namekey,)printf("nn已查到,記錄為:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);k=1;if(!k)printf("nn對不起,查無此人!。");fclose(fp);void search2() /*查詢函數(shù)*/int k=0;char n
19、umkey8;struct staff one;printf("n請輸入您要查找的職工姓工號:");scanf("%s",numkey);if(fp=fopen(filename,"rb")=NULL) /*打開文件*/printf("n不能打開文件!");exit();while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,o
20、ne.addr);if(!strcmp(numkey,one.num)printf("nn已查到,記錄為:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);k=1;if(!k)printf("nn對不起,查無此人!。");fclose(fp);void modify() /*修改函數(shù)*/int m,k=0;long
21、 offset;char namekey8;struct staff one;printf("n請輸入您要修改的職工的姓名:");scanf("%s",namekey);if(fp=fopen(filename,"r+")=NULL) /*打開文件*/printf("n不能打開該文件!");exit();while(!feof(fp)offset=ftell(fp); /*查找信息*/fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex
22、,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,)k=1;break;if(k)printf("n已查到,記錄為:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf("n請輸入信息,各項之間以回車隔開.n
23、(姓名、工號、性別、出生年月、所在部門、職位、工資、 、地址):n");scanf("%s%s%s%s%s%s%s%s%s",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fseek(fp,offset,SEEK_SET);printf("%ld",ftell(fp);fprintf(fp,"%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num
24、,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);elseprintf("n對不起,查無此人,無法進行修改。");fclose(fp); /*文件關(guān)閉*/void delete() /*刪除函數(shù)*/int m,k=0,flag;long offset1,offset2;char namekey8, valid4;struct staff one;printf("n請輸入您要刪除的職工姓名:");scanf("%s",namekey);if(fp=fopen(file
25、name,"r+")=NULL) /*打開文件*/printf("n不能打開該文件!");exit();while(!feof(fp)offset1=ftell(fp); /*查詢文件中相關(guān)的信息*/fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,)k=1;break;if(k)printf("n已查到,記
26、錄為");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf("n確實要刪除,按1;不刪除,按0:");scanf("%d",&m);if(m)fseek(fp,offset1,SEEK_SET);fprintf(fp,"%-10s%-10s%-10s%-20s%-10sn%-10
27、s%-10s%-20s%-15sn","","","","","","","","","");elseprintf("n對不起,查無此人。");fclose(fp); /*關(guān)閉文件*/五、程序測試說明:檢測程序是否運行正常,并瀏覽系統(tǒng)界面。六、系統(tǒng)各功能測試1、存入檔案說明:輸入“甲、1、男、1970.1.23、宣傳部、部長、1600元/月江西省南昌市”、“乙、
28、2、女、1960.2.22、財務(wù)部、部長、1600元/月。注:輸入職工信息時,以輸入姓名“0”結(jié)束。2、添加信息說明:輸入“丙、3、男、1973.3.13、科技部、部長、2300元/月江西省南昌市”。3、查詢職工信息(姓名)說明:輸入要查找的職工姓名為“甲”。4、查詢職工信息(工號)說明:輸入要查找的職工工號為“1”。5、修改信息(需要權(quán)限密碼)說明:將甲信息中的 號碼修改為。6、刪除信息說明:刪除乙的個人信息。7、瀏覽信息8、退出系統(tǒng)說明:若所有操作完成,可在主菜單中輸入“8”退出系統(tǒng)。七、實驗心得 通過本次C語言
29、上機實驗,我對這個介于人類與非人類之間的計算機編程語言有了一定的體驗。其間開心過、郁悶過、無奈過、彷徨過隨著實驗的勝利成功與實驗報告的順利完成,有點微微的自豪感使人難忘。感謝鄧松老師的高標準、嚴要求,感謝實驗課上鄧老師的耐心指點,也感謝我在實驗中經(jīng)歷過的點點滴滴伴隨著學(xué)習的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對C語言,我會更加努力。 小學(xué)教師培養(yǎng)工作總結(jié) 一年來,我校在上級部門的指導(dǎo)下,積極開展教師教育教學(xué)能力的提高培訓(xùn)工作,有效提高了教師的各種教育教學(xué)實際能力,為我校取得良好的辦學(xué)成效起了重要的作用?;仡櫸覀兊墓ぷ?,主要有下面幾點做法和體會:一、制定計劃,常抓不懈這一學(xué)年雖然新來教師不多只有湯毛毛一位老師,但是我們還是很重視對她的成長。為了使她能盡快進入教師角色,更好地促進她的專業(yè)成長,我校采取了以下措施:1、以老帶新,促其成長。每一位新教師到我校后,學(xué)校都會指派一位有經(jīng)驗的老教師來帶,目的是通過一對一
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公共衛(wèi)生學(xué)考試試題及答案
- 高一英語句型過去進行時專題講解
- 高中英語語法從句的識別與用法講解教案
- 中國歷史上的文學(xué)巨匠:高中語文拓展教學(xué)教案
- 上海靜安區(qū)高一(下)期末語文試題及答案
- 高一(上)英語階段檢測卷一
- 秋天的田野描繪家鄉(xiāng)秋色的寫景(9篇)
- 企業(yè)電子商務(wù)平臺合作運營協(xié)議
- 春節(jié)新鮮事700字作文11篇
- 文化產(chǎn)品代理銷售及分成協(xié)議
- 國開本科《人文英語3》期末機考總題庫及答案
- 高中數(shù)學(xué)復(fù)習 導(dǎo)數(shù)壓軸大題歸類 (原卷版)
- 臨床糞便隱血
- 空乘禮儀知識培訓(xùn)課件
- 小學(xué)數(shù)學(xué)教育中的家國情懷培養(yǎng)路徑
- 國家電力投資集團有限公司介紹
- 定額〔2025〕3號文-關(guān)于發(fā)布2023版西藏地區(qū)電網(wǎng)工程概預(yù)算定額價格水平調(diào)整的通知
- 醫(yī)院結(jié)核感染培訓(xùn)
- 2025年廣東省廣州市花都區(qū)交通局建管中心招聘14人歷年高頻重點提升(共500題)附帶答案詳解
- 臨床心內(nèi)科主任競聘稿
- 電動工器具安全使用培訓(xùn)
評論
0/150
提交評論