1、职工信息管理系统doc内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 职工信息管理系统学生姓名:张静学 号:1276807349专 业:计算机科学与技术班 级:12级计算机(3)班指导教师:周李涌内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目职工信息管理系统指导教师周李涌时间2014.12.312015.1.4一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中
2、任意选择一题,独立完成,题目选定后不可更换。职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:v 职工信息录入功能(职工信息用文件保存)输入v 职工信息浏览功能 输出v 查询或排序功能:(至少一种查询方式) 算法按工资查询 按学历查询等v 职工信息删除、修改功能(任选项)三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要
3、规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计
4、课程设计,刘振安,机械工业出版社第一章 需求分析1.1 引言随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的管理信息系统。本组设计的是一个关于职工信息管理的数据库系统,通过这个系统,管理员可以简捷方便的对职工信息进行增加、删除、修改等功能,而用户也可以通过这个系统对职工信息进行查询等功能。1.2 任务概述(1)职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复。(2)录入的职工信息要求用文件形式
5、保存,并可以对其进行浏览、查询、修改、删除等基本操作。(3)职工信息的显示要求有一定的规范格式。 (4)对职工信息应能够分别安编号及按姓名两种方式进行查询,要求能返回所有符合条件的职工的信息。(5)对职工信息的修改应逐个地进行,在一个职工的信息的更改不影响其他的职工记录。(6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能尽可能地兼容用户使用过程中的异常情况。1.3 数据描述在主函数的框架下构造结构体1.4 功能需求本软件是一个很好地职工管理系统,能够实现对职工的管理。该系统可以让工人管理人员更好的掌握职工的信息,可以实现对工人信息的
6、增加,查找,删除,和修改。1. 输入功能:一次可以完成自定义职工人数的职工信息记录的输入。2. 删除功能:对指定职工的信息进行删除。3. 查询功能:选择某种方式并输入该信息,查询符合条件的职工信息。4. 修改功能:对指定学生的信息进行修改。5. 显示功能:将以上功能操作后的职工信息显示出来。6. 保存功能:将以上功能操作后的职工信息保存下来。7. 退出主菜单。1.5 性能需求1. 输入功能:一次可以完成自定义职工人数的职工信息记录的输入。2. 删除功能:对指定职工的信息进行删除。3. 查询功能:选择某种方式并输入该信息,查询符合条件的职工信息。4. 修改功能:对指定职工的信息进行修改。5. 显
7、示功能:将以上功能操作后的职工信息显示出来。6. 保存功能:将以上功能操作后的职工信息保存下来。7. 退出主菜单。1.6 运行需求1. 编写好程序代码,调试程序使其能正确运行。2. 设计完成的软件要便于操作和使用。3. 1.7 任务计划利用基本的控制结构,如选择、循环、顺序等结构化的设计思想实现职工信息管理系统的添加、修改、删除等管理功能。本次设计的职工信息管理系统,采用创建一个结构体数组,用来记录设备的详细信息,然后再通过对数组的各种操作来完成对职工信息的添加、删除、修改、查找等功能。有效实现添加、修改、删除等功能,在程序设计过程中运用了结构体数组的知识,以完成对职工信息的录入、显示等功能。
8、第二章 概要设计2.1 总体设计总体设计目标:使用者可以利用本系统进行对职工信息的各项操作,根据需求进行添加,浏览,查询,删除。查找所要的工人信息的详细资料。大大方便使用者对工人信息管理的操作,不仅节约时间,而且提高准确性,可以达到事半功倍的效果。总体设计策略,本系统采用的事自顶向下,层次化的模块结构。对高层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。结合上述分析该系统应包括以下模块:信息输入、信息查询、信息显示,信息修改,信息删除等各项操作。2.2 数据结构设计2.3 接口设计 表2.1:函数列表函数名函数格式 函数
9、功能Void menuvoid执行菜单Void luruvoid录入信息Void liulanvoid浏览信息Void chaxunvoid查询信息Void xiugaivoid修改信息Void shanchuvoid删除信息2.4 运行界面设计图1 系统的选择流程图第三章 详细设计3.1 输入模块设计图2 职工信息录入3.2 输出模块设计分析:能够更好的输出工人的信息。图3 职工信息输出3.3 查找模块设计分析:输入你所要查询的信息,如果有,则输出信息;如果有,则返回主菜单。图4 职工信息查找3.4 修改模块设计分析:管理人员可以随时修改工人的信息,可以方便的管理工人的信息。图5 职工信息修
10、改3.5 删除模块设计分析:管理人员可以将工人信息进行删除。以防一些没用的信息干扰有用的信息。图6 职工信息删除第四章 测试分析4.1 测试程序执行情况主菜单职工信息录入职工信息查询职工信息修改职工信息删除第五章 课程设计总结通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。在这学期期末考试前期,学院给我们安排的课程设计周,总让我们觉得有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度的抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,
11、还使得我们学习到了更多平时所忽略的,最重要的是,它磨练了我们,让我们在大学的下一个阶段能更好的成长。使我相信无论什么事,只要自己真的下决心去做,都是可以做到的,即使不能一次成功,也不能放弃,失败的尽头一定有成功在等着我们的,失败乃成功之母。实践是检验真理的唯一方法,学了在多的知识不会运用,就如同鸟儿长了翅膀却不会飞翔。学习C语言就是为了运用它,帮助我们解决一些日常生活中遇到的问题,而此次的课程设计就为我们提供了检验自己能力的机会,也给了我们一次弥补以前缺陷的机会。总而言之,这次课程设计使我获益匪浅。附录:程序代码#includestruct char name8;char num10;char
12、 sex10;char age10;char record10;char position15;char wanges10;char tel15;char addr50;one; FILE *fp; void output(); void search(); void append(); void modify(); void delete(); void nameway();void xueliway();void numway();void main() int m;while(1) puts(nnntt *n); puts(tt 欢迎光临职工信息系统n); puts(tt Welcome
13、 to employee management system n); puts(tt*MENU*n); puts(ntttt1.职工信息添加功能); puts(ntttt2.职工信息查找功能); puts(ntttt3.职工信息修改功能); puts(ntttt4.职工信息删除功能); puts(ntttt5.职工信息输出功能); puts(ntttt6.退出n); printf(请选择(1-6):bb);scanf(%d,&m);if(m=0&m0&l4)switch(l)case 1:nameway();break;case 2:xueliway();break;case 3:numway
14、();break; printf(nn输入完毕!);else printf(tttt输入有误!); void nameway()int k=0;char nam8;printf(n请输入您要查找的职工姓名:);scanf(%s,nam);if(fp=fopen(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one
15、.addr);if(strcmp(nam,one.name)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);k=1;if(k=0)printf(nn对不起,查无此人!。);fclose(fp); void xueliway()int j=0;char xueli10;printf(tttt输入你要查询的学历n);scanf(%s,
16、xueli);if(fp=fopen(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(xueli,one.record)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.na
17、me,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);j=1;if(j=0)printf(nn对不起,查无此人!。);fclose(fp); void numway() int i=0; char numb10;printf(tttt输入你要查询的共号n);scanf(%s,numb);if(fp=fopen(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,o
18、ne.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(numb,one.num)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);i=1;if(!i)printf(nn对不起,查无此人!。);fclos
19、e(fp); void modify() int m,k=0;long a;char namekey8;printf(n请输入您要修改的职工的姓名:);scanf(%s,namekey);if(fp=fopen(worker.xls,r+)=NULL) printf(n不能打开该文件!);exit();while(!feof(fp)a=ftell(fp); fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!
20、strcmp(namekey,one.name)k=1;break;if(k)printf(n已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf(n请输入信息(按照姓名、职工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):);scanf(%s%s%s%s%s%s%s%s%s,one.name,one.num,one.sex,one.a
21、ge,one.record,one.position,one.wanges,one.tel,one.addr);fseek(fp,a,0);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);elseprintf(n对不起,查无此人,无法进行修改。);fclose(fp); void delete() int m,k=0;long a,b;char namekey8, v
22、alid4;printf(n请输入您要删除的职工姓名:);scanf(%s,namekey);if(fp=fopen(worker.xls,r+)=NULL) printf(n不能打开该文件!);exit();while(!feof(fp)a=ftell(fp); fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(namekey,one.name)=0)k=1;break;if(k=1)prin
23、tf(n已查到,记录为);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf(n确实要删除,按1;不删除,按0:);scanf(%d,&m);if(m=1)fseek(fp,a,0);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn ,);elseprintf(n对不起,查无此人。);fclose(fp); 参考文献C语言程序设计 谭浩强 清华大学出版社C语言程序设计课程设计 刘振安 机械工业出版
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1