C语言员工信息管理系统
目录
题目:员工信息管理系统
1. 目的
(1) 加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
(2) 学会设计数据结构。其中包括对结构数组、数据文件等知识的运用。
(3) 提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。
(4) 训练C程序调试能力,能将一个中小型各级组织系统联调通过。
(5) 开发一个中小型系统,掌握系统研发全过程。
(6) 培养分析问题、解决实际问题的能力。
2. 实验内容
在一个大型的公司里,员工的管理是一个很重要的方面,本实验希望同学们设计一个员工的管理系统,能够对在职员工的各个方面进行管理,包括信息的插入,删除,查询操作。在此基础上,能够进行功能扩展,进行创新设计。
3. 设计要点
3.1 功能要求
(1) 基本要求
试设计一个简单的员工信息管理系统,使之能提供以下基本功能:
- 系统以菜单方式工作;
- 信息录入功能(用文件保存):包括员工姓名,出生日期,籍贯,政治面貌,在职职位,以及联系电话的录入;
- 信息查询功能:对员工信息进行查询,如按照姓名查询,按照政治面貌查询等;
- 信息删除功能:包括员工各种信息的删除;
- 信息修改功能:包括对员工信息的修改;
- 信息统计功能:包括对现有员工的统计。
(2) 创新要求
达到上述基本要求后,可进行创新设计,如对菜单进行美化,功能扩展等。
3.2. 信息描述
本系统中涉及的基本数据对象有员工的姓名,出生日期,籍贯,政治面貌,在职职位,以及联系电话。
3.3 功能描述
本系统主要包括员工信息输入,查询,删除几个功能模块。下面给出这四个功能模块的有关功能描述。
| 模块名称 | 功能描述 |
|---|---|
| 员工信息的输入 | 对员工信息进行输入,并保存 |
| 员工信息的查询 | 1. 按照姓名查询; 2. 按照职位查询; 3. 按照政治面貌查询。 |
| 员工信息的删除 | 1. 对员工的信息进行删除并保存 |
| 员工信息的统计 | 1. 按照总员工数进行统计; 2. 按照政治面貌进行统计; |
4. 程序实现
1. 整体布局
#include <stdio.h> //标准输入输出函数头文件
#include <stdlib.h> //exit(0)头文件
#include <conio.h> //getch() 函数头文件
#include <string.h>
struct worker {
char ID[20]; //工号
char name[20]; //姓名
char born[20]; //生日
char address[100]; //籍贯
char political_status[20]; //政治面貌
char position[20]; //职务
char tell[15]; //电话
} work[1000];
int n; //全局变量,总人数
void menu(); //菜单
void input(); //从键盘输入
void output(int id); //根据id显示职工信息
void show(); //显示所有职工信息
void query(); //查询信息
void deleted(); //删除职工信息
void revise(); //修改职工信息
void read(); //读入数据
void write(); //写入数据
void mima(); //密码输入
//菜单模块
void menu() {
printf("\n\n\t\t大家好\n\n");
printf("\t\t\t欢迎使用员工信息管理系统1.0\n\n\n");
printf("\t\t************职工信息管理系统菜单**********\n");
printf("\t\t* *\n");
printf("\t\t* 1.录入职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.显示职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.查询职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.修改职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 5.删除职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 0.退出 *\n");
printf("\t\t* *\n");
printf("\t\t******************************************\n");
printf("\t\t请输入指令(0-5): ");
}
int main() {
int num;
n = 0;
system("color 0A");
// mima();//密码输入页面
while(1) {
menu();
scanf("%d",&num); system("cls");
switch(num) {
// case 1: input(); break;
// case 2: show(); break;
// case 3: query(); break;
// case 4: revise(); break;
// case 5: deleted(); break;
case 0: printf("\t\t\t谢谢使用!\n\n"); return 0;
default :
printf("\n\n\t\t\t无效的指令!,请重新输入\n\n\n");
}
system("pause"); //暂停
system("cls"); //清屏
}
}
2. 文件读写模块
//文件读写模块
void read() { //读入数据
FILE *fp;
int i = 0;
if( (fp = fopen("员工信息库.txt","r")) == NULL ) {
printf("新建一个文本文件,文件名为:员工信息库\n\n\n");
system("pause");
system("cls");
return ; // 文件打开失败,直接退出
}
fscanf(fp,"%d\n",&n);
while(i < n) {
fscanf(fp,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
work[i].ID, work[i].name, work[i].born, work[i].address,
work[i].political_status, work[i].position, work[i].tell);
i ++;
}
fclose(fp);
}
void write() { //写入数据
FILE *fp;
int i = 0;
if( (fp = fopen("员工信息库.txt","w")) == NULL ) {
printf("无法打开文件!\n");
return ;
}
fprintf(fp,"%d\n",n);
while(i < n) {
fprintf(fp,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
work[i].ID, work[i].name, work[i].born, work[i].address,
work[i].political_status, work[i].position, work[i].tell);
i ++;
}
fclose(fp);
}
//由于文件读写无法直接看到正常效果,所以需要写一个测试函数
void test1(){//测试 read() 函数是否可以正常读入文件中的信息
read();
int i=0;
while(i < n) {
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
work[i].ID, work[i].name, work[i].born, work[i].address,
work[i].political_status, work[i].position, work[i].tell);
i ++;
}
}
void test2(){//测试 write() 函数是否可以正常写入信息到文件中
int i=0;
scanf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
work[i].ID, work[i].name, work[i].born, work[i].address,
work[i].political_status, work[i].position, work[i].tell);
n=1;
write();
}
3. 输入输出模块
//输入模块
void input() { // 从键盘输入
int i;
int flag; //标记工号是否已存在
char c; //指令Y、N
read(); //输入数据前先将文件中原有的数据读入
do {
flag = 0;
printf("\n\n\t\t请输入职工的工号: ");
scanf("%s",work[n].ID);
for(i = 0 ; i < n ; i ++) {
if(strcmp(work[i].ID,work[n].ID) == 0) {
flag = 1; break; //该工号已存在
}
}
if(flag) {
printf("该工号已存在!\n\n");
printf("\t\t是否继续输入?(Y/N): ");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
continue;
}
printf("\t\t请输入职工的姓名: ");
scanf("%s",work[n].name);
printf("\t\t请输入职工的出生年月: ");
scanf("%s",work[n].born);
printf("\t\t请输入职工的住址: ");
scanf("%s",work[n].address);
printf("\t\t请输入职工的政治面貌: ");
scanf("%s",work[n].political_status);
printf("\t\t请输入职工的职务: ");
scanf("%s",work[n].position);
printf("\t\t请输入职工的电话: ");
scanf("%s",work[n].tell);
printf("\t\t是否继续输入?(Y/N): ");
scanf("%*c%c",&c);
n ++;
} while( c != 'N' && c != 'n');
write();
printf("\n\n数据已保存!\n\n");
}
//显示模块
void output(int id) { //根据id显示职工信息
printf("\n\n\n");
printf("\t\t 工号: %s\n",work[id].ID);
printf("\t\t 姓名: %s\n",work[id].name);
printf("\t\t 出生年月: %s\n",work[id].born);
printf("\t\t 籍贯: %s\n",work[id].address);
printf("\t\t 政治面貌: %s\n",work[id].political_status);
printf("\t\t 职务: %s\n",work[id].position);
printf("\t\t 电话: %s\n",work[id].tell);
}
void show() { //显示所有职工信息
int i;
read();
if(n == 0) printf("无记录!\n\n");
else {
for(i = 0 ; i < n ; i ++) {
output(i);
}
}
}
4. 查询模块
//查询模块
void query() { //查询信息
char num;
int flag,i;
char q_id[20]; //查询工号
char q_name[20]; //查询姓名
char q_status[20]; //查询政治面貌
char q_position[20]; //查询职位
char c; //指令Y / N
read(); //打开程序后,要查询以前的数据,要先读入
while(1) {
system("cls");
printf("\n\n");
printf("\t\t******************查询********************\n");
printf("\t\t* *\n");
printf("\t\t* 1.按工号查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.按姓名查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.按政治面貌查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.按职务查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 输入其他任意键退出本模块 *\n");
printf("\t\t******************************************\n");
printf("\t\t请输入指令(1-4):");
scanf("%*c%c",&num);
if(num < '1' || num > '4') {
printf("错误指令!\n\n");
system("pause");
break;
//continue;
}
system("cls");
flag = 0;//用来标记职工信息是否存在
if(num == '1') { //按工号查询
printf("\t\t请输入您要查询职工的工号:");
scanf("%s",q_id);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].ID,q_id) == 0) {
output(i);
flag = 1;//存在
break;
}
}
} else if(num == '2') { //按姓名查询
printf("\t\t请输入您要查询职工的姓名:");
scanf("%s",q_name);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].name,q_name) == 0) {
output(i);
flag = 1;//存在
}
}
} else if(num == '3') { //按政治面貌查询
printf("\t\t请输入您要查询职工的政治面貌:");
scanf("%s",q_status);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].political_status,q_status) == 0) {
output(i);
flag = 1;//存在
}
}
} else if(num == '4') { //按职务查询
printf("\t\t请输入您要查询职工的职务:");
scanf("%s",q_position);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].position,q_position) == 0) {
output(i);
flag = 1;//存在
}
}
}
if(flag == 0) { //判断是否有该职工信息
printf("\n\n无该职工信息!\n\n");
}
printf("\n\n是否继续查询(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
}
}
5. 修改信息模块
//修改信息模块
void revise() { //修改职工信息
char change_ID[20]; //需修改的职工的工号
int number; //职工信息在数据中的位置
char num; //指令
char message[100]; //修改的信息
char c; //指令Y?N
int flag;
int i;
read();
while(1) {
flag = 0;
system("cls");
printf("请输入需修改的职工的工号:");
scanf("%s",change_ID);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].ID,change_ID) == 0 ) {
number = i;
flag = 1;
break;
}
}
if(flag == 0) {
printf("\n\n无此员工信息!!\n\n");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
continue;
}
printf("\n\n");
printf("\t\t*****************修改********************\n");
printf("\t\t* *\n");
printf("\t\t* 1.修改姓名 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.修改出生日期 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.修改籍贯 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.修改政治面貌 *\n");
printf("\t\t* *\n");
printf("\t\t* 5.修改职务 *\n");
printf("\t\t* *\n");
printf("\t\t* 6.修改电话 *\n");
printf("\t\t* *\n");
printf("\t\t* 输入其他任意键退出本模块 *\n");
printf("\t\t*****************************************\n");
printf("\t\t请输入指令(1-6):");
// scanf("%c",&num);
scanf("%*c%c",&num); // * 声明无意义作用
if(num < '1' || num > '6') {
printf("错误指令!\n\n");
system("pause");
break;
//continue;
}
system("cls");
printf("请输入修改后的信息:");
scanf("%s",message);
switch(num) {
case '1' : strcpy(work[number].name,message); break;
case '2' : strcpy(work[number].born,message); break;
case '3' : strcpy(work[number].address,message); break;
case '4' : strcpy(work[number].political_status,message); break;
case '5' : strcpy(work[number].position,message); break;
case '6' : strcpy(work[number].tell,message); break;
default : break;
}
//system("cls");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
}
write();
}
6. 删除信息模块
//删除信息模块
void deleted() { //删除职工信息
char delete_ID[20]; //删除职工工号
int flag; //标记是否有该职工信息
int i,j;
char c;
read();
while(1) {
system("cls");
flag = 0;
printf("请输入需删除职工信息的工号:");
scanf("%s",delete_ID);
for(i = 0 ; i < n ; i ++) {
if( strcmp(work[i].ID,delete_ID) == 0) {
n --;
flag = 1;
for(j=i; j<n; j++) {
work[j] =work[j + 1];
}
break;
}
}
if(!flag) printf("\n\n无此员工信息!\n\n");
else printf("\n\n删除成功!\n");
printf("\n\n是否继续删除(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
}
write();
}
7. 登录密码模块
void mima() { //密码输入
char mima[7], Mima[7]="123456";
do {
printf("\n\n\t\t\t请输入登录密码:");
scanf("%s",mima);
if(!strcmp(mima,Mima)) {
printf("\n\n\t\t\t密码输入正确!进入系统页面:");
} else
printf("\n\n\t\t\t密码输入错误,请重新输入:");
} while(strcmp(mima,Mima));
system("pause");
system("cls");
}
8. 完整代码实现
点击查看代码
#include <conio.h> //getch() 函数头文件
#include <stdio.h> //标准输入输出函数头文件
#include <stdlib.h> //exit(0)头文件
#include <string.h>
struct worker {
char ID[20]; // 工号
char name[20]; // 姓名
char born[20]; // 生日
char address[100]; // 籍贯
char political_status[20]; // 政治面貌
char position[20]; // 职务
char tell[15]; // 电话
} work[1000];
int n; // 全局变量,总人数
void menu(); // 菜单
void input(); // 从键盘输入
void output(int id); // 根据id显示职工信息
void show(); // 显示所有职工信息
void query(); // 查询信息
void deleted(); // 删除职工信息
void revise(); // 修改职工信息
void read(); // 读入数据
void write(); // 写入数据
void mima(); // 密码输入
// 菜单模块
void menu() {
printf("\n\n\t\t大家好\n\n");
printf("\t\t\t欢迎使用员工信息管理系统1.0\n\n\n");
printf("\t\t************职工信息管理系统菜单**********\n");
printf("\t\t* *\n");
printf("\t\t* 1.录入职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.显示职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.查询职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.修改职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 5.删除职工信息 *\n");
printf("\t\t* *\n");
printf("\t\t* 0.退出 *\n");
printf("\t\t* *\n");
printf("\t\t******************************************\n");
printf("\t\t请输入指令(0-5): ");
}
int main() {
int num;
n = 0;
system("color 0A");
mima();//密码输入页面
while (1) {
menu();
scanf("%d", &num);
system("cls");
switch (num) {
case 1: input(); break;
case 2: show(); break;
case 3: query(); break;
case 4: revise(); break;
case 5: deleted(); break;
case 0:
printf("\t\t\t谢谢使用!\n\n");
return 0;
default:
printf("\n\n\t\t\t无效的指令!,请重新输入\n\n\n");
}
system("pause"); // 暂停
system("cls"); // 清屏
}
}
// 文件读写模块
void read() { // 读入数据
FILE* fp;
int i = 0;
if ((fp = fopen("员工信息库.txt", "r")) == NULL) {
printf("新建一个文本文件,文件名为:员工信息库\n\n\n");
system("pause");
system("cls");
return; // 文件打开失败,直接退出
}
fscanf(fp, "%d\n", &n);
while (i < n) {
fscanf(fp, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n", work[i].ID, work[i].name,
work[i].born, work[i].address, work[i].political_status,
work[i].position, work[i].tell);
i++;
}
fclose(fp);
}
void write() { // 写入数据
FILE* fp;
int i = 0;
if ((fp = fopen("员工信息库.txt", "w")) == NULL) {
printf("无法打开文件!\n");
return;
}
fprintf(fp, "%d\n", n);
while (i < n) {
fprintf(fp, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n", work[i].ID, work[i].name,
work[i].born, work[i].address, work[i].political_status,
work[i].position, work[i].tell);
i++;
}
fclose(fp);
}
// 由于文件读写无法直接看到正常效果,所以需要写一个测试函数
void test1() { // 测试 read() 函数是否可以正常读入文件中的信息
read();
int i = 0;
while (i < n) {
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n", work[i].ID, work[i].name,
work[i].born, work[i].address, work[i].political_status,
work[i].position, work[i].tell);
i++;
}
}
void test2() { // 测试 write() 函数是否可以正常写入信息到文件中
int i = 0;
scanf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n", work[i].ID, work[i].name,
work[i].born, work[i].address, work[i].political_status,
work[i].position, work[i].tell);
n = 1;
write();
}
// 输入模块
void input() { // 从键盘输入
int i;
int flag; // 标记工号是否已存在
char c; // 指令Y、N
read(); // 输入数据前先将文件中原有的数据读入
do {
flag = 0;
printf("\n\n\t\t请输入职工的工号: ");
scanf("%s", work[n].ID);
for (i = 0; i < n; i++) {
if (strcmp(work[i].ID, work[n].ID) == 0) {
flag = 1;
break; // 该工号已存在
}
}
if (flag) {
printf("该工号已存在!\n\n");
printf("\t\t是否继续输入?(Y/N): ");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n')
break;
continue;
}
printf("\t\t请输入职工的姓名: ");
scanf("%s", work[n].name);
printf("\t\t请输入职工的出生年月: ");
scanf("%s", work[n].born);
printf("\t\t请输入职工的住址: ");
scanf("%s", work[n].address);
printf("\t\t请输入职工的政治面貌: ");
scanf("%s", work[n].political_status);
printf("\t\t请输入职工的职务: ");
scanf("%s", work[n].position);
printf("\t\t请输入职工的电话: ");
scanf("%s", work[n].tell);
printf("\t\t是否继续输入?(Y/N): ");
scanf("%*c%c", &c);
n++;
} while (c != 'N' && c != 'n');
write();
printf("\n\n数据已保存!\n\n");
}
// 显示模块
void output(int id) { // 根据id显示职工信息
printf("\n\n\n");
printf("\t\t 工号: %s\n", work[id].ID);
printf("\t\t 姓名: %s\n", work[id].name);
printf("\t\t 出生年月: %s\n", work[id].born);
printf("\t\t 籍贯: %s\n", work[id].address);
printf("\t\t 政治面貌: %s\n", work[id].political_status);
printf("\t\t 职务: %s\n", work[id].position);
printf("\t\t 电话: %s\n", work[id].tell);
}
void show() { // 显示所有职工信息
int i;
read();
if (n == 0)
printf("无记录!\n\n");
else {
for (i = 0; i < n; i++) {
output(i);
}
}
}
// 查询模块
void query() { // 查询信息
char num;
int flag, i;
char q_id[20]; // 查询工号
char q_name[20]; // 查询姓名
char q_status[20]; // 查询政治面貌
char q_position[20]; // 查询职位
char c; // 指令Y / N
read(); // 打开程序后,要查询以前的数据,要先读入
while (1) {
system("cls");
printf("\n\n");
printf("\t\t******************查询********************\n");
printf("\t\t* *\n");
printf("\t\t* 1.按工号查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.按姓名查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.按政治面貌查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.按职务查询 *\n");
printf("\t\t* *\n");
printf("\t\t* 输入其他任意键退出本模块 *\n");
printf("\t\t******************************************\n");
printf("\t\t请输入指令(1-4):");
scanf("%*c%c", &num);
if (num < '1' || num > '4') {
printf("错误指令!\n\n");
system("pause");
break;
// continue;
}
system("cls");
flag = 0; // 用来标记职工信息是否存在
if (num == '1') { // 按工号查询
printf("\t\t请输入您要查询职工的工号:");
scanf("%s", q_id);
for (i = 0; i < n; i++) {
if (strcmp(work[i].ID, q_id) == 0) {
output(i);
flag = 1; // 存在
break;
}
}
} else if (num == '2') { // 按姓名查询
printf("\t\t请输入您要查询职工的姓名:");
scanf("%s", q_name);
for (i = 0; i < n; i++) {
if (strcmp(work[i].name, q_name) == 0) {
output(i);
flag = 1; // 存在
}
}
} else if (num == '3') { // 按政治面貌查询
printf("\t\t请输入您要查询职工的政治面貌:");
scanf("%s", q_status);
for (i = 0; i < n; i++) {
if (strcmp(work[i].political_status, q_status) == 0) {
output(i);
flag = 1; // 存在
}
}
} else if (num == '4') { // 按职务查询
printf("\t\t请输入您要查询职工的职务:");
scanf("%s", q_position);
for (i = 0; i < n; i++) {
if (strcmp(work[i].position, q_position) == 0) {
output(i);
flag = 1; // 存在
}
}
}
if (flag == 0) { // 判断是否有该职工信息
printf("\n\n无该职工信息!\n\n");
}
printf("\n\n是否继续查询(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n')
break;
}
}
// 修改信息模块
void revise() { // 修改职工信息
char change_ID[20]; // 需修改的职工的工号
int number; // 职工信息在数据中的位置
char num; // 指令
char message[100]; // 修改的信息
char c; // 指令Y?N
int flag;
int i;
read();
while (1) {
flag = 0;
system("cls");
printf("请输入需修改的职工的工号:");
scanf("%s", change_ID);
for (i = 0; i < n; i++) {
if (strcmp(work[i].ID, change_ID) == 0) {
number = i;
flag = 1;
break;
}
}
if (flag == 0) {
printf("\n\n无此员工信息!!\n\n");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n')
break;
continue;
}
printf("\n\n");
printf("\t\t*****************修改********************\n");
printf("\t\t* *\n");
printf("\t\t* 1.修改姓名 *\n");
printf("\t\t* *\n");
printf("\t\t* 2.修改出生日期 *\n");
printf("\t\t* *\n");
printf("\t\t* 3.修改籍贯 *\n");
printf("\t\t* *\n");
printf("\t\t* 4.修改政治面貌 *\n");
printf("\t\t* *\n");
printf("\t\t* 5.修改职务 *\n");
printf("\t\t* *\n");
printf("\t\t* 6.修改电话 *\n");
printf("\t\t* *\n");
printf("\t\t* 输入其他任意键退出本模块 *\n");
printf("\t\t*****************************************\n");
printf("\t\t请输入指令(1-6):");
// scanf("%c",&num);
scanf("%*c%c", &num); // * 声明无意义作用
if (num < '1' || num > '6') {
printf("错误指令!\n\n");
system("pause");
break;
// continue;
}
system("cls");
printf("请输入修改后的信息:");
scanf("%s", message);
switch (num) {
case '1':
strcpy(work[number].name, message);
break;
case '2':
strcpy(work[number].born, message);
break;
case '3':
strcpy(work[number].address, message);
break;
case '4':
strcpy(work[number].political_status, message);
break;
case '5':
strcpy(work[number].position, message);
break;
case '6':
strcpy(work[number].tell, message);
break;
default:
break;
}
// system("cls");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n')
break;
}
write();
}
// 删除信息模块
void deleted() { // 删除职工信息
char delete_ID[20]; // 删除职工工号
int flag; // 标记是否有该职工信息
int i, j;
char c;
read();
while (1) {
system("cls");
flag = 0;
printf("请输入需删除职工信息的工号:");
scanf("%s", delete_ID);
for (i = 0; i < n; i++) {
if (strcmp(work[i].ID, delete_ID) == 0) {
n--;
flag = 1;
for (j = i; j < n; j++) {
work[j] = work[j + 1];
}
break;
}
}
if (!flag)
printf("\n\n无此员工信息!\n\n");
else
printf("\n\n删除成功!\n");
printf("\n\n是否继续删除(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n')
break;
}
write();
}
void mima() { // 密码输入
char mima[7], Mima[7] = "123456";
do {
printf("\n\n\t\t\t请输入登录密码:");
scanf("%s", mima);
if (!strcmp(mima, Mima)) {
printf("\n\n\t\t\t密码输入正确!进入系统页面:");
} else
printf("\n\n\t\t\t密码输入错误,请重新输入:");
} while (strcmp(mima, Mima));
system("pause");
system("cls");
}

浙公网安备 33010602011771号