资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
湖北汽车工业学院电气与信息工程学院C 语言程序设计实训报告 实训题目: 职工信息管理系统 专 业: 计算机专业 班 级: T1123-1 姓 名: 张立 成 绩:一、需求分析1、问题问题描述:已知职工信息包括职工号、姓名、性别、出生日期、学历、工资、住址、电话等。设计一程序,完成以下功能:1) 能从键盘输入职工的信息(增加,输入时需要能检查该职工号的职工的记录是否已经存在,出生日期格式是否合法(格式为:YYYY-MM-DD,如 2009-01-02)2) 能从指定的文件中读入职工的信息3) 能按职工号查询职工的信息4) 能按学历统计职工数5) 能查询到指定年份需要退休的职工的信息(男:60 岁,女 55 岁)6) 能删除指定职工号的职工信息7) 能将职工信息保存在指定的文件中2、系统采用C 语言实现,开发环境为VC,可以运行在操作系统windows98 及以上皆可。3、运行要求能不受限制的录入职工的信息、界面友好,操作方便,例如删除前需要提示用户是否删除容错性强,例如数据导出时,如果文件不存在需要提示用户。二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程2、系统模块设计根据系统的功能设计,如下模块职工信息管理系统职工的信息的录入查询职工的信息删除职工的信息退出修改职工的信息添加职工的信息浏览所有职工的信息按职工名字查询查询是否到退休年龄主界面模块:完成系统菜单的显示功能选择模块:根据用户的选择,完成其相应的功能职工信息录入:完成用户从界面输入职工信息,保存入系统的功能职工信息修改:完成用户从界面输入职工信息,在系统中查询定位,并将录入的数据保存入系统的功能职工信息查询:完成用户从界面输入查询条件,在系统查询符合条件的职工信息,并在界面上显示的功能。职工信息导入:在运行程序时会自动读取指定文件的内容,保存入系统。职工信息导出:完成用户从界面录入职工信息后,程序会自动把职工信息写入指定的文件中。职工信息删除:完成用户从界面输入需要删除的职工的信息,输入姓名,并将其从系统中删除。三、详细设计1、数据结构设计根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下:数据项名称 数据项系统表示 数据类型 数据长度 备注职工号 no 整型 4姓名 name 字符串 20性别 sex 字符型 1年龄 age 整型 4出生年 int 整型 4 出生月 int 整型 4出生日 int 整型 4学历 xueli 字符串 30工资 wage 整型 4地址 address 字符串 100电话 tele 字符串 20为了能实现不受限制的增加职工信息,采用结构体的结构保存职工的信息,在增加职工的基本信息时,创建的结构体如下:struct employeeint num;char name10;char sex; int age;Int year; Int month; Int date;char xueli30;int wage;char addr30;long int tel;em1000;2、界面设计主界面:根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面进行相应的操作,完成后,回到主界面。输入界面:在光标下输入通讯录的信息,用空格将信息隔开,如果出生日期输入格式不对,就系要重新输入,创建完后出现是否继续的选择。修改界面:选择修改信息后首先显示所有职工的信息,输入需要修改信息职工的姓名,显示该职工的详细信息,选择需要修改的项目,输入修改后的信息,将原来信息修改,然后显示修改后的所有职工的信息。删除界面:输入需要删除的姓名,将其从职工信息中删除添加信息:输入需要添加的人数后,这一步骤基本上和信息录入是一样的,添加完成后会显示所有学生的信息查询信息:1)按职工号查询:输入职工号查询出该职工的全部信息。2)查询已到退休年龄职工信息。选择查询需退休员工的条件就得到上面的信息。3) 统计某个学历职工的个数 输入统计的学历就可以统计出个数。4)按姓名查询输入职工的名字就能后,就能够输出被查职工的信息浏览信息显示页面:浏览所有职工的信息。选择添加信息操作后就可以从界面输入添加者的信息,中间日期输入格式出现错误会有提示的3、模块实现主界面实现:调用 menu()函数,在屏幕上打印需要显示的字符信息,在主函数中实现功能选择模块:接受从键盘输入的菜单选择,判断并调用相应的功能函数,完成其对应的功能。实现功能选择。对应的函数:menu();职工信息录入模块实现:模块说明:从键盘接收输入的职工信息,把信息有顺序的村道内存中并写入到指定文件中对应函数:input(),save(int m)。通讯录信息修改模块实现:模块说明:从键盘接收输入的需要修改通讯录的姓名,遍历结构体,结构体中的姓名是否输入的姓名相等,如果相等,再输入需要修改的信息类别,然后从键盘输入修改后的信息。然后输入的信息替代原有的信息。模块流程:输入需要修改职工的姓名与系统中的姓名比较选择修改的内容修改成功退出修改信息对应函数:modify()职工信息删除模块实现:模块说明:输入需要删除的职工姓名后删除,把下面的职工信息往前移动。对应函数:void del()职工信息导入模块实现:模块说明:在运行的时候第一步是自动把指定文件中的信息导入内存中,是信息可以在后面的运行过程中使用对应函数:int load()职工信息信息导出模块实现:模块说明:程序在输入信息后就会自动将输入的职工信息导入到指定的文件中使后面可以使用。对应函数:void save(int m)职工信息查询模块实现:模块说明:分为两种查询方式:1)按职工号查询;2)按退休年龄查询。选择查询方式模块流程:输入职工号输出需退休的人输出查询结果对应函数:void search(); void search_num(); void search_age();职工信息浏览模块实现:模块说明:输出所有的职工的信息对应函数:void display()四、 实训总结 这个程序难度挺大的,但还是在几天的努力中诞生出来了。基本上用上了我所学的全部C语言知识,有一点点的伤脑筋。虽然对于我来说有一定难度但对于当今的科技,这个就不算什么了,科技上的程序和现实生活中应用的程序要比这难的多。对与大学生C语言是每个人都必须掌握的一门学科,我们计算机专业的学生就更应该熟练的运用C语言编写程序。通过这几个月来对计算机的了解,我对计算机这个科学有了更浓的感情,虽然目前学的不是很好。这次程序的一个亮点是能够正确判断日期是否合格,运行的时候基本上是没有问题的。 通过这次课设,我对C语言有了更深的了解。更加熟息课本上的知识点。五、附录程序源代码/*职工信息管理系统*/#include #include#include #define N 1000struct workersint num;char name10;char sex; int age;int year;int month;int date;char xueli30;int wage;char addr30;long int tel;em1000; /*定义一个结构体*/void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_age();void search_xueli();void search_name();void modify(); /*定义各函数*/void main() int n,flag;char a;menu(); /*调用菜单函数*/doprintf(t请选择你需要操作的步骤(0-6):n);scanf(%d,&n);if(n=0&n=6)flag=1;break;elseflag=0;printf(您输入有误,请正确输入选择!);while(flag=0);while(flag=1)switch(n)case 1:system(cls); /*清屏*/printf(nnttt*输入职工信息* n);printf(n);input();break;case 2:system(cls); /*清屏*/printf(nnttt*浏览职工信息* n);printf(n);display();break;case 3:system(cls); /*清屏*/printf(nnttt*按条件查询职工信息* n);printf(n);search();break; case 4:system(cls); /*清屏*/printf(nnttt*删除职工信息* n);printf(n);del();break;case 5:system(cls); /*清屏*/printf(nnttt*添加职工信息* n);printf(n);add();break;case 6:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号