职工信息管理课程设计报告.doc
文本预览下载声明
数据结构课程设计实验报告
——职工信息管理
班 级:计0801—2班
姓 名:解胜年
学 号 指导教师:刘立嘉
2010年9月16号
需求分析
1、随着社会和经济的发展,一个企业的管理工作变成了企业发展的灵魂,并且现在人员的信息种类越来越多,这给管理者带来了很多的不便。有了这个系统便可以给他们节省大量的工作,大大减小他们的工作量。
2、根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、排序等操作。
3、设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能:
系统以菜单方式工作
职工信息录入功能(职工信息用文件保存)
职工信息浏览功能
职工信息查询功能,查询方式可按学历查询或按职工号查询
职工信息删除修改功能(可选项)
概要设计
1、根据上面的需求分析,可以将这个系统设计分为以下模块:数据添加、数据查找、数据修改、数据删除、数据输出。系统功能模块如下:
各个主要函数概要设计
#define N 100//定义数组的最大容量是100
struct born //定义出生年月的结构体为born
{
定义年,月,日均为整型;
};
struct inf //定义员工信息的主要内容
{
int 职工号,定义职工号为整型;
char name[30],定义姓名为字符串类型,长度为30;
char sex[3],定义性别为字符串类型,长度为三;
struct born bor; 定义出生日期的结构体为员工信息结构体的一个成员,并且改名为bor;
char degree[10],定义学历的类型为字符串类型,长度为10
char position[10]; 定义值职位的类型为字符串类型,长度为10
int income; 定义工资的类型为整型
char address[20];定义职工的地址为字符串类型,长度为20
char phone[15]; 定义职工的电话类型为字符串类型,长度为15
}inf[N]; 定义结构体为数组
Void input( );//定义职工信息的输入函数
{
1、 首先定义文件类型的指针fp,便于以后对文件进行操作;
利用fopen打开文件类型的指针函数,判断指针所指的文件是否为空if((fp=fopen(inf.txt,w))==NULL) ,如果为空则输出文件打开错误,然后建立文件并想内存中输入职工的信息;
利用fprintf函数将职工的信息读入并保存到inf的文件中;
}
void skip()/*浏览全部信息*/
{首先利用fopen打开FILE类型的指针文件,然后将文件的内容利用fscanf命令读入到内存中fscanf(fp,%d %s %s %d-%d-%d %s %s %d%s%s\n,inf[i].num,inf[i].name,inf[i].sex,inf[i].bor.year,inf[i].bor.month,inf[i].bor.day,inf[i].degree,inf[i].position,inf[i].income,inf[i].address,inf[i].phone); ,在文件没有遇到空的时候将读取的信息输出到屏幕上。
}
Void paixu()
{ 首先利用fopen打开FILE类型的指针文件,然后将文件的内容利用fscanf命令读入到内存中fscanf(fp,%d %s %s %d-%d-%d %s %s %d%s%s\n,inf[i].num,inf[i].name,inf[i].sex,inf[i].bor.year,inf[i].bor.month,inf[i].bor.day,inf[i].degree,inf[i].position,inf[i].income,inf[i].address,inf[i].phone); ,然后利用冒泡排序法将职工的信息按照工资递增的顺序进行排序,然后输出到屏幕上。
for(i=0;icount;i++)
for(j=i+1
显示全部