版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告(本科)课程:高级语言课程设计学号:名:班级:教师:时间:计算机科学与技术系设计名称:职工信息管理系统 设计内容、目的与要求:语言的基本知识和编辑技能。基本掌握结构化程序FWT要求熟练掌握语言职 工信息管理系统,便于对职c设计的基本思路和方法。通过编写学生的语言信息 管理系统设计,训练综合运用函数c工的信息进行管理。通过对职工的自定义, 数组,结构体等,并提高程序设计的能力。要求:设计一个职工信息管理系统, 使之能提供以下功能:调用界面和各个功能的操作界面应,1、应提供一个界面来 调用各个功能!尽可能清晰美观、输入功能:职工信息录入(职工信息用文件保存),可以一次 完成若2干条记录
2、的输入。:完成对全部职工信息的显示。3、浏览功能:完 成按职工的职工号查询职工的相关信息,并显示。4、查找功能 完 成按职工的学历查询职工的相关信息,并显示。 完成按职工的电话 号码查询职工的相关信息,并显示。:通过输入职工的姓名完成对该名职工的 信息进行删除。5、删除功能通过输入职工号完成对该名职工的信息进行删 除。:完成添加新职工的信息的任务。6、添加功能通过输入职工的姓名完成 对该名职工的信息进行修改。7、修改功能:通过输入职工号完成对该名职工 的信息进行修改。、退出职工信息管理系统8。计划与进度安排:通过上网查仔细看数据库相关知识,日2012年12月152012年12月8日至 资 料找
3、思路。把主函数 完成设计思路并作出草稿,月20日20122012年12月16 日至年12和各调用函数模块编出来。把整个程逐步实现各模块的功能化,日 2013年1月1日至年201212月21序大体功能都实现。写好电子实验报修改并 完善各功能,1日至2013年月6日212013年月并准备提交验收。告,设计过程、步骤(可加页):一.功能结构统管理系职工信息开始菜单择选入的值根据菜单输序程7 6 5 4 3 1 2修改添加查询删除录入浏览退出职工职工职工职工职工职工信息信息信息信息信息 信息2212131按按按按按按按职职号职职职学工工码历工工工姓查查号号姓号名查询 删修询名修询除改删除改二、设计说明
4、.这个程序要用到结构体1. struct employee函数的声明和调用:2.菜单函数void menu();录入函数void input();/保存文件函数/void save(int m);浏览函数void display();/删除函数void del();按姓名删除函数void del_name();按职工号删除函数void del_num();添加函数/void add();查询函数/void search();按职工号码查询函数/void search_num();按学历查询函数/void search_xueli();按号码查询函数/void search_tel();/修改函
5、数void modify();按员工号修改函数void modify_num();按姓名修改函数/void modify_name();是进行循环的,do.while语句和switch, 3.选择功能,用到了 do.while是用 来选择的switchdo(if(n=1&n=7)(flag=1;break;else(flag=0;!);,请重新选择抽潼晴尨您输入有误while(flag=0);switch(n) ();printf();input();break;输入职工信息、case 1:printf();printf();display();break;浏览职工信息 case 2:prin
6、tf();printf();search();break;查询职工信息case 3:printf();printf();del();break;删除职工信息 case 4:printf();printf();add();break;添加职工信息 case 5:printf();printf();modify();break;修改职工信息case 6:printf(case 7:exit(0);break;default :break;定义的函数完成功能的实现:录入职工信息,浏览职工信息,查询职工信4.息, 修改职工信息,添加职工信息,删除职工信息。执行程序。5.3图1:进入主菜单界”进行录入职
7、工信息2.输入数字“ 1输入职工信息n男置3713 5i .I I 1: -号:0 0 5 M堂乂科丽可75 王K加本11五15 : -n.- M_L靠蛤后坦谕 联姓厚学工住医 心人入*人人入. .4+:ir4.-:lw用 4rr+:ir-Kfr-krr+#F)F:kCT信息尝坦系统课程设ktADebug出田hengs岫:录入职工信息图2。y3.输入“”返回主菜单(界面同图1):职浏2入4.输“”览工息信4谢诚悚用命例:疝胆. 是否S座凝进*亍3rbcnjju J1UUU ;H王寄 切:111 管师 n 26请再次选择怖需要操作的步骤f 1m =i-=MG 薛 yxxA 商IID3 :浏览职工
8、信息图3输入“y”后继续,输入“”进行查询职工信息:5.一 F :壬语言眼工启息胃咨统诔程设冶Deb ug-kech e ngs heji.exe自jjs.l.一 E=E!工、职职请再次M择你需要操作的步策呗3查询恕工信息垸取工号查询-4fei;按学力查询浦按舞博巨诂号码查询清按为进入主函数清按4拦取丁号杳倾请输入要查世王取工号,10已找到此人,其记录如职工号姓君启!年申学历二夷11址电活11M 王汩 m 观 本科 11UMU 五河 157bblB171b不在查询请按孔返回查询函数请按继续查职工号请按W半:按职工号查询职工信息图4Egg言职工信息管坦系统诔程设计WebugkMhenglwjWM
9、b按职.丁号杳甸 请输入要查找茉朋工号,110年壁学历二资住址电话110 工洎本辛L11003 五:口.在查海请按脂反同查询函数请按1催域查询眼丁号请按?核耳七L号查询青囹;拘学万查询清捶2;拶曰,苛号他查酋清技3;进入主函教请妆4 2险学历查询已找到,其记录为:职工号姓名性迪年I110 +汨 m 26.学蠢二宰河骤5麒隼段入要查找的学P?彳在查黄请按孔退回查询函敖请按n窒续查询毛历请按2 .:按字历查询职工信息5输主6.进入菜单,入“4:按电话号码查询职工信息图6:信息除进行删职工”F:OS言既口言息司篓统诔程卧 Debugl&5eng5gi.exb抨学用杳询 gx
10、.要查找茉学历已找到.其记录为, 耿工号,姓它 110 工狷 |年壁学历二资住址电话本辛L11003 五:口.在查海请按脂反同查询函数请按1催域查询学历清扮核耳七L号查询青囹;拘学万查询清捶2;拶曰,苛号他查酋清技3;进入主函教请妆4 腐电话号码查询A要查找的电话号用争清找到此入,其职工号 一110 +汨 m学蠢二宰河骤5麒彳在查黄请按勤退回查询函敖请按L窒续查询以诂号码请按2 .原来的职工信息: 职工号姓名 110 干汩 mM普岫二*河祟L黑%土学蠢二翥骤5麒按姓名删除清投卷迁A主凶数清抬浏樱后鬻嘱息晶学历工资住址电话Ft:剔除请按孔返回删
11、除茉臣清按l储续技姓之删除请按a半:-F:gs言眼工启息蓉坦系统诔程设冶Debug*l5Egsg2xb年d0 月2 性年sinj- 0J HS 2记 m 始名膏m7图:按姓名删除职工信息F:OS言既口言息司篓统诔程设冶Debugl&thEgsgi.exb回lMIll号删除S=一_加 JTFP-& 嗥号 的 0 1 来联1111 IK-括姓名删除诘技家避人主函敬请技3性玖年年学比I一资任址电话26本串.11003五河157551817152ben he11030油旦H0- 02亍.生录4年探学历 二资bcnkc 11030 ?四昙住址电话1S37E351774浏葡饕后曜
12、缨职卷新息牟学历 工资 住址电话110王、|:同E 20 本辛斗 11003 五争可 157551S1715F住删除请按土返回攻院菜单请按续技职二号删除请快:按职工号删除职工信息图8 :职添进5入单主进7.入菜输“ ”行加工息信6潘如完毕,浦!.中典 罪打 -ttJiJ I ,奖顷 li Ji. Hlii1-声输入想增tin的职匚古虹蹒入新增加职工的信息;. F=职工M皂.官理累洗避您设计七口七匕Eheji-xeL? djT型鬻- _c_ - - a- -.,前版77苻坦.In王trn.3T-叫冠颈.业X2#TA1S#I青商点土5|!*奇.:添加职工信息图9:工信息”进行修改职6单进8.入主菜
13、输入:按姓名修改职工信息10图 F 语言既L官息言坦垂貌诔任殳计中曲ugVceche ngshei. exe:HJ- 0 hMJ-ms 2 一平己 1取工号顶110 土润:不修改清按的鬻要迷行修改的选项_L明工号矶连名L性弓lj 4年龄L学力J工赏上址矶电话 青输入你想修改的那一顼序号::111单定麻修改尴怎弟、士 青按1 :案亘新穆改请按H咪上号姓名性别年111ID 20字历 工资 住址电话科 1103S五河157S5181715| /叮L退出系统图12:优点是:基本实现了程序的多功能,对与查询职工信息提供了三种方法,对与修改和删除职工信息提供了两种方法,功能多种多样。旗帜变量 的使用也是优
14、点之一;这个程序用到了的结构体,整个程序简单,易懂。缺点 是:保存职工信息有限,程序段比较臃长。设计体会与建议:语言函数调语言,学会更好的使用C通过这次的课程设计,我更加了解C用和结 构体等,把学过的知识运用于实践中,而不仅仅停留于对课本的单纯理要学习的 东西还有很多。想完成一项功能解;这次设计也让我知道我懂的太少,就要用很 复杂的语句去实现,所以整个程序变的很长,复杂,但是结构体,数组,指针等 的灵活运用又可使程序变的易懂。另外,团队的合作也是成功的一部分!结果 找起来和修改,在编写代码时一开始没有运用有意义的函数名和变量我认为最重 要的就是耐心和细心。,也使别人看不懂。在整个课程设计中,好
15、麻烦细心,就 是在编写过程中注意拼写,仔细编写程序;耐心,就是程序编译中出现很多错 误的时候能够耐心去修改,只有这样,才能很好的完成程序。虽然在整个过程中 出现了不少错误,但最终还是圆满完成了,此次程序设以前好多不懂的也都理解 了。也学会了作为大学生我,计的经历让我学到了太多们也应该学会不仅从课堂 上学习知识,还应该学会自学。8附录:#include/标准输入输出函数库#include字符串函数库#includestruct employee(int num;/职工号姓名/char name20;性别/char sex;年龄/int age;学历/char xueli30;工资/int wag
16、e;家庭住址/ char addr30;联系电话/ char tel20;定义一个结构体/employee100;/函数主体int main()菜单函数void menu();/录入函数void input();/保存文件函数void save(int m);/浏览函数void display();删除函数/ void del();按姓名删除函数void del_name();按职工号删除函数/void del_num();添加函数/void add();查询函数/ void search();按职工号码查询函数void search_num();按学历查询函数void search_xuel
17、i();/按号码查询函数void search_tel();修改函数/void modify();按员工号修改函数/ void modify_num();按姓名修改函数/void modify_name();int n,flag;char a;menu();(1-7):n);请选择你需要操作的步骤抽潼晴尨scanf(汶do9if(nvn 1 &;&;rKH7)flagnl;break;)elseflag。;苗fiws湍靖s4沛。和酬翠黑一)“ )whiAflagnnox whne(flagHl) sw=ch(n)caserprimn -n);prima);inpH();break; 座 cas
18、e 2 亶 巨;prima);display();break;a*s !im Lm;苗fiws湍*8疆烟旺播血*容蝎 H( 111。) wx scanf汶do&;m);for (H-o;Am;+)苗fiws湍as蝎 H血) scanf(汶 dempoyee 三.num); 苗fiws湍as鼎成X scanf(sompoyee=.name) geichar。;苗袖3湍*8湮(f对 ); scanf(汶r短); scanf(汶 do&;empoyee 三.age); 苗袖3湍*8噬); scanf(汶 sompoyeeuj.xueli); 苗fiws湍asH 扇)“ scanf(汶 do&;emp
19、oyee 三. wage); 苗袖3湍*8宙障); scanf(汶*employ ee 三. add二抽潼晴尨请输入电话:);scanf(%s,employeei.tel);printf();printf(创建完毕!n);save(m);void save(int m) /保存文件函数(int i;FILE*fp;if (fp=fopen(employee_list.txt,wb)=NULL)(printf (cannot open filen);exit(0);for (i=0;i鸨容蝎 1僭primf( 汶 d 汶 s 汶 c 汶 d 汶 s 汶 d 汶 s 汶 s-pempoyee 三.
20、numompoyee 三.name。 employee二 sex。employee 三.ageompoy ee 三.xueFempoyee 三. wageompoyee 三.addr。employee 三-el);void deof重5沙贸僭 iniflag;doprimascanf(汶 di); ifuvnl&;&lAH3) flagnl;break;elseflag。;苗fiws湍靖s4沛、81 0-)whixflagHOXwhne(flagHl)swiichoafflIE食waffiM用蝎 HCIID匡 5沙巨一 delnum();break;a(l)w事逍婚鼎成匡 5沙巨;delnam
21、e();break;case wmam();break;defaulr-rbreak; void del_name()按姓名删除函数(int m=load();int i,j,n,t,flag;char name20;printf(原来的职工信息:n);display(); /调用浏览函数printf();抽潼晴尨请输入要删除的职工的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&im;i+)(if(strcmp(,name)=0)( printf(已找到此人,原始记录为:n);printf( 职工号姓名性别年龄学历 工资 住址电话
22、 n);printf( %d %s %c %d %s %d %s %sn,employeei.num,, employeei.sex,employeei.age,employeei.xueli,employeei.wage,employeei.addr,employeei.tel); printf(确实要删除此人信息请按1,不删除请按0n);scanf(%d,&n);if(n=1)(for(j=i;jm-1;j+)(strcpy(,employeej+1.name);/strcpy(str1,str2)把 str2 指向的字符串复制到 s
23、tr1中去employeej.num=employeej+1.num;employeej.sex=employeej+1.sex;employeej.age=employeej+1.age;strcpy(employeej.xueli,employeej+1.xueli);employeej.wage=employeej+1.wage;strcpy(employeej.addr,employeej+1.addr);strcpy(employeej.tel,employeej+1.tel);/ 把下一员工的信息复制到上一员工信息的位置中去flag=0;14if(!flag)/flag 取逻辑反,
24、及 flag=0m=m-1;elseprintf(对不起,查无此人!n);printf(浏览删除后的所有职工信息:n);save(m);调用保存函数display(); /调用浏览函数printf(不在删除请按0,返回删除菜单请按1,继续按姓名删除请按2n);scanf(%d,&t);switch(t)(case 0:main();break;case 1:del();break;case 2:break;default :break;void del_num()按职工号删除函数(int m=load();int i,j,n,t,flag;int num;printf(原来的职工信息:n);d
25、isplay(); /调用浏览函数printf();抽潼晴尨请输入要删除的职工的职工号:n);scanf(%d,&num);for(flag=1,i=0;flag&im;i+)(if(employeei.num=num)(printf(已找到此人,原始记录为:n);printf( 职工号姓名性别年龄学历 工资 住址电话 n);printf( %d %s %c %d %s %d %s %sn,employeei.num,, employeei.sex,employeei.age,employeei.xueli,employeei.wage,employeei.addr
26、,employeei.tel); printf(确实要删除此人信息请按1,不删除请按0n);scanf(%d,&n);15if(n=1)(for(j=i;jm-1;j+)(strcpy(,employeej+1.name);/strcpy(str1,str2)把 str2 指向的字符串复制到 str1中去employeej.num=employeej+1.num;employeej.sex=employeej+1.sex;employeej.age=employeej+1.age;strcpy(employeej.xueli,employeej+1.xueli);e
27、mployeej.wage=employeej+1.wage;strcpy(employeej.addr,employeej+1.addr);strcpy(employeej.tel,employeej+1.tel);/ 把下一员工的信息复制到上一员工信息的位置中去flag=0;if(!flag)/flag 取逻辑反,及 flag=0m=m-1;elseprintf(对不起,查无此人!n);printf(浏览删除后的所有职工信息:n);save(m);调用保存函数display(); /调用浏览函数printf(不在删除请按0,返回删除菜单请按1,继续按职工号删除请按2n);scanf(%d,
28、&t);switch(t)(case 0:main();break;case 1:del();break;case 2:break;default :break; void add() 添加函数(FILE*fp;int n;int count=0;int i;16int m=load();printf(原来的职工信息:n);display();printf();fp=fopen(emploee_list.txt,a);抽潼晴尨请输入想增加的职工数:n);scanf(%d,&n);for (i=m;i=1&t4沛、81 0-)whixflagHOXwhne(flagHl)swiichoafflI
29、E食waffiM用蝎 HCIIDlt哲 research num();break; a(l)waffi7ltin);searchxuelo;break; afflIEwwa稗(ffiSHCIIDslt皙 research iepbreak; case 4mam();break;defaulr-rbreak;void search num()主用蝎 HCIIDsltini numini LJ-rini mILoado;苗fiws湍asyffllts蝎 H 血scanf(汶 dnum);fbr(H-o;Am;+)18ifmumHempoy ee 三. num)prima印琵些乓、Ma灿苛二n)“p
30、rw( 蝎H血 q畚 s导短普 H扇 宙障(ffiSHprimf( 汶 d 汶 s 汶 c 汶 d 汶 s 汶 d 汶 s 汶 s-pempoyee 三.numompoyee 三.name。 employee二 sex。employee二ageompoyee二.xueFempoyee二.wageompoyeeuLaddrompoyeeuJ.tel); break;if(Tm)prima哥、It斗乓上n);prima)“。际回 LBBlt画蝎 H 血和姬 2-nx scanf(汶 p&l);swiichocasepmam();break;case Lsearchpbreak;case 2. br
31、eak;defaurtbreak;void searchxueloMsRHJIDslt char xueliwOJ;ini LLnno;ini mILoado;苗fiws湍asyffllts噬回scanf(汶 soxueli);fbr(H-o;Am;+)if(sircmp(empoy ee 三. xueFxueliHHO) prima印琵些、Ma灿苛二己prlmf( 蝎H血鼎成ffi湮导短普 H扇 宙障(ffiSH巨; primf( 汶 d 汶 s 汶 c 汶 d 汶 s 汶 d 汶 s 汶 s-pempoyee 三.numompoyee 三.name。employeei.sex,employ
32、eei.age,employeei.xueli,employeei.wage,employeei.addr,employeei.tel);n+;if(i=m&n=m)19printf(对不起,查无此人n);printf();抽潼晴尨不在查询请按0,返回查询函数请按1,继续查询学历请按2n);scanf(%d,&t);switch(t)(case 0:main();break;case 1:search();break;case 2:break;default :break;void search_tel() 按号码查询函数(char tel20;int i, t;int m=load();抽潼
33、晴尨请输入要查找的电话号码:n);scanf(%s,tel);for(i=0;i=1&t=3)(flag=1;break;else(flag=0;抽潼晴尨您输入有误,请重新选择!);while(flag=0);while(flag=1)(switch(t)(f谶攵幺浸械f栗?按职工号修改n);modify_num();break;f谶攵浸械栗?按姓名修改n);modify_name();break;case 3:main();break;default:break;void modify_num() 按员工号修改函数(int num;char name20;char sex;int age;c
34、har xueli30;int wage;21char addr30;char tel20;int b,c,i,n,t,flag;int m=load();printf(原来的职工信息:n);display(); /调用浏览函数printf();抽潼晴尨请输入要修改的职工的员工号:n);scanf(%d,&num);for(flag=1,i=0;flag&i8|c1) printf(选择错误,请重新选择!n);flag=0;if(flag=1)printf(对不起,查无此人!n);do(switch(c)因为当找到第i个职工时,for语句后i自加了 1,所以下面的应该把改后的信息赋值给第i-1
35、个人惯散幺浸械琛?职工号改为:);scanf(%d,&num);employeei- 1.num=num;22break;惯散浸械琛?姓名改为:);scanf(%s,name);strcpy(employeei- 1.name,name); break;惯散?浸械琛?性别改为:);getchar();scanf(%c,&sex);employeei- 1.sex=sex;break;惯散?浸械琛?年龄改为:);scanf(%d,&age);employeei- 1.age=age;break;惯散?浸械琛?学历改为:);scanf(%s,xueli);strcpy(employeei- 1.x
36、ueli,xueli);break;惯散?浸械琛?工资改为:);scanf(%d,&wage);employeei- 1.wage=wage;break;惯散?浸械琛?住址改为:);scanf(%s,addr);strcpy(employeei-1.addr,addr);break;惯散?浸械琛?电话改为:);scanf(%s,tel);strcpy(employeei- 1.tel,tel);break;printf();printf(是否确定所修改的信息?n是请按1 ;不,重新修改请按2: n);scanf(%d,&b);while(b=2);printf(浏览修改后的所有职工信息:n);printf();save(m);display();printf(不在修改请按0,返回修改函数请按1,继续修改职工号码请按2n);scanf(%d,&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供水管网系统优化设计方案
- 艺术设计色彩搭配试题及答案
- 城市照明设备选型与布置方案
- 土壤与岩层工程勘察方案
- 机械厂oqc考试试题及答案
- 食品化验员个人试题及答案
- 2025年版医疗卫生系统公开招聘考试面试题库附答案
- 2025年初中病句考试题及答案
- 会计公务员面试题及答案
- (2025年)大唐杯选择题(答案与解释)
- 2025年低空经济「电力巡检」无人机技术发展与应用分析报告
- 2025重庆铜梁区集中回引一批本土人才到村挂职36人考试模拟试题及答案解析
- 消防水炮方案施工方案
- 化验室安全操作规程完整
- 中华人民共和国突发公共卫生事件应对法
- 管道维修知识培训课件
- 公文写作格式培训
- 机房设备维修服务项目投标方案(技术标)
- 双氧水氧化还原反应专题讲解
- (2025年标准)强奸私了协议书
- 设备需求测试方案模板(3篇)
评论
0/150
提交评论