一、课程设计目的
通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固 ?C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。
学会将知识应用丁实际的方法,提高分析和解决问题的能力,增加综合能力。 为后续各门计算机课程的学习打下坚实基础。
为毕业设计和以后工作打下必要基础。
二、课程设计内容
针对某企业的员工,对其信息进行系统的管理。
三、需求分析
对所开发系统功能、性能的描述,想要实现的目标。
此系统可对该厂员工进行信息的录入,修改,删除,添加,查询,排序,统计, 打印等功能。用户可通过提示选择进入某一功能界面,然后进行对员工的信息管 理。每一功能模块都充分为用户考虑,编排详细。使用户可以方便快捷的了解员 工信息,及时有效的对员工进行信息的管理。
四、概要设计
系统结构图(功能模块图)
对系统进行分析,给出系统结构图;
分析:此系统,为方便客户输入,以及使程序活晰化,因而本人采用模块法, 将每一功能模块化,使程序中各函数问调用更加明了。以下为系统模 块图。
功能模块说明
对各个模块进行功能的描述。
录入模块:输入该厂现有员工信息并保存与文件中,方便日后进行排序,更 新,统计,打印等操作。
输出模块:将所有员工信息,或所需员工信息输出丁屏幕上,用丁打印或查 询员工信息。
更新模块:此模块乂分为删除,添加,修改三个模块。
删除模块:对已退休或离开该厂的员工进行删除操作。
添加模块:添加新入厂的员工信息并保存起来。
修改模块:找到该员工并,选择所要修改的选项。
排序模块:本程序只对员工年龄进行从小到大排序。
查询模块:此模块分为按姓名,年龄,工作查询
姓名查询模块:输入要查找的姓名,找到就输出其信息。找不到则输出 无此人。
年龄查询模块:输入要查找的年龄,找到就输出其信息。找不到则输出无 此人。
工作查询模块:输入要查找的工作,找到就输出其信息。找不到则输出 无此人。
统计模块:此模块分为,统计年龄,性别和工作。
统计年龄:输入要统计的年龄,查找并输出,若无此年龄则输出暂无此 年龄员工。
统计性别:输入要统计的性别,查找并输出,若无此性别则输出暂无此 性别员工。
统计工作:输入要统计的工作,查找并输出,若无此工作则输出暂无此工作 员工。
保存模块:将现有信息保存丁文件中,以防丢失。
系统模块图
I
输入i的值,进入相应模块
更 新 模 块
查 询 模 块
排 序 模 块
统 计 模 块
保 存 模 块
退 出 系 统
录 入 模 块
输 出 模 块
添 加 员 工 信 息删 除 员 工 信 息修 改 员 工 信 息按
添 加 员 工 信 息
删 除 员 工 信 息
修 改 员 工 信 息
按
按
按
按
按
按
按
姓
年
工
年
年
性
工
名
龄
作
龄
龄
别
作
查
查
查
排
统
统
统
询
寻
询
序
计
计
计
1
]U****
按任意键返回主界面
五、详细设计及运行结果
流程图,函数之间相互调用的图示,程序设计及编码,运行结果
主函数:
i=1i=6i=2i=3i=4i=5i=0
i=1
退 出 系 统
输出模块:
是+
输出信息
i=1i=3i=2i=0
i=1i=2i=3i=0
六、调试情况,设计技巧及体会
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
自我评价:本人自我觉得此系统还不错,程序简洁明了,功能齐全,而且充分从用户的角度进行编排,易丁执行。经本人多次调试终丁出现0个错误与警告 而且从未有过死循环,用户一旦输错,立即会有提示,此程序相当的健壮。
因本人定义了全局变量,使操作更加简单易行,使用了结构体数组,避开链表 那样的复杂操作。但不足之处便是没有链表那样节省内存。如有机会下次可能 会用链表。
2、在设计过程中的感受。
在把字符一个个敲上屏幕时,坐在那一动不动相当的枯燥,一想到过会儿就能 看到自己亲自编的程序,就只能忍吧 。当看到模块一个个运行后与预料中的 完全一样时,郁闷的心情立马被一种成就感替代。就想赶紧编完看看自己的杰 作。然而也会遇到自己解决不了的问题,就只能去求老师了。
这次最大的感受就是当你竭尽全力的干一件事时,就没有能挡住你的困难。
七、参考文献
C语言课本。
八、附录:源代码
#include #include
#define MAX 100
/*文件名
/*文件名*/
FILE *fp;
int n;struct date
int n;
struct date
/*当前该厂人数*/
/*时间结构体*/
{ int year;int mouth;int day;};struct person{ char name[10];
{ int year;
int m