1、计算机工程系课程设计报告成绩:指导教师(署名): 课程名称: C语言程序设计 课程设计题目:公司员工业绩管理系统班级计算机科学与技术16-4班 姓名 曾钦钰 学号 2023年6月目录1 系统开发设计的意义12 系统介绍13 功能介绍14 系统功能模块结构图25 函数编写26实训源程序代码和调试过程(涉及截图)31.1进入界面31.2选择菜单41.3 输入信息41.4 显示信息51.5 增项51.6 删项61.7 修改信息61.8记录信息71.9查找72.0 退出系统87 源程序代码9小结19参考文献201 系统开发设计的意义 为了实现提高公司管理部门的工作效率;充足运用资源;减少不必要的人力,
2、物力和财力的支出;方便公司管理部门的工作人员全面地掌握员工住宿情况等目的。2 系统介绍该系统定位于公司员工的管理,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows 7,Windows 8,和Windows 10系统。3 功能介绍1, 进入主界面:规定输入密码,输入三次错误系统锁定。2,输入记录:将员工的基本信息涉及身份证号,姓名,性别,地区,分数等数据作为一个记录写入文献。3,显示记录:显示员工的各项信息 。4,增长记录: 增长多个员工的基本信息,位于之前的员工后面。5,删除记录: 删除员工信息。6,修改记录:可以修改员工的任何一项基本信息。7,查找记录:可以根据员工的身份证号查
3、找并显示出员工的信息。8,退出系统4 系统功能模块结构图本管理系统理由输入记录,显示记录,增长记录,删除记录,修改记录,查找记录,六个大模块组成,其总体结构图如下。 图4-15 函数编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增长函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)查找函数;函数名称函数功能enter()进入函数input();输入函数display()显示函数add ()增长函数delet()删除函数amend()修改函数preside ();记录函数fint (
4、);查找函数output();退出函数 图5-16实训源程序代码和调试过程(涉及截图)1.1 进入界面 图6-1 1.2 选择菜单 图6-21.3 输入信息图6-31.4 显示信息图6-41.5 增项图6-51.6 删项图6-6 1.7 修改信息图6-7 1.8记录信息图6-8 1.9查找图6-9 2.0 退出系统图6-10 7 源程序代码#include #include #include #include #define N 20struct worker /*定义员工结构体*/long num;char name20;char sex2;char address20;int score3
5、;int sum;int ave; ;struct worker worN; int t=1,pl=0; void enter(); void input(); void display(); void add(); void delet(); void amend(); void preside(); void fint(); void output(); void main() int password;int i;printf(nnnnttt公司员工业绩管理系统n); /*初始界面 输入验证密码*/for(i=1;inum);printf(姓名:n); scanf(%s,&p-name)
6、; printf(n);printf(性别:n);gets(r); gets(&p-sex); printf(n);printf(地区:n);scanf(%s,&p-address);printf(n);printf(三种成绩:1.出勤率.2.年销售业绩.3.平时表现.n);for(i=0;iscorei);p-sum = p-score0 + p-score1 + p-score2;p-ave = p-sum/3;printf(nn 是否要继续输入员工信息,假如是请按 y;不是请按 n.n); o=getchar(); w=getchar(); if(w=y | w=Y) t+;x=1;p+
7、; else x=0; while(x=1); if(w=n | w=N) printf(按任意键返回.n);getch();enter(); void display() /*显示员工信息*/int i,j;system(cls); printf(ttt 员工信息显示.nn); for(j=0;jt;j+) printf(%st%st%st%st%st%st%st%st%snn,身份证号,姓名,性别,地区,出勤率,年销售业绩,平时表现,年终均分,年终年终年终总分); printf(%ldt%st%st%st,worj.num, worj.name, worj.sex,worj.address
8、);for(i=0;inum); printf(n); printf(姓名:n); scanf(%s,p-name); printf(n); printf(性别:n); scanf(%s,p-sex); printf(n); printf(地区:n); scanf(%s,p-address); printf(n); printf(三种成绩:1.出勤率.2.年销售业绩.3.平时表现.n); for(i=0;iscorei); for(i=0;isum = p-score0 + p-score1 + p-score2; p-ave = p-sum/3; a=getchar(); printf(n
9、是否要继续输入员工信息,假如是请按 y;不是请按 n.nn); w=getchar(); p+; t+; if(w=y|w=Y) x=1; if(w=n|w=N) x=0; break; while(x=1) ; if(x=0) printf(n); printf(按任意键返回.n); getch(); enter(); void delet() /*员工信息的删除*/ long b; int z,j; int r=t; char c,x; struct worker *p; system(cls); printf(nttt删除员工信息n); printf( 请输入要删除员工的身份证号:nn)
10、; scanf(%ld,&b); for(p=wor;pnum=b) break; else r-; if(r=0) printf(你要删除的员工不存在,请按任意键返回.n); getch(); enter(); printf(n 你要删除的员工为:n); printf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,身份证号,姓名,性别,地区,出勤率 ,年销售业绩,平时表现,年终均分,年终年终总分); printf(%-8ld%-8s%-8s%-8s,p-num,p-name,p-sex,p-address); for(j=0;jscorej); printf(
11、%-8d,p-ave); printf(%-8d,p-sum); printf(n你拟定要删除吗?如是请输入 y;不是请输入 n.n); x=getchar(); c=getchar(); if(c=y|c=Y) for(p=wor;pwor+t;p+) *p=*(p+1); t-; printf(系统已为你删除信息,请按任意键返回.n); getch(); enter(); if(c=n|c=N) printf(删除信息取消!按任意键返回.n); getch(); enter(); void amend() /*员工信息的修改*/ long j; int i,z,r=t; char c,d,
12、e,f,q,u,l,v,m,k,h1,h2,h3,h4; struct worker *p; system(cls); printf(nttt修改员工信息n); printf( 请输入要修改员工的身份证号:nn); scanf(%ld,&j); for(p=wor;pnum=j) break; else r-; if(r=0) printf(你输入的员工不存在,请按任意键返回.n); getch(); enter(); printf(n 你要修改的员工为:n); printf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,身份证号,姓名,性别,地区,出勤率 ,年
13、销售业绩,平时表现,年终均分,年终年终总分); printf(%-8ld%-8s%-8s%-8s,p-num,p-name,p-sex,p-address); for(j=0;jscorej); printf(%-8d,p-ave); printf(%-8d,p-sum); printf(nn 是否要修改身份证号:是请按 y;不是请按 n.nn); l=getchar(); c=getchar(); if(c=y|c=Y) printf(请输入对的的身份证号:nn); scanf(%ld,&p-num); if(c=n|c=N) z=1; printf(是否要修改姓名:是请按 y;不是请按 n
14、.nn); q=getchar(); d=getchar(); m=getchar(); if(d=y|d=Y) printf(请输入对的的姓名:n); scanf(%s,p-name); u=getchar(); if(d=n|c=N) z+; printf(n 是否要修改性别:是请按 y;不是请按n.nn); e=getchar(); k=getchar(); if(e=y|e=Y) printf(请输入对的的性别:n); scanf(%s,p-sex); if(e=N|e=n) z+; printf(n 是否要修改地区:是请按 y;不是请按 n.nn); h3=getchar(); h4
15、=getchar(); if(h3=y|h3=Y) printf(请输入对的的地区:n); scanf(%s,p-address); if(h3=N|h3=n) z+; printf(n 是否要修改三种成绩:是请按 y;不是请按 n.nn); f=getchar(); if(f=y|f=Y) printf(请输入对的的三种成绩:); for(i=0;iscorei); p-sum = p-score0 + p-score1 + p-score2; p-ave = p-sum/3; v=getchar(); if(f=n|f=N) printf(请按任意键返回.n); getch(); ente
16、r(); void preside() /*员工信息的记录*/int i,j,o=0,b=10,r=60; struct worker *p; system(cls);printf(nttt 员工信息记录.n);printf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,身份证号,姓名,性别,地区,出勤率 ,年销售业绩,平时表现,年终均分,年终年终总分); for(p=wor;pnum,p-name,p-sex,p-address); for(j=0;jscorej); printf(%-8d,p-ave); printf(%-8d,p-sum); printf
17、(nn); printf(nnn); for(p=wor;pwor+t;p+) for(i=0;iscoreinum,p-name,p-sex,p-address); for(j=0;jscorej); printf(%-8d,p-ave); printf(%-8d,p-sum); printf(nn); break; if(b=10) printf(nn 公司所有的人都通过考试.nn); else if(b10)printf(n 以上为合格的,公司不合格的人数为:%d 人.nn,o); printf(n); printf(记录完毕,请按任意键返回.n); getch(); enter();
18、void fint() /*查找员工信息*/ int i,j=t; long num_a; struct worker *p; char a,b; system(cls); printf(nttt查找员工信息n); printf(ttt 请输入要查找的员工身份证号:n); scanf(%ld,&num_a); for(p=wor;pnum=num_a) break; if(j=0) printf(不存在该员工,请按任意键返回.nn); a=getchar(); getch(); enter(); printf(n 你要查找的员工为:nn); printf(%-8s%-8s%-8s%-8s%-8
19、s%-8s%-8s%-8s%-8snn,身份证号,姓名,性别,地区,出勤率 ,年销售业绩,平时表现,年终均分,年终年终总分); printf(%-8ld%-8s%-8s%-8s,p-num,p-name,p-sex,p-address); for(i=0;iscorei); printf(%-8d,p-ave); printf(%-8d,p-sum); printf(nn 查找完毕,请按任意键返回.); b=getchar(); getch(); enter(); void output() /*退出系统*/ system(cls); exit(0); 小结 这次实验,虽然看起来很简朴,但是真
20、的坐起来的时候就发现了困难重重,让我深刻的体会到了要做一个软件,里面需要的很多知识还是我们没有接触过的,所以我们需要不断的实践,不断的学习,不断的发现问题去思考问题。实验是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次实验让我受益匪浅。通过这次实验,我也将课本上的知识融会贯通,起到了很好的辅助学习的效果,我也发现我学到的知识比上个学期学的还要多。理论和实践相结合是学习的最有效的方法,这次设计中我也发现了自己的很多局限性之处,对以前所学的理解不够深刻,掌握不够牢固。通过这次实验过后,我也把所学过的知识重新温故了一边。参考文献1谭浩强C程序设计(第三版) 北京 清华大学出版社 2023.72耿国华高级程序设计技术(C语言版)西安电子科技大学出版社 20233谭浩强C程序设计教程 北京 高等教育出版社 19924C编写组编 常用C语言用法快速查询手册 北京 龙门书局 1995