文档介绍:数据结构课程设计
员工管理系统
目录
1、课程设计的目的: 1
2、需求分析: 1
1. 要求: 1
2. 详细功能: 1
3、课程设计报告内容: 1
员工管理系统调用关系图: 1
2. 设计结构体及函数表: 2
3. 实现主程序和各模块的调用关系: 2
4、详细设计: 3
1. 各个操作的算法实现: 3
:(见附录) 4
5、参考文献: 5
6、部分运行结果界面: 5
: 7
2. 调试中遇到的问题: 7
7、总结: 8
8、附录:(程序) 8
课程设计的目的:
用〈〈数据结构〉〉所学的知识作数据结构,并结合C语言基本知识。编写一个简单的职工管理系统。以把所学数据结构知识应用到实际软件开发中去。了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;
需求分析:
要求:
职工对象包括姓名、性别、出生年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
详细功能:
信息排序sort():
按员工的工号进行排序,并输出排序结果。
():
按员工工号找出员工信息,然后从新输入,进行覆盖,实现修改。
add():
系统将提示输入新纪录所需信息,信息包含:姓名、性别、出生年月、学历、职务、住址、电话。
():
首先提示用户输入要删除的员工工号,然后调用删除函数,删除该纪录的相关 资料,支持重名选择删除和循环删除。
():
提示用户输入要查找的员工工号,然后系统调用查找函数查找,接着系统使用相关命令输出查到的全部信息。
():
将内存中的纪录内容全部输出,包括未保存到磁盘的记录项。
():
,完成后返回到主菜单界面。
(0):
直接退出系统,不保存修改。
3、课程设计报告内容:
员工管理系统调用关系图:
略。。。。
设计结构体及函数表:
(1)结构体:
struct employee
{
char num[10];
char name[15];
char sex[5];
char born[20];
char xl[20];
char zz[10];
char tel[20];
};
(2)函数目录表:
int read_file(struct employee em[]);
void menu();
void write_file(struct employee em[]);
void add();
void select(); //查看职工所有信息
void num_query(); //按工号查询
void num_del(); //按工号删除
void sort(); //排序
void num_modify(); //按工号修改职工信息
void save(); //保存信息
void disp(); //显示职工信息
void fh(); //返回主菜单
struct employee em[300]; //这个数组用来保存所有的职工信息和文件里面的一致
实现主程序和各模块的调用关系:
void main()
{
int choose=0;
FILE *fp=NULL;
char yesorno;
if((fp=fopen("","rb+"))==NULL)
{
printf("\n=========>提示:文件不存在,是否要创建一个?(y/n)\n");
scanf("%c",&yesorno);
if(yesorno=='y'||yesorno=='Y')
{
//这里仅为了建立文件
fp=fopen("","wb+");
fclose(fp); //关闭fp所指的文件,释放文件缓冲区
}
else
exit