需求分析
1.1 设计系统的目的分析
本系统要求用 C 语言建立一个职工信息管理系统,本职工信息管理系统可以实现对众多员工信息的管理。包含对职工信息进行添加、查询、删除、修改。
1.2系统的界面要求
按任意键便可以进入主菜单,在主菜单上显示出该系统的功能,通过输入数字 0 到 6 来进行选择便可以实现用户所需要的功能,每个模块进入模块内部实现系统的具体功能,实现用户所需要的功能。
1.3主体功能分析
该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化
设计的思想。下面六个模块都是利用 C 语言文件文件操作,向文件中添加数据、修改数据、查询数据、删除数据和保存数据。
1.3.1创建、读取和写入文件
判断是否有存储信息用的文本文件,若无则提示需建立一个文件。
用 fopen()建立一个文本文件,然后向其中写入数据(例如,向文件中输
入“职工号”,“姓名”,“性别”,“年龄”“学历”,“工资”“住址”,“电话”),并对文件进行命名为a.txt。
1.3.2 添加职工信息
通过键盘输入职工人员的职工号、姓名、性别、年龄、职务电话号码、地址信息便可被添加到通讯录文件内,添加完毕后,系统会自动询问你是否继续添加,如你想继续添加,再通过键盘输入通讯录人员的姓名、电话号码、地址信息即可实现继续添加。
通过调用add()函数来添加职工信息,可以连续添加多个职工信息。
1.3.3 显示职工信息
通过前面第一个模块添加职工信息后,之后便可以执行第二个模块,通过第二个模块可以对已有的职工信息进行显示。
通过调用 browser()函数来进行显示所有的职工信息,browser()函数可以实现显示全部职工信息。
1.3.4 查询职工信息
调用search()函数来实现查询功能。查询可由四个方式进行:一是根据职工号进行查询,二是根据姓名进行查询。
1.3.5 删除职工信息
调用_delete()函数实现删除功能,删除可由两个方式进行:一是根据职工号进行删除,二是根据姓名进行删除。
1.3.6修改职工信息
调用 modify()函数来实现修改功能,提供了修改方法为根据职工号进行修改。
1.4 设计要求分析
①根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,
撰写课程设计报告。
②进一步理解和运用结构化程序设计的思想和方法;
③掌握开发一个小型实用系统的基本方法;
④学会利用流程图表示算法。
⑤学会调试一个较长程序的基本方法,进一步掌握利用 C 语言进行程序设计的能力;
1.5软件的数据结构分析
1.5.1 软件的函数
本软件采用了不同的函数来进行定义不同模块的功能,通过调用不同的函数,可以实现不同的功能。软件中采用了五个主体函数来实现添加职工,修改职工,查找职工,显示职工,删除职工的功能。
1.5.2 文件的调用和保存
本系统通过文本方式对用户所添加的信息进行保存。通过保存下来的文本文件,用户可以在电脑磁盘中找到用户存入文件,进而可以找到用户所录入的职工信息。
概要设计
2.1 系统界面设计
做到整洁清楚,能够层层选择进行具体的操作,对用户的请求能够进行合适的反馈。既有输入界面,又有输出界面,每个界面都有详细的指引。
2.2 系统的数据(结构)设计
系统通过调用不同的函数来实现不同的功能,通过循环调用函数来实现反复输入,实现用户不同的需求。
用户通过代码中的scanf()函数从键盘上输入不同的数字选项,然后通过 swtich case()分支条件语句来实现对不同函数的调用,满足各种需求。
2.2.1 系统的文件功能
系统采用了文本文档进行存取,在 C 盘建立了一个a.txt 的文本文档用于存放用户输入的职工信息,打开 C 盘后就能直接看到用户录入的信息,做到简洁和方便。
2.3 系统的模块图
系统的模块图很直观的反映出软件能够实现的功能,由下面的模块图可以很
直观的看出该职工信息管理系统的添加职工信息、显示职工信息、删除职工信息、修改职工信息功能。
- 增加职工信息部分,有九个模块,一步步完善职工信息。
- 在显示联系人部分,直接显示所有职工信息。
- 查询职工信息部分,有四个模块,可通过按工号查询,按姓名查询,按学历查询,按职务查询,然后显示职工信息。
- 在修改职工信息部分,输入要修改的职工的工号,然后根据需要,修改职工的姓名,学历,职务,工资,住址,电话。
- 在删除职工信息模块,输入要删除的职工的工号,即可完成删除。
- 最后是退出模块,需要保存信息后退出。异常退出可能会导致数据丢失。
图1系统模块图
2.4 系统的流程图
由于系统流程图较为复杂,采用了分块画出程序流程图。
2.4.1 添加职工信息程序流程图
由添加职工的程序流程图可以看出,在添加职工板块上,有三种信息:
输入工号,姓名,性别,年龄,学历,职务,工资,住址,电话;输入完成后会提示是否继续输入,如果输入Y则继续输入,输入N后返回主菜单。
图2添加职工信息流程图
2.4.2 显示职工信息程序流程图
在主菜单上输入 2 后便可以显示职工信息。
图3显示职工信息流程图
2.4.3 查询职工流程图
在删除联系人流程图上,分为全部删除和单个删除功能,单个删除设计了按
照姓名删除和按电话号码删除两种选择,在删除时,系统都会询问您是否删除,
以免误删。
图4查询职工流程图
2.4.3 修改职工信息流程图
修改联系人界面,输入输入需修改的职工的工号即可。
修改项目:修改姓名,修改学历,修改职务,修改工资,修改地址,修改完毕后系统会提示您是否继续 ,输入Y修改,如不修改,则输入N又返回主界面等待输入。
图5修改职工信息流程图
详细设计
3.1 函数声明和结构定义
#define N 100
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void read();//读取信息函数
void write();//写入信息函数
void menu();//菜单函数
void add();//添加职工信息函数
void show(int id);//显示职工信息函数
void browser();//显示所有职工信息函数
void search();//查询职工信息函数
void modify();//修改职工信息函数
void _delete();//删除职工信息函数
struct Worker {//这里的结构体有待改进
char ID[20];
char name[20];
char sex[10];
char age[10];
char edu[20];
char position[20];
char wage[20];
char address[50];
char tel[20];
}work[N];
int n; // 记录数量
3.2 读取信息函数
void read()//读入数据
{
FILE *fp;
int i = 0;
if( (fp = fopen("c:\\a.txt","r")) == NULL )
{
printf("请新建一个文本文件,文件名为a\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%s\n%s\n",work[i].ID,work[i].name,work[i].sex,work[i].age,work[i].edu,work[i].position,work[i].wage,work[i].address,work[i].tel);
i ++;
}
fclose(fp);
}
3.3写入信息函数
void write()//写入数据
{
FILE *fp;
int i = 0;
if( (fp = fopen("c:\\a.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%s\n%s\n",work[i].ID,work[i].name,work[i].sex,work[i].age,work[i].edu,work[i].position,work[i].wage,work[i].address,work[i].tel);
i ++;
}
fclose(fp);
}
3.4菜单函数
void menu()//菜单
{
printf("* * 职工信息管理系统菜单 * *\n");
printf("* *\n");
printf("* 1.添加职工信息 *\n");
printf("* *\n");
printf("* 2.显示职工信息 *\n");
printf("* *\n");
printf("* 3.查询职工信息 *\n");
printf("* *\n");
printf("* 4.修改职工信息 *\n");
printf("* *\n");
printf("* 5.删除职工信息 *\n");
printf("* *\n");
printf("* 0.退出 *\n");
printf("* *\n");
printf("* * * * * * * * * * * * * **\n");
printf("请输入选项(0-5): ");
}
3.5添加职工信息函数
void add()// 从键盘输入
{
int i;
int flag;//标记工号是否已存在
char c;
read();//输入数据前先将文件中原有的数据读入
do
{
flag = 0;
printf("请输入职工的工号: \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("是否继续输入?(Y/N): ");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
continue;
}
printf("请输入职工的姓名: \n");
scanf("%s",work[n].name);
printf("请输入职工的性别: \n");
scanf("%s",work[n].sex);
printf("请输入职工的年龄: \n");
scanf("%s",work[n].age);
printf("请输入职工的学历: \n");
scanf("%s",work[n].edu);
printf("请输入职工的职务: \n");
scanf("%s",work[n].position);
printf("请输入职工的工资: \n");
scanf("%s",work[n].wage);
printf("请输入职工的住址: \n");
scanf("%s",work[n].address);
printf("请输入职工的电话: \n");
scanf("%s",work[n].tel);
printf("是否继续输入?(Y/N): ");
scanf("%*c%c",&c);
n ++;
}while( c != 'N' && c != 'n');
write();
printf("\n\n数据已保存!\n\n");
}
3.6显示职工信息函数
void show(int id)
{
printf("职工号: %s\n",work[id].ID);
printf("姓名: %s\n",work[id].name);
printf("性别: %s\n",work[id].sex);
printf("年龄: %s\n",work[id].age);
printf("学历: %s\n",work[id].edu);
printf("职务: %s\n",work[id].position);
printf("工资: %s\n",work[id].wage);
printf("住址: %s\n",work[id].address);
printf("电话: %s\n",work[id].tel);
printf("\n\n\n");
}
3.7显示所有职工信息函数
void browser()//显示所有职工信息
{
int i;
read();
if(n == 0) printf("无记录!\n\n");
else
for(i = 0 ; i < n ; i ++)
{
show(i);
}
}
3.8查询职工信息函数
void search()//查询信息
{
char num;
int flag,i;
char s_id[20] ;//查询工号
char s_name[20] ;//查询姓名
char s_edu[20] ; //查询学历
char s_position[20] ;//查询职位
char c;//指令Y?N
read();//打开程序后,要查询以前的数据,要先读入
while(1)
{
system("cls");
printf("* * * * * * * 查询* * * * * * *\n");
printf("* *\n");
printf("* 1.按工号查询 *\n");
printf("* *\n");
printf("* 2.按姓名查询 *\n");
printf("* *\n");
printf("* 3.按学历查询 *\n");
printf("* *\n");
printf("* 4.按职务查询 *\n");
printf("* *\n");
printf("* 输入其他任意键退出本模块 *\n");
printf("* * * * * * * * * * * * * * * *\n");
printf("请输入指令(1-4):");
scanf("%*c%c",&num);
if(num < '1' || num > '4')
{
printf("错误指令!\n\n");
system("pause");
continue;
}
system("cls");
flag = 0;//用来标记职工信息是否存在
if(num == '1')//按工号查询
{
printf("请输入您要查询职工的工号:");
scanf("%s",s_id);
for(i = 0 ; i < n ;i ++)
{
if( strcmp(work[i].ID,s_id) == 0)
{
show(i);
flag = 1;//标记
break;
}
}
}
else if(num == '2')//按姓名查询
{
printf("请输入您要查询职工的姓名:");
scanf("%s",s_name);
for(i = 0 ; i < n ;i ++)
{
if( strcmp(work[i].name,s_name) == 0)
{
show(i);
flag = 1;//标记
}
}
}
else if(num == '3')//按学历查询
{
printf("请输入您要查询职工的学历:");
scanf("%s",s_edu);
for(i = 0 ; i < n ;i ++)
{
if( strcmp(work[i].edu,s_edu) == 0)
{
show(i);
flag = 1;//标记
}
}
}
else if(num == '4')//按职务查询
{
printf("请输入您要查询职工的职务:");
scanf("%s",s_position);
for(i = 0 ; i < n ;i ++)
{
if( strcmp(work[i].position,s_position) == 0)
{
show(i);
flag = 1;//标记
}
}
}
if(!flag)//判断是否有该职工信息
{
printf("\n\n无该职工信息!\n\n");
}
printf("\n\n是否继续查询(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
}
}
3.9修改职工信息函数
void modify()//修改职工信息
{
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)
{
printf("\n\n无此员工信息!!\n\n");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
continue;
}
printf("\n\n* * * * * * * * 修改* * * * * * *\n");
printf("* *\n");
printf("* 1.修改姓名 *\n");
printf("* *\n");
printf("* 2.修改学历 *\n");
printf("* *\n");
printf("* 3.修改职务 *\n");
printf("* *\n");
printf("* 4.修改工资 *\n");
printf("* *\n");
printf("* 5.修改住址 *\n");
printf("* *\n");
printf("* 6.修改电话 *\n");
printf("* *\n");
printf("* 输入其他任意键退出本模块 *\n");
printf("* * * * * * * * * * * * * * * * *\n");
printf("请输入指令(1-6):");
scanf("%*c%c",&num);
if(num < '1' || num > '6')
{
printf("错误指令!\n\n");
system("pause");
continue;
}
system("cls");
printf("请输入修改后的信息:");
scanf("%s",message);
switch(num)
{
case '1' : strcpy(work[number].name,message); break;
case '2' : strcpy(work[number].edu,message); break;
case '3' : strcpy(work[number].position,message); break;
case '4' : strcpy(work[number].wage,message); break;
case '5' : strcpy(work[number].address,message); break;
case '6' : strcpy(work[number].tel,message); break;
}
system("cls");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c",&c);
if(c == 'N' || c == 'n') break;
}
write();
}
3.10删除职工信息函数
void _delete()//删除职工信息
{
char delete_ID[20];//删除职工工号
int i,j;
int flag;//标记是否有该职工信息
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();
}
3.11主函数
int main()
{
int num;
n = 0;
while(1)
{
menu();
scanf("%d",&num);
system("cls");
switch(num)
{
case 1: add(); break;
case 2: browser(); break;
case 3: search(); break;
case 4: modify(); break;
case 5: _delete(); break;
case 0: printf("谢谢使用!\n\n"); return 0;
default :printf("\n--->无效的指令!\n\n\n");
}
system("pause");
system("cls");
}
}
——————————————————————————————————————————
全部代码:文章来源:https://www.toymoban.com/news/detail-482795.html
#define _CRT_SECURE_NO_WARNINGS 1 // 避免实验环境为VS时不必要的报错
#define N 100
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void read();//读取信息函数
void write();//写入信息函数
void menu();//菜单函数
void add();//添加职工信息函数
void show(int id);//显示职工信息函数
void browser();//显示所有职工信息函数
void search();//查询职工信息函数
void modify();//修改职工信息函数
void _delete();//删除职工信息函数
struct Worker {
char ID[20];
char name[20];
char sex[10];
char age[10];
char edu[20];
char position[20];
char wage[20];
char address[50];
char tel[20];
}work[N];
int n; // 记录数量
void read()//读入数据
{
FILE* fp;
int i = 0;
if ((fp = fopen("c:\\a.txt", "r")) == NULL)
{
printf("请新建一个文本文件,文件名为a\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%s\n%s\n", work[i].ID, work[i].name, work[i].sex, work[i].age, work[i].edu, work[i].position, work[i].wage, work[i].address, work[i].tel);
i++;
}
fclose(fp);
}
void write()//写入数据
{
FILE* fp;
int i = 0;
if ((fp = fopen("c:\\a.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%s\n%s\n", work[i].ID, work[i].name, work[i].sex, work[i].age, work[i].edu, work[i].position, work[i].wage, work[i].address, work[i].tel);
i++;
}
fclose(fp);
}
void menu()//菜单
{
printf("* * 职工信息管理系统菜单 * *\n");
printf("* *\n");
printf("* 1.添加职工信息 *\n");
printf("* *\n");
printf("* 2.显示职工信息 *\n");
printf("* *\n");
printf("* 3.查询职工信息 *\n");
printf("* *\n");
printf("* 4.修改职工信息 *\n");
printf("* *\n");
printf("* 5.删除职工信息 *\n");
printf("* *\n");
printf("* 0.退出 *\n");
printf("* *\n");
printf("* * * * * * * * * * * * * **\n");
printf("请输入选项(0-5): ");
}
void add()// 从键盘输入
{
int i;
int flag;//标记工号是否已存在
char c;
read();//输入数据前先将文件中原有的数据读入
do
{
flag = 0;
printf("请输入职工的工号: \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("是否继续输入?(Y/N): ");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n') break;
continue;
}
printf("请输入职工的姓名: \n");
scanf("%s", work[n].name);
printf("请输入职工的性别: \n");
scanf("%s", work[n].sex);
printf("请输入职工的年龄: \n");
scanf("%s", work[n].age);
printf("请输入职工的学历: \n");
scanf("%s", work[n].edu);
printf("请输入职工的职务: \n");
scanf("%s", work[n].position);
printf("请输入职工的工资: \n");
scanf("%s", work[n].wage);
printf("请输入职工的住址: \n");
scanf("%s", work[n].address);
printf("请输入职工的电话: \n");
scanf("%s", work[n].tel);
printf("是否继续输入?(Y/N): ");
scanf("%*c%c", &c);
n++;
} while (c != 'N' && c != 'n');
write();
printf("\n\n数据已保存!\n\n");
}
void show(int id)
{
printf("职工号: %s\n", work[id].ID);
printf("姓名: %s\n", work[id].name);
printf("性别: %s\n", work[id].sex);
printf("年龄: %s\n", work[id].age);
printf("学历: %s\n", work[id].edu);
printf("职务: %s\n", work[id].position);
printf("工资: %s\n", work[id].wage);
printf("住址: %s\n", work[id].address);
printf("电话: %s\n", work[id].tel);
printf("\n\n\n");
}
void browser()//显示所有职工信息
{
int i;
read();
if (n == 0) printf("无记录!\n\n");
else
for (i = 0; i < n; i++)
{
show(i);
}
}
void search()//查询信息
{
char num;
int flag, i;
char s_id[20];//查询工号
char s_name[20];//查询姓名
char s_edu[20]; //查询学历
char s_position[20];//查询职位
char c;//指令Y?N
read();//打开程序后,要查询以前的数据,要先读入
while (1)
{
system("cls");
printf("* * * * * * * 查询* * * * * * *\n");
printf("* *\n");
printf("* 1.按工号查询 *\n");
printf("* *\n");
printf("* 2.按姓名查询 *\n");
printf("* *\n");
printf("* 3.按学历查询 *\n");
printf("* *\n");
printf("* 4.按职务查询 *\n");
printf("* *\n");
printf("* 输入其他任意键退出本模块 *\n");
printf("* * * * * * * * * * * * * * * *\n");
printf("请输入指令(1-4):");
scanf("%*c%c", &num);
if (num < '1' || num > '4')
{
printf("错误指令!\n\n");
system("pause");
continue;
}
system("cls");
flag = 0;//用来标记职工信息是否存在
if (num == '1')//按工号查询
{
printf("请输入您要查询职工的工号:");
scanf("%s", s_id);
for (i = 0; i < n; i++)
{
if (strcmp(work[i].ID, s_id) == 0)
{
show(i);
flag = 1;//标记
break;
}
}
}
else if (num == '2')//按姓名查询
{
printf("请输入您要查询职工的姓名:");
scanf("%s", s_name);
for (i = 0; i < n; i++)
{
if (strcmp(work[i].name, s_name) == 0)
{
show(i);
flag = 1;//标记
}
}
}
else if (num == '3')//按学历查询
{
printf("请输入您要查询职工的学历:");
scanf("%s", s_edu);
for (i = 0; i < n; i++)
{
if (strcmp(work[i].edu, s_edu) == 0)
{
show(i);
flag = 1;//标记
}
}
}
else if (num == '4')//按职务查询
{
printf("请输入您要查询职工的职务:");
scanf("%s", s_position);
for (i = 0; i < n; i++)
{
if (strcmp(work[i].position, s_position) == 0)
{
show(i);
flag = 1;//标记
}
}
}
if (!flag)//判断是否有该职工信息
{
printf("\n\n无该职工信息!\n\n");
}
printf("\n\n是否继续查询(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n') break;
}
}
void modify()//修改职工信息
{
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)
{
printf("\n\n无此员工信息!!\n\n");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n') break;
continue;
}
printf("\n\n* * * * * * * * 修改* * * * * * *\n");
printf("* *\n");
printf("* 1.修改姓名 *\n");
printf("* *\n");
printf("* 2.修改学历 *\n");
printf("* *\n");
printf("* 3.修改职务 *\n");
printf("* *\n");
printf("* 4.修改工资 *\n");
printf("* *\n");
printf("* 5.修改住址 *\n");
printf("* *\n");
printf("* 6.修改电话 *\n");
printf("* *\n");
printf("* 输入其他任意键退出本模块 *\n");
printf("* * * * * * * * * * * * * * * * *\n");
printf("请输入指令(1-6):");
scanf("%*c%c", &num);
if (num < '1' || num > '6')
{
printf("错误指令!\n\n");
system("pause");
continue;
}
system("cls");
printf("请输入修改后的信息:");
scanf("%s", message);
switch (num)
{
case '1': strcpy(work[number].name, message); break;
case '2': strcpy(work[number].edu, message); break;
case '3': strcpy(work[number].position, message); break;
case '4': strcpy(work[number].wage, message); break;
case '5': strcpy(work[number].address, message); break;
case '6': strcpy(work[number].tel, message); break;
}
system("cls");
printf("\n\n是否继续修改(Y/N):");
scanf("%*c%c", &c);
if (c == 'N' || c == 'n') break;
}
write();
}
void _delete()//删除职工信息
{
char delete_ID[20];//删除职工工号
int i, j;
int flag;//标记是否有该职工信息
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();
}
int main()
{
int num;
n = 0;
while (1)
{
menu();
scanf("%d", &num);
system("cls");
switch (num)
{
case 1: add(); break;
case 2: browser(); break;
case 3: search(); break;
case 4: modify(); break;
case 5: _delete(); break;
case 0: printf("谢谢使用!\n\n"); return 0;
default:printf("\n--->无效的指令!\n\n\n");
}
system("pause");
system("cls");
}
}
如果对你有帮助请支持一下哦。文章来源地址https://www.toymoban.com/news/detail-482795.html
到了这里,关于程序设计职工管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!