1功能:职工档案管理系统设计,每个职工信息是一条记录,包括编号,姓名,性别,出生年月,职称,工资级别,**。
系统实现以下功能:
1) 录入:输入每一位职工的信息并将信息存入文件中。
2) 显示:完成全部职工记录的显示。
3) 查找:完成按编号或姓名的查找职工的相关信息并显示。
4) 排序:按工资级别由高到低进行排序,并显示。
5) 删除与修改:输入编号,可删除或修改该职工的相关信息。
6) 保存:将相关信息写入磁盘文件,便于存取操作。
要求:1)用c语言实现程序设计;
2)利用结构体和链表实现职工信息的数据结构设计,禁止用数组。
3)系统的各个功能模块要求用函数的形式实现;
4)界面友好,程序必须加注释。
2 系统功能概述。
学生考勤系统主要利用数组来实现,其数组元素是结构体类型,整个系统由如下几个功能模块组成:
1) 输入录入功能:输入记录模块主要完成将数据存入数组中的工作。在此职工档案管理系统中,是从键盘上输入从而记录每个学生的基本信息,再通过从以文本形式存储的数据文件中读入的方式记录有关信息。
当从数据文件中读入记录时,就是在以记录为单位的数据文件中,将记录逐条复制到结构体类型的数组元素中。
2) 显示全部职工信息功能:主要是把输入的职工信息全部显示出来。通过读取文件的方式,把文件中全部职工的信息显示在屏幕上。
3) 查询功能:主要是在已输入的职工信息中查询某个职工的信息并将其全部信息显示出来。主要是按编号或姓名查询。
4) 排序功能:主要实现职工的薪水等级的从高到低排序输出。
5) 删除与修改:输入要修改的职工的编号,然后选择要修改或删除的职工的某个信息,然后输入修改后的信息,然后显示出来。
6) 保存功能:将修改后的信息保存到磁盘中,便于存取操作。
系统功能简要流程图:
3总体设计。
一) 功能模块设计。
1)主控main( )函数执行流程。
职工档案管理系统主要流程如下:他现在屏幕上输出相关选项1--6,用户选择执行相关工能的选项。
1: 输入1,调用input( )函数,实现职工信息的录入功能。:
2: 输入2,调用show( )函数,实现全部职工信息的显示。
3: 输入 3,调用search()函数,实现通过输入职工的编号或姓名从而实现对该职工的全部信息查询。
4: 输入4, 调用sort()函数 ,执行对职工的薪水等级的从高到低的排序功能输出。
5: 输入5,调用deletandset( )函数,执行通过输入职工的编号,从而实现对该职工的相关信息的修改和删除。
6: 输入6,调用regist( )函数,实现对职工信息的保存,实现存取。
2) 录入功能模块。
输入记录模块主要实现将数据存入数组中。从键盘上输入各个学生的信息并将其存入数组中。新建一个文件,运用for函数将学生信息写入文件。
3) 显示功能模块。
从文件中读取信息时,运用一个for函数,实现对每一个职工的信息的读取输出。
4) 查询功能模块。
查询记录模块主要实现在数组中按职工姓名或遍号查找满足条件的记录。在查询函数search()中,,若输入1,则按编号查找,若输入2,则按姓名查找。
5) 薪水等级排序功能。
薪水等级排序功能主要实现对职工的薪水等级的由高到低的排序。
6) 删除与修改功能。
删除与修改模块主要实现对职工的相关信息的修改与删除。在deleteandset( )函数中,若输入1,则进行修改信息,若输入2,则进行删除信息。在删除和修改模块都是通过输入某职工的编号从而对其相关信息进行修改。
7) 保存功能模块。
保存功能模块主要实现对修改或删除后的职工信息进行保存,调用。
fwrite(&stu[i],sizeof(struct wor),1,fp)将职工的信息写入原文件中,打开更新的文件并运用for()函数将其输出到屏幕上。
功能模块流程图:
input二)数据结构设计。
本程序定义了结构体wor,用于存放职工的信息。
struct wor //定义职工结构。
char number[20];/编号。
char name[20];/姓名。
char sex[20];/性别。
char birth[30];/出生年月。
char job[20];/职称。
char unit[20];/工作单位。
char salary[20];/薪水等级。
char tele[20];/**。
stu[20];
3)函数功能描述。
1)fopen()
函数原型:file*fopen(const char*filename,const char*mode);
fopen()函数是根据mode指定的模式,打开由filename指定的文件。
2)fclose()
函数原型:int fclose(file*stream);
fclose()函数的功能是关闭由文件指针stream指向的文件。
3)fwrite()
函数原型:int fwrite(const void*buffer,int size,int count,file*stream);
fwrite()函数的功能是从buffer所指的数组中,把count个字段写到stream所指的文件中,每个字段为size个字节,同时,将读/写位置指针向前移动 size*count个字节。
4) 运行结果。
1 主界面:
选择1功能后的界面:
选择2后的界面:
选择3后的界面:
输入4后的界面:
输入5后的界面:
输入6后的界面:
5)调试中遇到问题及解决方法。
1):对于文件的读写功能的掌握不是很深入,在对文件的读写时出现了一些简单语法错误,然后认真看了课本以后进行了修改,从而对文件的一些知识有了更深入的了解。
2) 在定义结构体时,对职工的相关信息定义的数组空间过小,导致了数据溢出,还有对定义的类型的不适合,导致运行时出现了一些小错误,通过对数组大小的改变还有类型的合适的调整,从而最终实现了要求。
职工档案管理系统设计
作者 董引娣。软件导刊 2013年第12期。摘要 职工档案管理系统旨在为企业提供一种更加方便的方式对职工进行管理,而且可以为人力资源管理提供所需的相关信息。因此,运用软件工程思想,利用数据库技术编写一套完善的职工档案管理系统尤为必要。对职工档案管理系统进行了设计,介绍了各模块之间的关系及系统结构和系...
职工档案管理系统
include include include include define n 100 typedef struct employee 职工基本情况。char num 6 编号。char name 8 姓名。char sex 性别f为女m为男。char birth 8 出生年月。char work...
C语言 职工档案管理系统
c语言程序设计。课程设计报告。设计题目 职工档案管理系统设计。专业 电子信息科学与技术。学号 3080422 班级 2008级1班 姓名。指导教师。2009 年春季学期。附件 主要源程序 职工档案管理系统 char sex 性别f为女m为男 include include include inclu...