C语言课程设计职工信息管理系统

上传人:仙*** 文档编号:84894559 上传时间:2022-05-04 格式:DOC 页数:16 大小:130KB
收藏 版权申诉 举报 下载
C语言课程设计职工信息管理系统_第1页
第1页 / 共16页
C语言课程设计职工信息管理系统_第2页
第2页 / 共16页
C语言课程设计职工信息管理系统_第3页
第3页 / 共16页
资源描述:

《C语言课程设计职工信息管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计职工信息管理系统(16页珍藏版)》请在装配图网上搜索。

1、课程设计报课程名称C语言程序设计课题名称职工信息管理系统专业通信工程班级1402 班学号姓名熊舒炼指导教师罗雅博2015年7月3日.2课程设计目的与要一总体设计方案求 32.1设计目的2.2设计要求3三、使用说明及运用实例3四、项目源程序代码8五、设计心得与总结23六、参考文献 24总体设计方案(一)、系统总体流程图(-)、为了方便使用,此系统结构均为全局类型定义struct employee/定义一个职工信息的结构体char num20;char name20;char sex;char age20;char xueli30;int wage;char addr30;char post20;

2、long int tel;em100;(三)、各模块的功能与实现1. 菜单模块:显示职工管理系统的主菜单,供用户选择所需功能,通过自己定义的voidme nu()函数实现。2. 输入模块:输入职工的工号、姓名及其他的一些职工信息,通过自己定义的voidin put()函数实现。3. 保存模块:将内存中职工信息输出到磁盘文件中,通过自己定义的void save(i nt)函数实现。4. 浏览模块:浏览所有职工的信息,通过自己定义的void display。函数实现。5删除模块:删除需要删除的职工所有信息,通过自己定义的void del()函数实现。6.查询模块:a.按职工号查询职工相尖信息,通过

3、自己定义的void searchnum()函数实void searchxueli()函数实现。 void search-tel()函数实现。修改模块:可以修改需要修 void modify()函数实现。退出系统模块:推出职工信息windows.h 中的 exit(O)函数 实现。b.按职工学历查询相尖职工信息,通过自己定义的 c按职工电话号码查询相尖职工信息,通过自己定义的7.改的职工信息,通过自己定义的8.管理系统,通过头文件中的现。课程设计的目的与要求一、课程设计目的C语言程序设计是通信工程专业重要的基础课,通过本课程设计使学生进一步巩固课 堂所学知识,全面熟悉、掌握C语言程序设计的基本方

4、法和技巧,进一步提高编写程序、阅 读分析程序及上机操作、调试程序的能力。二、课程设计要求 职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住 址、电话等(职工号不重复)。系统以菜单方式工作;能录入职工信息并保存;显示所有职工信息(以一定的格式); 查询职工信息(以一种或多种方式);修改职工信息并保存;删除职工信息。使用说明及运用实例1运行程序,进入职工管理系统的主菜单:图12.输入数字“ T进行录入职工信息:图23输入“ y”返回住主菜单(界面同图1)4输入“ /浏览职工信息:5. 输入“ *后继续,输入“ 3”查询职工信息:图46. 进入主菜单,输入“ 4”进行删除职工信息:图5

5、7. 进入主菜单输入“ 5”进行修改职工信息图68. 进入主菜单输入“ 6”退出职工信息管理系统四、项目程序源代码#include #inelude #include #define N 100struct employee(char num20;char name20;char sex;char age20;char xueli30;int wage;char addr30;char post20;long int tel;em100;广定义一个结构体*/void menu();void input();void save(int);void sav(int);void display();

6、void del();void search();void search_num();void search_xueli();void search_tel();void modify(); /* 定义各函数 */void menu() /*菜单函数 */printf (”rT); printf(,n);printf(” printf(” printf(” printf(” printf( printf(” printf(” printf(1录入职工信息”);2浏览职工信息F);3查询职工信息”);4删除职工信息F);5修改职工信息”);6退出 rf);*n丿,printf (”rf);pri

7、n 廿(”n”);void main()int n,flag;char a;menu();/*调用菜单函数*/ doprintf请选择你需要操作的步骤(1-6):n,J); scanf(“d“,&n); if(n=1 &n=6)(flag=1; break;elseflag=0;printf您输入有误,请重新选择H;while(flag=O); while(flag=1) switch(n) tease 1:printf( * 输入职工信息 *nH) printf (nnn);input();break;case 2:printf(”*nH) ;printf(nH) ;display() ;b

8、reak;case 3:printf(”*nn) ;printf(,n,) ;search() ;break;case 4:printf(n浏览职工信息*按职工号查询职工信息*删除职工信息*nn) ;printf(nn) ;del() ;break;case 5:printf(H 修改职工信息 *nn);printf(nnn);modify();break; case 6:exit(0);break; default:break;getchar();printf (nnn);printf(是否继续进行(y or n):nH); scanf (” c”,&a);if(a=y)flag=1;sys

9、tem(”cls“); /*清屏*/ menu();广调用菜单函数*/ printf(”请再次选择你需要操作 的步骤(1-6):nM); scanf(”d”,&n);printf (”n”);elseexit(O);“void sav(int m)厂保存文件函数*/(inti;FILE*fp;if (fp=fopen(,employeeJisr7lwbn)=NULL) /* 创建文件并判断是否能打开 7(printf (cannot open filen”);exit(O);for (i=0;ivm;i+)厂将内存中职工的信息输出到磁盘文件中去*/ if(fwrite(&emi,sizeof(

10、struct employee),1 ,fp)!=1) printf(file write errornH); fclose(fp);void save(int m)广保存文件函数*/(inti;FILE*fp;if (fp=fopen(HemployeeJist.txtV)=NULL) /* 创建文本文件要用的模式 7(printf (cannot open filen”);exit(O);for (i=0;im;M /*内存职工信息输磁盘文件V(fprintf(fp,Hn %s %s %c %s %s %d %s %ldn,emi.num,emi.na me,emisex,emiage,e

11、mixueli,emi.wage,emiaddr,emitel); / 每员工信息写行间用 空 格隔fclose(fp);void input() /* 录入函数 */(int i,m;printfC*请输入需要创建信息的职工人数(1-100):);scanf(,%d,&m);for (i=0;ivm;i+)(printf(” 职工号:”);scanf(”s,emi.num); printf(nnn);printf(”请输入姓名:”);scanf(,%s,emi.name);getchar();printf(”请输入性别 卜女m-男):”);scanf(n%cn,&emi.sex);print

12、f请输入出生年月:”);scanf(,%s,emi.age);prints请输入学历:”); scanf(,%s,emi.xueli);printf(“请输入工资:”); scanf(n%dn,&emi.wage);printfC*请输入住址:”); scanf(,%s,emi.addr);printf(“请输入电话:”); scanf(n%cl,&emi.tel);printf(-请输入职务:”);scanf(,%s,&emi.post);printf(Hnn);printf(nn 创建完毕!n”);save(m);sav(m);int load() /* 导入函数 */(FILE*fp;i

13、nt i=0; if(fp=fopen(,employeeJist,rb,)=NULL)(prin廿(cannot open filen”);exit(O);else(do(fread(&emi,sizeof(struct employee),1 ,fp);i+;while(feof(fp)=0);fclose(fp);return(i-l);void display。广浏览函数*/(inti;int m=load();printf(An职工号 姓名 性别 出生年月 学历 工资住 址 电话rf); for(i=0;im;i+) /*m为输入部分的职工人数7printf(n %s %s %c %

14、s %s %d %s %ldnn,emi.num,emi.name, emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);void del() /*删除函数7(int m=load();int i,j,n,t,flag;char name20;printf(Hn原来的职工信息:nM);display();/*调用浏览函数*/printf(,nn);printfC*请输入要删除的职工的姓名:亍);scanf(”s”,name); for(flag=1 ,i=O;flag&im;i+)(if(strcmp(emi.name, name)=0)p

15、rintf(nn已找到此人,原始记录为:n“);printf(n职工号t姓名t性另!Jt出生年月t学历t工资t住址t电话n”);printf(nn%st%st%ct%st%st%dt%st%lcln5emi.num,emi.name,emi.sex5emi.age,e mi.xueli,emi.wage,emi.addr,emi.tel);printf(f,n确实要删除此人信息请按1,不删除请按0F);scanf(H%dn,&n);if(n=1)/*如果删除,则其他的信息都往上移一行*/for(j=i;j=1 &tv=4)flag=1;break;else(flag=O; printfC*您输

16、入有误,请重新选择!);i)while(flag=O); while(flag=1)(switch (t)case 1:printf(u按职工号查询 n*);search_num();break;case 2:printf(按学历查询 n,);search_xueli();break;case 3:printf(按电话号码查询 n);search_tel();break;case 4:main();break;default:break;void search_num()( char num20;int i,t;int m=load();printf(-请输入要查找的职工号:n”);scanf

17、(”s”,num); for(i=0;im;i+) if (strcpy(emi-1.num,num)=0)printf(An已找到此人,其记录为:rf);printf(nn职工号t姓名t性别t出生年月t学历t工资t住址t电话rT);printf(nn%st%st%ct%st%st%dt%st%lcln5emi.num,emi.name,emi.sex,emi.age,e mi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)(printf(Hn对不起,查无此人rT);printf(n);printfC*返回查询函数请按1,继续查询职工号请按2F);

18、 scanfcT,&t);switch(t)case 1:search();break;case 2: break; default:break;void search_xueli()( char xueli30;int i,t;int m=load();printf(请输入要查找的学历:rf);scanf(” s”,xueli);for(i=0;im;i+)if(strcmp(emi.xueli,xueli)=O)printf(An已找到,其记录为:rT);printf(nn职工号t姓名t性别t出生年月t学历t工资t住址t电话nn);printf(,n%st%st%ct%st%st%dt%s

19、t%ldnJemi.num,emi.name5emi.sex5emi.age5e mi.xueli,emi.wage,emi.addr,emi.tel);if(i=m)(printf(An对不起,查无此人rf);printf(nn);printfC*返回查询函数请按1,继续查询学历请按2F);scanf(”cT,&t);switch(t)case 1:search();break;case 2:break;default:break;void search_tel()( long int tel;int i, t;int m=load();printf(”请输入要查找的电话号码:F);scan

20、f (” ld”,&tel);for(i=0;im;i+)jf(tel=emi.tel)printf(An已找到此人,其记录为:rT);printf(nn职工号t姓名t性别t出生年月t学历t工资t住址t电话n”);printf(nn%st%st%ct%st%st%dt%st%ldnn,emi.num,emi.name,emi.sex,emi.age,e mi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)(printf(An对不起,查无此人nn);printf (”rT);printfC*返回查询函数请按1,继续查询电话号码请按2F);scanf(

21、n%dH,&t);switch(t)case 1:search();break;case 2:break;default:break;void modify() /* 修改函数 */(char num20;char name10;char sex;char age20;char xueli30;int wage;char addr30;long int tel;int b,c,i,n,t,flag;int m=load();/*导入文件内的信息*/ printf(nn原来的职工信息:nH);display(); /* 调用浏览函数 */ printf(nnn);printf(请输入要修改的职工

22、的姓名:n“);scanf(n%sH,name); for(flag=1 ,i=O;flag&vm;i+) 8|c1)printf(An选择错误,请重新选择!rf);flag=O;if(flag=1)(printf(nn对不起查无此人!rT);doswitch(c)广因为当找到第i个职工时,for语句后i自加了 1所以下面的应该把改后的信息赋值给第i-1个人V(case 1:printf(”职工号改为:);scanf(H%s,num); strcpy(emi-1.num,num); break;case 2:printf(姓名改为:J;scanf(n%sn,name); strcpy(emi-

23、1 .name,name); break;case 3:printf(H性别改为:”);getchar(); seanf(”c”,&sex); emi1.sex=sex;break;case 4:printf(”出生年月改为:”);scanf(n%s,age); strcpy(emi-1 .age,age);break;case 5:printf(学历改为:”);scanf(H%s,xueli); strcpy(emi-1.xueli,xueli);break;case 6:printf(H工资改为:”);scanf(”d”,&wage);emi 1 .wage=wage;break;case

24、 7:printf(H住址改为:”);scanf(”s”,addr); strcpy(emi-1.addr,addr);break;case 8:printf(电话改为:”);scanf(”ld”,&tel);emi-1.tel=tel;break;)printf(nnH);printf(An是否确定所修改的信息?n是请按1 ;不,重新修改请按2:E);scanf(n%dH,&b);)while(b=2);printf(An浏览修改后的所有职工信息:rT); printf(Ann);save(m); sav(m);display();printf(”n继续修改请按1,不再修改请按OnH);sc

25、anf(”d”,&t); switch(t)case 1:modify();break;case O:break; default:break;五、设计计心得与总设结通过这次C语言的课程设计,我明白了很多也知道了很多,更收获了很 多。在课 程设 计的过程中出现过困难,也想过放弃,最终我们还是坚持了下 来,认真对待,扫破一切困 难,勇往直前。一周的课程设计已经结束了。回想学习C语言的过程中,既有快乐又有烦恼,回顾这次 课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整 个编程,从理论到实践,在整 整一个星期的日子里,可以学到很多很多的东 西,同时不仅可以巩固了以前所学过的知识, 而且学到了很

26、多在书本上所没 有学到过的知识。通过这次课程设计使我懂得了理论与实际相 结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起 来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能 力。在设计的过程中遇到的问题,这毕竟独立做的,难免会 遇到各种各样的问题,同时在设 计的过程中发现自己的不足之处,对以前所 学的知识理解得不够深刻,掌握得不够牢固,比 如说结构体通过这次课程设计之后,一定 把以前所学 过的知识从新温 故。这次课设终于顺利完成了,衽设计中遇到了很多编程问题做完这个课程设计,我们的自信一下子提高了,我们也会写程序了 ;尽管对于有些人

27、这种程序会很简单,可对于我们C语言初学者来说,已经很不容易了。这次体验为以后的学 习计算机的我们增强了信心。享受劳动成果的滋味实在美妙啊!通过实践的学习,我认到 学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方 面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好 计算机。很感谢这次的课程设计,它使我更加地体会到多看专业书的重要性,只有掌握了一定量 的专业知识才能得心应手地解决诸多问题;另外,在做任何事倒要有耐心,不要一遇到困难就 退缩;在学习和工作中要时刻谨记团结二字,它好比通向成功的铺路石,不可或缺。人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的道路 上,总遇到重重 困难,但正是因为困难我们才变得更坚强。今后的路还很长,面对困难,让我们用行动去俘 虏它吧六、参考文献1、C程序设计(第四版)谭浩强着 2.C程序设计(第四版)学习辅导谭浩强着计算机与通信学院课程设计评分表设计內容:C语言程序设计项目评价课程设计期间表现情况课程设计内容完成情况课程设计答辩成绩课程设计报告元成质量综合成绩日期:2015年7月6旦

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!