下载此文档

职工信息管理系统C语言课程设计+源代码.pdf


文档分类:IT计算机 | 页数:约43页 举报非法文档有奖
1/43
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/43 下载此文档
文档列表 文档介绍
该【职工信息管理系统C语言课程设计+源代码 】是由【青山代下】上传分享,文档一共【43】页,该文档可以免费在线阅读,需要了解更多关于【职工信息管理系统C语言课程设计+源代码 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..C语言课程设计+源代码课程:高级语言课程设计学号:姓名:班级:教师:时间:设计名称:职工信息管理系统设计内容、目的与要求::..C语言的基本知识和编辑技能,基本掌握结构化程序设计的基本思路和方法。通过编写职工信息管理系统,便于对职工的信息进行管理,训练综合运用函数的自定义,数组,结构体等,并提高程序设计的能力。要求:设计一个职工信息管理系统,提供以下功能:。:职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。:完成对全部职工信息的显示。:按职工的职工号查询职工的相关信息,并显示。②按职工的学历查询职工的相关信息,并显示。:..:①通过输入职工的姓名完成对该名职工的信息进行删除。②通过输入职工号完成对该名职工的信息进行删除。:完成添加新职工的信息的任务。:①通过输入职工的姓名完成对该名职工的信息进行修改。②通过输入职工号完成对该名职工的信息进行修改。。计划与进度安排::..201212月8日至2012年12月15日:仔细研究数据库相关知识,通过上网查资料找思路。2012年12月16日至2012年12月20日:完成设计思路并作出草稿,编写主函数和各调用函数模块。2012年12月21日至2013年1月1日:逐步实现各模块的功能化,实现整个程序大体功能。2013年1月2日至2013年1月6日:修改并完善各功能,编写电子实验报告,并准备提交验收。设计过程、步骤:一、:..:..、。typedefstructemployee{charname[20];//姓名charnum[10];//职工号charsex[5];//性别:..chartel[20];//联系电话charxueli[20];//学历EMPLOYEE;:voidmenu();//菜单函数voidinput();//录入函数voidsave(intm);//保存文件函数voiddisplay();//浏览函数voiddel();//删除函数voiddel_name();//按姓名删除函数voiddel_num();//按职工号删除函数voidadd();//添加函数voidsearch();//查询函数voidsearch_num();//按职工号码查询函数voidsearch_xueli();//按学历查询函数voidsearch_tel();//按号码查询函数voidmodify();//修改函数:..voidmodify_name();//,使用do。while和switch语句实现:intflag=0;intn;do{请选择功能:录入职工信息浏览职工信息查询职工信息删除职工信息添加职工信息修改职工信息退出程序。&n);if(n。=1&&n<=7){flag=1;break;:..flag=0;while(flag==0);switch(n){case1:输入职工信息input();break;case2:浏览职工信息display();break;case3:查询职工信息search();break;case4::..break;case5:添加职工信息add();break;case6:修改职工信息modify();break;case7:exit(0);break;default:break;:..信息,查询职工信息,修改职工信息,添加职工信息,删除职工信息。voidinput(){录入职工信息voidsave(intm){保存文件voiddisplay(){浏览职工信息voiddel(){删除职工信息:..voiddel_num(){按职工号删除职工信息voidadd(){添加职工信息voidsearch(){查询职工信息voidsearch_num(){按职工号码查询职工信息:..voidsearch_tel(){按号码查询职工信息voidmodify(){修改职工信息voidmodify_num(){按员工号修改职工信息voidmodify_name(){按姓名修改职工信息:..结果与分析:该职工信息管理系统实现了对职工信息的增加、删除、浏览、查询和修改等简单功能。优点是实现了多种多样的功能,提供了三种查询、两种删除和修改方式,且使用了旗帜变量和结构体等,程序简单易懂。缺点是保存职工信息有限,程序段比较臃长。使用说明及运行实例:,进入职工信息管理系统的主菜单,如图1所示。,如图2所示。“y”返回主菜单(界面同图1)。“2”浏览职工信息,如图3所示。“y”后继续,输入“3”进行查询职工信息,如图4、5、6所示。,输入“4”进行删除职工信息,如图7、8所示。:..进行添加职工信息,如图9所示。“6”进行修改职工信息,如图10、11所示。”7”退出职工信息管理系统,如图12所示。设计体会与建议:通过这次的课程设计,我更加了解C语言,学会更好的使用C语言函数调用和结构体等,把学过的知识运用于实践中,而不仅仅停留于对课本的单纯理解。这次设计也让我知道我懂的太少,要研究的东西还有很多。想完成一项功能就要用很复杂的语句去实现,所以整个程序变得很长、复杂,但是结构体、数组、指针等的灵活运用又可使程序变得易懂。另外,团队的合作也是成功的一部分。在编写代码时一开始没有运用有意义的函数名和变量,结果找起来和修改好麻烦,也使别人看不懂。在整个课程设计中,我认为最重要的就是耐心和细心。细心,就是在编写过程中注意拼写,仔细编写程序;耐心,就是程序编译中出现很多错误:..然在整个过程中出现了不少错误,但最终还是圆满完成了,此次程序设计的经历让我学到了太多,以前好多不懂的也都理解了。也学会了作为大学生我们也应该学会不仅从课堂上研究知识,还应该学会自学。附录:include//标准输入输出函数库include//字符串函数库voidcreate(){intm;请输入职工人数。&m);for(inti=<m。i++){请输入第%d个职工的信息:。i+1);请输入职工号。&employee[i].id);请输入姓名。employee[i].name);:..。请输入年龄。&employee[i].age);请输入学历。employee[i].xueli);请输入工资。&employee[i].wage);请输入住址。employee[i].addr);请输入电话。employee[i].tel);创建完毕save(m);voidsave(intm){FILE*fp;:..for(inti=<m。i++){if(fwrite(&employee[i]。sizeof(structemployee)。)。=1)fclose(fp);intload(){FILE*fp;inti=0;。exit(0);else{:..fread(&employee[i]sizeof(structemployee)。);i++;while(feof(fp)==0);fclose(fp);return(i-1);voiddisplay(){intm=load();职工号姓名性别年龄学历工资住址电话for(inti=<m。i++){。employee[i].id。employee[i].name。employee[i].sex。employee[i].age。employee[i].xueli。employee[i].wage。employee[i].addr。employee[i].tel);Employee*employee=loadEmployees();:..intflag=1;intnumn。t;请输入要删除的职工号:。&num);for(i=<m。i++){if(employee[i].num==num){flag=1;姓名:%s职工号:%d性别:%s年龄:%d学历:%s工资:%f地址:。employee[i].name。employee[i].num。employee[i].sex。employee[i].age。employee[i].xueli。employee[i].wage。employee[i].addr。employee[i].tel);确实要删除此人信息请按1,不删除请按。&n);if(n==1){for(j=i。j<m-++){employee[j]=employee[j+1];flag=0;:..break;if(flag==0){m--;else{浏览删除后的所有职工信息:___(employee。m);displayEmployees(employee。m);不在删除请按0,返回删除菜单请按1,继续按姓名删除请按。&t);switch(t){case0:main();break;case1::..break;case2:del_name();break;default:break;switch(t)case0:main();break;case1:del();break;case2:break;default::..voidadd()//FILE*fp;intn;intcount=0;inti;intm=load();原来的职工信息display();请输入想增加的职工数for(i=m;i<(m+n);i++)请输入新增加职工的信息:..请输入姓名请输入性别(f--女m--男请输入年龄请输入学历请输入工资请输入住址请输入电话count=count+1;:..添加完毕m=m+count;浏览增加后的所有职工信息save(m);display();fclose(fp);voidsearch()//查询函数intt,flag;do按职工号查询按姓名查询按性别查询:..按学历查询按工资查询按住址查询按电话查询返回上一级请选择查询方式switch(t)case0:break;case1:search_num();break;case2:search_name();break;case3::..break;case4:search_age();break;case5:search_xueli();break;case6:search_wage();break;case7:search_addr();break;case8:search_tel();break;default:,请重新输入flag=0;:..while(!flag);voiddel()//intnum,i,j,k,m;m=load();请输入要删除的职工号for(i=0;i<m;i++)if(employee[i].num==num)for(j=i;j<m-1;j++)employee[j]=employee[j+1];m=m-1;:..display();return;职工号不存在请输入要查找的学历charxueli[20];inti,m=load();intflag=0;for(i=0;i<m;i++)if(strcmp(employee[i].xueli,xueli)==0)flag=1;已找到此人,其记录为:职工号姓名性别年龄学历工资住址电话:..employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);if(flag==0)对不起,查无此人不在查询请按0,返回查询函数请按1,继续查询学历请按intt;switch(t)case0:main();break;case1:search();break;case2:search_xueli();break;;:..voidsearch_tel()//请输入要查找的电话号码chartel[20];inti,m=load();intflag=0;for(i=0;i<m;i++)if(strcmp(employee[i].tel,tel)==0)flag=1;已找到此人,其记录为:职工号姓名性别年龄学历工资住址电话sex。employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);:..if(flag==0)不在查询请按0,返回查询函数请按1,继续查询电话号码请按intt;switch(t)case0:main();break;case1:search();break;case2:search_tel();break;;请按以下操作进行:不修改请按0;修改姓名请按1;修改性别请按2;修改年龄请按3;修改学历请按4;修改工资请按5;修改住址请按6;修改电话请按:..case0:break;请输入修改后的性别:请输入修改后的年龄:请输入修改后的学历:请输入修改后的工资:请输入修改后的住址:请输入修改后的;:..职工号姓名性别年龄学历工资住址电话[i].addr,employee[i].tel);是否继续修改?继续修改请按1,返回上级菜单请按if(n==2)break;没有找到此人,请重新输入!save(m);//保存修改后的记录voidmodify_name()//按姓名修改函数charname[20];charsex;intage;charxueli[30];intwage;:..chartel[20];intb,c,i,n,t,flag;intm=load();display();//调用浏览函数请输入要修改的职工的姓名for(flag=1,i=0;flag&&i<m;i++)if(strcmp(name,employee[i].name)==0)//比较两个字符串。已找到此人,原始记录为:职工号姓名性别年龄学历工资住址电话ex,employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);请按以下操作进行::..;修改姓名请按1;修改性别请按2;修改年龄请按3;修改学历请按4;修改工资请按5;修改住址请按6;修改电话请按switch(t)case0:break;请输入修改后的姓名:请输入修改后的性别:请输入修改后的年龄:请输入修改后的学历:请输入修改后的工资:请输入修改后的住址::..修改后的职工信息:职工号姓名性别年龄学历工资住址电话sex,employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);是否继续修改?继续修改请按1,返回上级菜单请按if(n==2)break;没有找到此人,请重新输入!save(m);//保存修改后的记录for(inti=0;i<n;i++):..flag=1;:%d姓名:%s性别:%c年龄:%d学历:%s工资:%d住址:%s电话。employee[i].num,employee[i].name,employee[i].sex,employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);(n==1)(c>8||c<1)选择错误,请重新选择flag=0;:..if(flag==1)doswitch(c)case1:职工号改为employee[i-1].num=num;break;case2:姓名改为strcpy(employee[i-1].name,name);break;case3:性别改为:..employee[i-1].sex=sex;break;case4:employee[i-1].age=age;break;case5:学历改为strcpy(employee[i-1].xueli,xueli);break;case6:工资改为employee[i-1].wage=wage;break;case7::..break;case8:电话改为strcpy(employee[i-1].tel,tel);break;default:选择错误,请重新选择break;while(c>8||c<1);修改成功需要进行修改的选项有:职工号、姓名、性别、年龄、学历、工资、住址、电话。请根据需要修改的选项输入相应的序号。:..到8之间,则会提示选择错误并要求重新输入。接下来,程序会遍历所有职工的信息,查找是否存在需要修改的职工。如果找到了需要修改的职工,则程序会进入循环,让用户输入修改后的信息,并询问是否确定修改。如果用户确认修改,则程序会将修改后的信息赋值给该职工。如果找不到需要修改的职工,则程序会提示查无此人。需要注意的是,由于在遍历职工信息的过程中,程序会将i自加1,因此在修改职工信息时,应该将修改后的信息赋值给第i-1个职工。浏览修改后的所有职工信息:save(m);display();如果不想继续修改,请按0;如果想返回修改函数,请按1;如果想继续修改职工姓名,请按2.:..&t);switch(t){case0:main()。break;case1:modify()。break;case2:break;default:break;

职工信息管理系统C语言课程设计+源代码 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数43
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小2.72 MB
  • 时间2024-04-13