1.需求分析
一家公司不仅应该有管理者,还应该有数量更多的普通员工,一个员工信息管理系统,不仅要有管理员操作的模块还要有员工模块。
1.1员工登录
这一部分需要实现员工自主查询信息的功能,但要求不能使员工更改数据库中的信息
1.2管理员登录
这一部分要实现管理员对员工信息的管理,包括:新建员工信息、浏览员工信息、以员工号或姓名的方式查询员工信息、删除员工信息、根据各种方式筛选相应员工、修改员工信息以及退出该管理服务系统等等。每一步都将相应的数据存入二进制文件中。
2.系统设计
2.1实现员工登陆查询信息系统
2.2实现管理员登录管理系统
模块一:实现新建职工信息功能;
以追加的形式将数据存入二进制文件,并且将从文本文件中读取的num值自增,并将num重新存入文本文件中。
模块二:实现浏览员工信息功能;
一开始计划是只是浏览全部的员工信息,在后期的制作中,想到一个公司往往会有各种活动,需要对参与员工进行筛选,对其追加了根据年龄,工资性别的筛选功能。
模块三:实现查询员工信息功能;
对员工信息的查询功能包括两个方面,按员工号进行查询和按照姓名方式进行查询如果查询失败则输出没有该员工,返回操作页面。
模块四:实现删除员工信息功能;
从二进制文件中将数据全部读取出来,将输入的员工号与已有数据中的员工号进行比对,当数据相同时删除该员工信息,并将全部信息重新写入文件中。
模块五:实现修改员工信息功能;
该模块具体执行数据的修改,分成八个部分修改员工的各种信息。
模块六:实现退出服务系统功能;
用于结束程序的模块
模块七:实现读取已存入数据个数
由于使用了一个文本文件进行辅助工作,这个程序这是读取txt格式文本文件中存储的数字,将他存入全局变量num中。
模块八:管理员登录后的操作页面;
3.详细代码
3.1.1company.h
代码语言:javascript复制#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include <ctype.h>
#include<windows.h>
#include<conio.h>
static int NUM;
struct workers
{
char jobNo[20]; //工号
char name[15]; //姓名
char sex[15]; //性别
char year[15]; //年龄
char position[15]; //职务
char salary[15]; //工资
char addr[15]; //住址
char tel[15]; //电话
};
void f_1(struct workers *workers);
void f_2(struct workers *workers);
void f_3(struct workers *n);
void f_3_2(struct workers *workers);
void f_3_1(struct workers *workers);
int f_4(struct workers *workers);
void f_5(struct workers *workers);
int f_6(char n);
void see (void);
void xtjz(void);
int sign(void);
int Hollow(void);
3.1.2company.c
代码语言:javascript复制#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include <ctype.h>
#include<windows.h>
#include"gongshi.h"
void smile()
//1、系统加载界面
{
int i;
printf("nnnn");
printf("ttttt系统加载中n");
printf("ttt");
for(i = 0; i <20; i )
{
printf("$ ");
if(i ==19)
printf("n");
Sleep(100);
//使计算机进入短暂的休眠状态100毫秒
}
system("cls");
printf("nnnn");
printf("ttttt系统加载完成!n");
printf("ttttt 欢迎使用!n");
Sleep(500);
system("cls");//执行清屏操作
}
int sign(void)
{
int n;
struct workers *workers;
workers = (struct workers*)malloc(sizeof(struct workers));
printf("ttt=============================================================n");
printf("ttt|| 《职工信息管理系统》 ||n");
printf("ttt|| ||n");
printf("ttt|| 请按相应按键使用本系统! ||n");
printf("ttt|| ||n");
printf("ttt|| ||n");
printf("ttt|| 1.员工登录 2.管理员模式 ||n");
printf("ttt|| ||n");
printf("ttt=============================================================n");
scanf("%d",&n);
char number[9];
char pow[10];
if(n==2)
{
printf("请输入管理员账号");
scanf("%s",number);
fflush(stdin);
printf("请输入密码");
{
for(int i=0; i<9; i )
{
pow[i] = getch();
/*逐次赋值,但不回显*/
if (pow[i] == 'x0d')
/*回车则终止循环*/
{
pow[i]='