《公司员工职员管理系统程序报告.doc》由会员分享,可在线阅读,更多相关《公司员工职员管理系统程序报告.doc(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2015年C语言程序课程设计学 院: 数学与信息科学学院 专 业: 数学与应用数学 班 级: 2014级1班 姓 名: 钟谋佞 课题名称: 公司职员信息管理系统 指导老师: 2015年 8月 19 日公司职员信息管理系统一.需求分析:(1) 输入职员个人信息(2) 按姓名查询职员个人信息(3) 统计公司职员年龄分布二、总体设计:系统结构及流程图如下:打印职员年龄分布按姓名查找职员信息 进入系统 输入职员信息 退出系统功能选择主函数三 详细设计#include#include#includetypedef structint a,num,age,sal;char name10,sex10,dep
2、art20,add20,cul10; STAFF;void input();void inquire();void Page();int main()int a;printf(单位职工管理系统n);while(1)printf(1.档案输入n2.按姓名查找输出档案n3.打印全厂职工年龄分布n0.退出n输入编号:);I:scanf(%d,&a);switch(a)case 0:return 0;case 1:input();break;case 2:inquire();break;case 3:Page();break;default :printf(输入编号错误,重新输入n);goto I;r
3、eturn 0;void input()FILE *fp;STAFF inf200;int i=1;if(fp=fopen(zgzl.dat,a)=0)printf(无法打开),exit (0);printf(按职工号顺序输入:n);printf(输入工号:);scanf(%d,&infi-1.a);while(1)fprintf(fp,n%d ,infi-1.a);printf(t姓名:,infi-1.a);scanf(%s,infi-1.name);fprintf(fp,%s ,infi-1.name);printf(t性别:);scanf(%s,infi-1.sex);fprintf(f
4、p,%s ,infi-1.sex);printf(t年龄:);scanf(%d,&infi-1.age);fprintf(fp,%d ,infi-1.age);printf(t部门:);scanf(%s,infi-1.depart);fprintf(fp,%s ,infi-1.depart);printf(t住址:);scanf(%s,infi-1.add);fprintf(fp,%s ,infi-1.add);printf(t基本工资:);scanf(%d,&infi-1.sal);fprintf(fp,%d ,infi-1.sal);printf(t文化程度:);scanf(%s,infi
5、-1.cul);fprintf(fp,%s,infi-1.cul);printf(输入0结束输入,输入工号继续:);scanf(%d,&infi-1.a);if(infi-1.a=0)break;i+;if(fclose(fp)printf(无法打开),exit (0);void inquire()FILE *fp;STAFF inf200=0; int i=1,n,a;char name10;if(fp=fopen(zgzl.dat,r)=0)printf(无法打开),exit (0);while(!feof(fp)fscanf(fp,%d%s%s%d%s%s%d%s,&infi-1.a,i
6、nfi-1.name,infi-1.sex,&infi-1.age,infi-1.depart,infi-1.add,&infi-1.sal,infi-1.cul);i+;if(fclose(fp)printf(无法打开),exit (0);n=i;printf(%s,infi-1.name);while(1)printf(输入姓名查找:);scanf(%s,name);for(i=1;i=n;i+)if(strcmp(name,infi-1.name)=0)printf(工号t姓名t性别t年龄t部门t住址t工资t文化n); printf(%dt%st%st%dt%st%st%dt%sn,in
7、fi-1.a,infi-1.name,infi-1.sex,infi-1.age,infi-1.depart,infi-1.add,infi-1.sal,infi-1.cul);break; else if(i=n) printf(不存在此人n);printf(输入0结束查询,输入其他继续:);scanf(%d,&a);if(a=0)break;void Page()FILE *fp;STAFF inf200;int i=1,n,a4=0;if(fp=fopen(zgzl.dat,r)=0)printf(无法打开),exit (0);while(!feof(fp)fscanf(fp,%d%s%
8、s%d%s%s%d%s,&infi-1.a,infi-1.name,infi-1.sex,&infi-1.age,infi-1.depart,infi-1.add,&infi-1.sal,infi-1.cul);i+;n=i;if(fclose(fp)printf(无法打开),exit (0);for(i=1;i=55)a0+;else if(infi-1.age=46)a1+;else if(infi-1.age=36&infi-1.age45)a2+;else if(infi-1.age55t4655t3645t35n);printf(人数:tt%dt%dt%dt%dn,a0,a1,a2,
9、a3);printf(按回车返回目录:);getchar();getchar();四 调试分析1:1,当系统无误,顺利进入系统时,会看到一个菜单界:2. 输入个人信息3查询信息4. 打印年龄分布:五 课程设计总结 紧张而又充实的一个星期即将过去,在这一个星期里,通过做课程设计,自己的感触甚多,收获也很多.发现自己对课本知识的认知提升到了一个新的层次,就好像站在一个山峰上俯瞰,可以比较系统地,全面的理解课本上的内容.过去觉得理解得模模糊糊的知识点,现在基本上都可以掌握了.这又一次验证了实践能够反作用于认识,只有自己真真正正地动手去做了,将自己学到的,或者是只学到一半半的课本知识应用到实际中去,当
10、遇到问题时,再细心地,耐心地慢慢去推敲,去查找错误,看看是哪一步错了,错在哪里.找出问题后再翻翻课本,看课本还解决不了问题就问同学问老师,直到解决问题为止.这时,当你回头看时,你会突然发现自己已经学到了很多东西,有课本上之前不明白的知识点,也有在程序设计过程中遇到问题时该如何去面对,如何去解决的方法.其实,我发现导致程序出现问题错误或运行不了,很大部分原因归结于对课本知识点的不熟悉或理解错误.这些要是不亲自动手去做,光看课本是没有多大作用的.当我通过自己的努力或老师跟同学的帮助下,解决了一个问题,才发现原来这个知识点应该这样用. 通过这次课程设计,我体会最深的就是,不能只看课本,要经常动手去练
11、习一下,看课本加上做练习,效果非常好,可以做到事半功倍.这样知识点记得会比较牢固一些.通过练习还可以培养自己的设计思维,让自己以后设计程序时思维会活跃一些,转得快一些. 在这课程设计接近尾声时,我总结了一下自己在设计时经常犯的一些错误,诸如for循环语句,括号里面的条件之间应该是用分号分开的,而我经常会忘记,都是用逗号来分开的,这导致程序运行不了,自己检查了一遍又一遍还是发现不了问题的所在,后来叫同学帮忙看了一下,才发现问题出现在哪里.就这么简单的,基本的一个错误,常常会令自己花上半个小时或者更长的时间,都无法找出来.类似的错误还有,就是经常会在语句后面忘了加上分号.但现在这些问题不会再出现了,经过这次的实践,我懂得了很多,很多语句用起来都比较熟悉了,更重要的是积累了一些经验,将来可以少走些弯路,不再像刚开始的时候,像一个迷路羔羊一样到处乱窜. 虽然这次的课程设计即将结束,设计的系统也可以运行了,但我知道它现在还只是个雏形,还不够完善,还存在不足之处,还需要我的进一步改善.今后我会更加努力,学习更多的知识来完善它,把它的功能做大,做强!
限制150内