




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言-職工檔案治理系統(tǒng)C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:職工檔案治理系統(tǒng)設(shè)計(jì)專業(yè):電子信息科學(xué)與技術(shù)學(xué)號(hào):3080422*班級(jí):2021級(jí)1班姓名:*指導(dǎo)教帥:*.吻格ft/次字2021年春季學(xué)期C語言課程設(shè)計(jì)任務(wù)書4題目:職工檔案治理系統(tǒng)設(shè)計(jì)功能:職工檔案治理系統(tǒng)設(shè)計(jì),每個(gè)職工是一條記錄,包括編號(hào),姓名,性別,出生年月,所在部門,職稱,工資級(jí)別、 等.系統(tǒng)可實(shí)現(xiàn)以下功能:1、輸入功能:輸入每一位職工記錄,將其信息存入文件中.2、顯示功能:完成全部職工記錄的顯示.3、 查找功能:完成按編號(hào)或姓名查找職工的相關(guān)記錄,并顯示.分步實(shí)施:1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話的界面,確定函
2、數(shù)個(gè)數(shù).2、建立一個(gè)文件,將每位職工的信息寫入文件中并能顯示丁屏幕上.3、完成上述查找編號(hào),姓名,性別等、修改等功能.4、進(jìn)一步要求,修改記錄設(shè)置密碼操作.要求:1、用C語言實(shí)現(xiàn)程序設(shè)計(jì);2、利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)職工信息的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)3、 系統(tǒng)的各個(gè)功能模塊要求用函數(shù)的形式實(shí)現(xiàn);4、 界面友好良好的人機(jī)交五,程序加必要的注釋.課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告要求1、 預(yù)習(xí)報(bào)告:題目、課程設(shè)計(jì)任務(wù)、數(shù)據(jù)結(jié)構(gòu)、程序的總體設(shè)計(jì)算法、模塊劃分.2、實(shí)驗(yàn)總結(jié)報(bào)告:流程圖、主要源程序代碼需打印、測試情況及調(diào)試中問題與解決方案、小結(jié)等.總評(píng)成績:指導(dǎo)教師:附件:主要源程序代碼職工檔案治理系統(tǒng)char sex;/ 性別f為女m
3、為男#include <stdio.h>#include <string.h> #include <stdlib.h> #include <conio.h> #define N100typedef struct employee/職工根本情況 char num6;/ 編號(hào)char name8;/ 姓名char birth8;/ 出生年月char workplace10;/工作部門char salarylevel8;/ 工資級(jí)別char position8;/ 職稱char tel16;/ emN;/*主要函數(shù)*/void input;/輸入職工信
4、息void display();/顯示職工信息void passWord();/ 設(shè)置密碼void save();/ 保存職工信息void change();/修改職工信息/*查找函數(shù)*/void search();void searchByname();/按姓名查找void searchBynum();/按編號(hào)查找int total=0;/ 定義 total 來記數(shù)記錄數(shù) int i=0;void main()int choice;doprintf("n"/系統(tǒng)歡送界面printf"歡送進(jìn)入職工治理系統(tǒng)n"printf("n");p
5、rintf("Coyote 2021年 6 月 n");printf("n");printf"請(qǐng)您選擇操作類型:n"printf("n");printf" 1.輸入職工信息n"/ 用戶選擇printf" 2.顯示職工信息n"printf" 3.查找職工信息n"printf" 4.修改職工信息n"printf(" 0. 退出系統(tǒng) n");printf("= n");scanf("%d&qu
6、ot;,&choice);switch(choice)case 1:input();break;case 2:display();break;case 3:search();break;case 4:change();break;case 0:printf(-謝謝使用!再見!");exit(0);/ 退出系統(tǒng)default:printf("輸入有錯(cuò)誤請(qǐng)重新輸入:");return;while(1);/ 當(dāng)為真值時(shí)執(zhí)行do循環(huán)void input()char j='0'/ 初始化j值為空do(total+;i+;printf("第樸
7、職工:n",i);printf(-請(qǐng)您輸入編號(hào):");/輸入編號(hào)scanf("%s",emi.num);printf(-請(qǐng)您輸入姓名:");/輸入姓名scanf("%s",);printf(-請(qǐng)您輸入性別以(m男f女):");/ 輸入性別getchar();scanf("%c",&emi.sex);printf(-請(qǐng)您輸入出生年月(格式如:1990.03): ");/ 輸入出生年月scanf("%s",emi.birth);printf(-請(qǐng)
8、您輸入工作部門:");/ 輸入工作部門scanf("%s",emi.workplace);printf(-請(qǐng)您輸入職位:");/輸入職位scanf("%s",emi.position);printf(-請(qǐng)您輸入工資級(jí)別:");/ 輸入工資級(jí)別scanf("%s",emi.salarylevel);printf("請(qǐng)您輸入聯(lián)系 :");/ 輸入聯(lián)系 scanf("%s",emi.tel);printf(-是否繼續(xù)輸入?(y/n):");getchar();j
9、=getchar();while(j!='y'&&j!='n')(printf(" 輸入不合法n是否繼續(xù)輸入?(y/n):");getchar();j=getchar();while(j='y');save();/ 保存職工記錄printf("輸入完畢,請(qǐng)按任意鍵返回n ");getch();/conio庫函數(shù)里的,結(jié)收鍵盤輸入任意return;void save()(FILE *fp;int i=0;if(fp=fopen("employee.txt","ab
10、")=NULL)(printf("cannot open filen");return;for(i=1;i<=total;i+)if(fwrite(&emi,sizeof(struct employee),1,fp)!=1)printf("file write errorn");fclose(fp);void display()/ 顯示所有職工信息(FILE *fp;int i;if(fp=fopen("employee.txt","rb")=NULL)(printf("文件翻開失
11、敗或未創(chuàng)立文件n");return;printf("所有職工信息如下:n");/ 輸出所有職工信息printf("n=n");printf(-編號(hào)姓名性別出生年月 所在部門職稱工資級(jí)別聯(lián)系 n");printf("=n");for(i=1;fread(&emi,sizeof(struct employee),1,fp)!=0;i+)/讀完所有數(shù)據(jù)printf("%- 6s%8s%6c%12s%10s%8s%8s%18sn",emi.num,,emi.sex,emi.bir
12、th,emi.workplace,emi.position,emi.salarylevel,emi.te l);printf("完畢,請(qǐng)按任意鍵返回n ");getch();fclose(fp);return;void search()int choice;printf("請(qǐng)您選擇查找方式:n");printf("1. 按編號(hào)查找n 2.按姓名查找n");scanf("%d",&choice);switch(choice)case 1:searchBynum();break;case 2:searchByn
13、ame();break;default:printf("輸入有誤,請(qǐng)重輸入:n");void searchBynum()FILE *fp;int i;char numb6;if(fp=fopen("employee.txt","r")=NULL)(printf("不能夠翻開這個(gè)文件,請(qǐng)按任意鍵返回");return;printf(-請(qǐng)您輸入要查找的人的編號(hào):");scanf("%s",numb);for(i=0;i<N;i+)/在所有信息中查找符合要求的職工信息if(strcmp
14、(emi.num,numb)=0) /找到并顯示該職工記錄(printf("以下是您要查詢的人的信息:n ");printf("n=n");printf(-編號(hào)姓名性別出生年月 所在部門職稱工資級(jí)別聯(lián)系 n");printf("=n");printf("%-6s%8s%6c%12s%10s%8s%8s%18sn",emi.num,,emi.sex,emi.birth,emi.workplace,emi.position,emi.salarylevel,emi.tel);printf(&qu
15、ot;查找完畢,請(qǐng)按任意鍵返回n ");getch();fclose(fp);return;printf("沒有這樣的人,請(qǐng)按任意鍵返回n");getch();fclose(fp);return;void searchByname()(FILE *fp;int i=0;char nam8;if(fp=fopen("employee.txt","rb")=NULL)(printf("不能夠翻開這個(gè)文件,請(qǐng)按任意鍵返回n");return;printf(-請(qǐng)您輸入要查找的人的姓名:");scanf(
16、"%s",nam);for(i=0;i<N;i+)if(strcmp(,nam)=0) /找至 U并顯示該職工記錄(printf("以下是您要查詢的人的信息:n ");printf("n=n");printf(- 編號(hào)姓名性別出生年月 所在部門職稱工資聯(lián)系 n");級(jí)別printf("=n");printf("%-6s%8s%6c%12s%10s%8s%8s%18sn",emi.num,,emi.sex,emi.birth,emi.workplac
17、e,emi.position,emi.salarylevel,emi.tel);fclose(fp);printf(" 查找完畢,請(qǐng)按任意鍵返回n ");getch();return;printf(" 沒有這樣的人,請(qǐng)按任意鍵返回n ");getch();fclose(fp);return;void passWord()char passWord8="123456"/起始密碼char s8;int flag=0;int n=3;/ 密碼輸入次數(shù)do(scanf("%s",s);if(strcmp(passWord,
18、s)=0)/ 假設(shè)密碼正確(printf(" 密碼正確,祝您操作愉快n ");flag=1;break;else(printf("密碼錯(cuò)誤,您還有以時(shí)機(jī):",n-1);n-;/次數(shù)記數(shù)while(n>0);if(flag!=1)(printf("您的輸入次數(shù)已到!再見!n ");main();/返回主函數(shù)(主菜單)void change()(FILE *fp;int i;char newnum6;/ 新編號(hào)char newname8;/ 新名字char newsex;/ 新性別char newbirth8;/ 新出生年月char
19、 newworkplace10;/新工作部門char newposition8;/ 新職稱char newsalarylevel8;/新工資水平char newtel16;/ 新 號(hào)char nam8;int choice;printf("請(qǐng)您輸入密碼:");passWord();/調(diào)用密碼函數(shù)printf("請(qǐng)您輸入要修改的人的姓名:");scanf("%s",&nam);if(fp=fopen("employee.txt,"w+")=NULL)printf("不能夠翻開這個(gè)文件&qu
20、ot;);return;for(i=1;i<=N;i+)if(strcmp(nam,)=0)printf" 這是您要修改的人的信息:n"printf"n=n";printf- 編號(hào)姓名性別出生年月 所在部門職稱工資級(jí)別聯(lián)系 n"printf"=n";printf"%-6s%8s%6c%12s%10s%8s%8s%18sn",emi.num,,emi.sex,emi.birth,emi.workplace,emi.position,emi.salarylevel,emi
21、.te l;printf"n "printf"請(qǐng)您選擇要修改的局部:n"printf"=n "printf"1.修改編號(hào) n "printf"2.修改姓名 n "printf"3.修改性別 n "printf"4.修改出生年月n"printf"5.修改所在部門n"printf"6.修改職位 n "printf"7.修改工資級(jí)別n"printf"8.修改聯(lián)系 n"printf&q
22、uot;0.返回主菜單n "printf"=n "scanf("%d",&choice);switch(choice)(case 1: printf("請(qǐng)您輸入新的編號(hào):");scanf("%s",newnum);strcpy(emi.num,newnum);break;case 2: printf("請(qǐng)您輸入新的姓名:");scanf("%s",newname);strcpy(,newname);break;case 3: printf(&
23、quot;請(qǐng)您輸入新的性別:");getchar();scanf("%c",&newsex);emi.sex=newsex;break;case 4: printf("請(qǐng)您輸入新的出生年月:");scanf("%s",newbirth);strcpy(emi.birth,newbirth);break;case 5: printf("請(qǐng)您輸入新的工作部門:");scanf("%s",newworkplace);strcpy(emi.workplace,newworkplace);break;case 6:printf"請(qǐng)您輸入新的職位:"scanf("%s",newposition);strcpy(emi.position,newposition);break;case 7:printf("請(qǐng)您輸入新的工資級(jí)別:");scanf("%s",newsa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 股東入股合作協(xié)議是
- 寫字樓租賃項(xiàng)目合同范本
- 小作坊工作合同范本
- 保利地塊鄭州項(xiàng)目(公寓+商業(yè)+住宅)投標(biāo)方案設(shè)計(jì)
- 租賃住房并購合同范本
- 廠房道路維修合同范本
- 賣汽車加盟合同范例
- 養(yǎng)殖服務(wù)協(xié)議合同范本
- 合作顧問合同范本
- 勞務(wù)合同范本小程序
- 口腔綜合治療臺(tái)用水衛(wèi)生管理規(guī)范
- 高三英語語法填空專項(xiàng)訓(xùn)練100(附答案)及解析
- 2024年湖南省長沙市中考數(shù)學(xué)試題(含解析)
- 航空航天標(biāo)準(zhǔn)與認(rèn)證互認(rèn)
- 心理課教案自我認(rèn)知與情緒管理
- 車站信號(hào)自動(dòng)控制課件:進(jìn)站信號(hào)機(jī)點(diǎn)燈電路
- 民用無人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題庫500題(含答案)
- GB/T 6553-2024嚴(yán)酷環(huán)境條件下使用的電氣絕緣材料評(píng)定耐電痕化和蝕損的試驗(yàn)方法
- 瀝青基材料在石油化工設(shè)備熱絕緣中的開發(fā)
- 中職旅游專業(yè)《中國旅游地理》說課稿
- 煤層底板采動(dòng)破裂深度壓水
評(píng)論
0/150
提交評(píng)論