职工信息管理系统开发设计报告版(含源代码)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

需要解答可以私信给我,冲冲冲。

前言

假设如果我们要存储n个职员信息,我们可以定义一个大小为n的顺序表,每个Si元素可以储存一个职工的信息情况。然后通过使用fwrite()函数和循环语句for进行相对应的写入到文件中保存,然后在浏览信息的时候调用fopen()中的读取方式进行查看,修改时可以将对应的职员找出,经行覆盖信息操作,然后调用然后将文件进行保存,删除时可以将对应的职员信息利用顺序表节点删除的方法将其删除然后进行文件保存,查询进入后会进入相对应的二级菜单,然后进行相对应的查询操作。

题目:

职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不相等)。试设计一职工信息管理系统,使之能够提供下列功能:

(1) 系统以菜单方式工作(必做)

(2)职工信息录入功能(职工信息用文件保存) (必做) 。

(3)职工信息浏览功能(必做)。

(4)职工信息查询功能,查询方式: (至少完成一 项)

1)按学历查询

2)按职工号查询

3)按电话号码查询

(5) 职工信息删除,修改功能(可选项)。

其中:职工号系统随机生成,范围在2014000- 2014999 内。 

一、源代码模块

#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
#define N 1000
struct Worker
{
	//职工工号
	int Wno;

	//职工名字
	char name[10];

	//职工性别
	char sex[5]; 

	//职工年龄
	int age;

	//职工学历
	char education[30];

	//职员工资
	int wage;

	//职员住址
	char addr[30];

	//职员电话
	char number[30];

}worker[1000]; 

///菜单
void menu() 
{
	
	printf("\n");
	printf(" 20级软件工程3班  胡俊\n");
	printf("\n");
	printf(" =================职工信息管理=================\n");
	printf(" ==\t\t 1.录入职工信息\t\t    == \n");
	printf(" ==\t\t 2.浏览职工信息\t\t    == \n");
	printf(" ==\t\t 3.查询职工信息\t\t    == \n");
	printf(" ==\t\t 4.删除职工信息\t\t    == \n");
	printf(" ==\t\t 5.修改职工信息\t\t    == \n");
	printf(" ==\t\t 6.退出\t\t\t    == \n");
	printf(" ==================谢谢使用===================\n");
	printf("\n");
	printf("\n");

}
//保存文件
void save(int m) 
{
	int i;
	FILE*fp;
	if ((fp=fopen("worker_list.txt","wb"))==NULL) 
	{
		printf ("打开文件失败!!!!\n");
		exit(0);
	}
	for (i=0;i<m;i++) 
	if (fwrite(&worker[i],sizeof(struct Worker),1,fp)!=1)
		printf("文件写入错误!!!!\n");
		fclose(fp);
}


//读取文件信息
int ReadWorker() 
{
FILE*fp;
int i=0;
if((fp=fopen("worker_list.txt","rb"))==NULL)
{
printf ("打开文件失败!!!!\n");
exit(0);
}
else 
{
do 
{
fread(&worker[i],sizeof(struct Worker),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}


//插入职工数据
void InsertWorker()
{
	int i,m;
	printf("请输入需要创建信息的职工人数(1--1000):\n");
	scanf("%d",&m);
	for (i=0;i<m;i++)
	{
	
		printf("职工号:");
		srand((int)time(0));
		worker[i].Wno=rand()%1000+2014000;
		if(worker[i].Wno!=worker[i-1].Wno)
		printf("%8d ",worker[i].Wno);
		printf("\n");
		printf("请输入姓名: ");
		scanf("%s",worker[i].name);
		printf("请输入性别: ");
		scanf("%s",worker[i].sex);
		printf("请输入年龄: ");
		scanf("%d",&worker[i].age);
		printf("请输入学历: ");
		scanf("%s",worker[i].education);
		printf("请输入工资: ");
		scanf("%d",&worker[i].wage);
		printf("请输入住址: ");
		scanf("%s",worker[i].addr);
		printf("请输入电话: ");
		scanf("%s",worker[i].number);
		printf("\n");

	}
	printf("\n创建完毕!\n");
	save(m);
}


//职工信息浏览
void Show() 
{
	int i;
	int m=ReadWorker();
	printf("\n 职工号\t\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	for(i=0;i<m;i++) /*m为输入部分的职工人数*/
		printf("\n %d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
}





//删除职员信息
void deleteworker() 
{
	int m=ReadWorker();
	int i,j,n,input,flag;
	char name[20];
	printf("\n 原来的职工信息:\n");
	Show(); /* 调用浏览函数*/
	printf("\n");
	printf("请输入要删除的职工的姓名:\n");
	scanf("%s",name);
	for(flag=1,i=0;flag&&i<m;i++)
	{
		if(strcmp(worker[i].name,name)==0)
	{
	printf("\n已找到此人,原始记录为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	printf("\n确实要删除此人信息请按1,不删除请按0\n");
	scanf("%d",&n);
	if(n==1)
	{
		for(j=i;j<m-1;j++)
	{
	strcpy(worker[j].name,worker[j+1].name);
	worker[j].Wno=worker[j+1].Wno;
	strcpy(worker[j].sex,worker[j+1].sex);
	worker[j].age=worker[j+1].age;
	strcpy(worker[j].education,worker[j+1].education);
	worker[j].wage=worker[j+1].wage; 
	strcpy(worker[j].addr,worker[j+1].addr);
	strcpy(worker[j].number,worker[j+1].number);
	}
	flag=0;
	}
	}
	}
	if(!flag)
	m=m-1;
	else
	printf("\n对不起,查无此人!\n");
	system("cls");
	printf("\n 删除后的所有员工信息表:\n");
	save(m);
	Show();
	printf("\n是否确定删除,确定按1,取消删除按0:\n");
	scanf("%d",&input);
	switch(input)
	{
	case 1:deleteworker();break;
	
	case 0:break;
	default :break;
	}
	}


//查询菜单
void meuns()
{
	printf("20级软件工程3班\n");
	printf("\t胡俊\n");
	printf("========================职员查询界面======================\n");
	printf("==\t\t\t\t\t\t\t==\n");
	printf("==\t\t 1.按工号查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("==\t\t 2.按学历查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("==\t\t 3.按号码查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("========================职员查询界面======================\n");	
	
}

//工号查询
void selectWNO()
{
int Wno;
int i,input;
int m=ReadWorker();
printf("请输入要查找的职工号:\n");
scanf("%d",&Wno);
for(i=0;i<m;i++)
if(Wno==worker[i].Wno)
{ 
	printf("已找到此人,其记录为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	break;
}
if(i==m) 
	printf("系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
switch(input)
{ 
	case 1:meuns();break;
	case 2: break;
	default:break;
}
}

//按照学历查询
void SelectEducation()
{
	char education[30];
	int i,input;
	int m=ReadWorker();
	printf("请输入要查找的学历:\n");
	scanf("%s",education);
	for(i=0;i<m;i++)
	if(strcmp(worker[i].education,education)==0)
	{
		printf("\n已找到,其记录为:\n");
		printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
		printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 

	}
	if(i==m) 
	printf("\n系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
	switch(input)
	{ 
	case 1:
		meuns();
		break;
	case 2:
		break;
	default :
		break;
	}

}

//按电话号查询
void SelectNumber()
{
	char number[30];
	int i, input;
	int m=ReadWorker();
	printf("请输入要查找的电话号码:\n");
	scanf("%s",number);
	for(i=0;i<m;i++)
	if(strcmp(worker[i].number,number)==0)
	{ 
		printf("\n已找到此人,其记录为:\n");
		printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
		printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
		break;
	}
	if(i==m) 
	printf("\n系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
	switch(input)
	{ 
	case 1:
		meuns();
		break;
	case 2:
		break;
	default :
		break;
	}

}

//修改信息菜单
void meunss()
{
	printf("==============修改职员信息界面============\n");
	printf("==\t\t\t\t\t==\n");
	printf("==\t\t 1.职工工号\t\t==\n");
	printf("==\t\t 2.职工姓名\t\t==\n");
	printf("==\t\t 3.职工性别\t\t==\n");
	printf("==\t\t 4.职工年龄\t\t==\n");
	printf("==\t\t 5.职工学历\t\t==\n");
	printf("==\t\t 6.职工工资\t\t==\n");
	printf("==\t\t 7.职工住址\t\t==\n");
	printf("==\t\t 8.职工电话\t\t==\n");
	printf("==\t\t\t\t\t==\n");
	printf("==========================================\n");
}

//修改职员信息
void ChangeWorker() /*修改函数*/
{
	int Wno;
	char name[10];
	char sex[5]; 
	int age;
	char education[30];
	int wage;
	char addr[30];
	char number[30];

	int b,c,i,n,t,flag; 
	int m=ReadWorker(); /*导入文件内的信息*/
	printf("\n 原来的职工信息:\n");
	Show(); /* 调用浏览函数*/
	printf("\n");
	printf("请输入要修改的职工的姓名:\n");
	scanf("%s",name);
	for(flag=1,i=0;flag&&i<m;i++)
	{
		if(strcmp(worker[i].name,name)==0)
	{
	printf("\n该职员的信息为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");
	scanf("%d",&n);
	if(n==1)
	{
		meunss();
		printf("请输入你想修改的那一项序号:\n"); 
		scanf("%d",&c); 
		if(c>8||c<1) 
			printf("\n输入出错,范围在(1-8):\n"); 
	}
	flag=0;
	}

	}
	if(flag==1)
	printf("\n系统为查找到此人!!!!!!!\n"); 
	do 
	{
	switch(c)
	{ 
		case 1:
			printf("请输入职工号: ");
			scanf("%d",&Wno);
			worker[i-1].Wno=Wno;
			break; 
		case 2:
			printf("请输入姓名: ");
			scanf("%s",name);
			strcpy(worker[i-1].name,name); 
			break; 
		case 3:
			printf("请输入性别: ");
			scanf("%s",sex);
			strcpy(worker[i-1].sex,sex); ;
			break; 
		case 4:
			printf("请输入年龄: ");
			scanf("%d",&age);
			worker[i-1].age=age;
			break; 
		case 5:
			printf("请输入学历: ");
			scanf("%s",education);
			strcpy(worker[i-1].education,education); 
			break; 
		case 6:
			printf("请输入工资: ");
			scanf("%d",&wage);
			break; 
		case 7:
			printf("请输入住址: ");
			scanf("%s",addr);
			strcpy(worker[i-1].addr,addr);
			break; 
		case 8:
			printf("请输入电话: ");
			scanf("%s",number);
			strcpy(worker[i-1].number,number); ; 
			break; 
	} 
	printf("\n");
	printf("\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2: \n"); 
	scanf("%d",&b);

	} 
	while(b==2);
	printf("\n浏览修改后的所有职工信息:\n");
	printf("\n");
	save(m);
	Show();
	printf("\n继续修改请按1,不再修改请按0\n");
	scanf("%d",&t);
	switch(t)
	{
		case 0:
			break;
		case 1:
			ChangeWorker();
			break;
	
		default :
			break;
	}

}


int main(int argc, char** argv) {
	menu();
	int n,flag,input_1,flagn_1;
	int a;
	do
	{
		printf("请输入你的操作:\n");
		scanf("%d",&n);
		if(n>=1&&n<=7)
		{
			flag=1;
			break;
		}
		else
		{
			flag=0;
			printf("您输入有误,请重新选择!");
		}
	}	
	while(flag==0);
	while(flag==1)
	{
	switch(n)
	{
		case 1:
			printf(" ========添加职员系统========\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t20软件工程3班\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t     胡俊\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ============================\n");
			printf("\n");
			InsertWorker();
			break;
		case 2:
			printf(" ========信息浏览系统========\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t20软件工程3班\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t     胡俊\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ============================\n");
			printf("\n");
			Show();
			break;
		case 3:
			printf(" ========信息查询系统========\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t20软件工程3班\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t     胡俊\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ============================\n");
			printf("\n");
			meuns();
			
				do{
					printf("请输入你的操作:");
					scanf("%d",&input_1);
					switch (input_1) {
					case 1:
							selectWNO();
							break;
					case 2:
						SelectEducation();
						break;
					default:
						SelectNumber();
						break;
						}
						}
			
			
			while(1);

			break; 
		case 4:
			printf(" ========职员删除系统========\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t20软件工程3班\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t     胡俊\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ============================\n");
			printf("\n");
			deleteworker();
			break;
		case 5:
			printf(" ========信息更改系统========\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t20软件工程3班\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ==\t     胡俊\t   ==\n");
			printf(" ==\t\t\t   ==\n");
			printf(" ============================\n");
			printf("\n");
			ChangeWorker();
			
			break;
		case 6:
			exit(0);
			break;
		default :
			break;
	}
	printf("\n");
	printf("是否继续进行(1 or 0):\n");
	scanf("%d",&a);
	if(a==1)
	{
		flag=1;
		system("cls"); 
		menu(); 
		printf("请再次选择你需要操作的步骤:\n");
		scanf("%d",&n);
		printf("\n");
	}

	else 
	exit(0);
	}
	return 0;
	}

二、各个模块

1.插入信息

代码如下(示例):

void InsertWorker()
{
	int i,m;
	printf("请输入需要创建信息的职工人数(1--1000):\n");
	scanf("%d",&m);
	for (i=0;i<m;i++)
	{
	
		printf("职工号:");
		srand((int)time(0));
		worker[i].Wno=rand()%1000+2014000;
		if(worker[i].Wno!=worker[i-1].Wno)
		printf("%8d ",worker[i].Wno);
		printf("\n");
		printf("请输入姓名: ");
		scanf("%s",worker[i].name);
		printf("请输入性别: ");
		scanf("%s",worker[i].sex);
		printf("请输入年龄: ");
		scanf("%d",&worker[i].age);
		printf("请输入学历: ");
		scanf("%s",worker[i].education);
		printf("请输入工资: ");
		scanf("%d",&worker[i].wage);
		printf("请输入住址: ");
		scanf("%s",worker[i].addr);
		printf("请输入电话: ");
		scanf("%s",worker[i].number);
		printf("\n");

	}
	printf("\n创建完毕!\n");
	save(m);
}

2.文件保存

代码如下(示例):

void save(int m) 
{
	int i;
	FILE*fp;
	if ((fp=fopen("worker_list.txt","wb"))==NULL) 
	{
		printf ("打开文件失败!!!!\n");
		exit(0);
	}
	for (i=0;i<m;i++) 
	if (fwrite(&worker[i],sizeof(struct Worker),1,fp)!=1)
		printf("文件写入错误!!!!\n");
		fclose(fp);
}

 3.文件读取

int ReadWorker() 
{
    FILE*fp;
    int i=0;
    if((fp=fopen("worker_list.txt","rb"))==NULL)
    {
        printf ("打开文件失败!!!!\n");
        exit(0);
    }
    else 
        {
         do 
            {
                fread(&worker[i],sizeof(struct Worker),1,fp);
                i++;
               }
    while(feof(fp)==0);
}
    fclose(fp);
    return(i-1);
}

4.职工号查询模块

void selectWNO()
{
int Wno;
int i,input;
int m=ReadWorker();
printf("请输入要查找的职工号:\n");
scanf("%d",&Wno);
for(i=0;i<m;i++)
if(Wno==worker[i].Wno)
{ 
	printf("已找到此人,其记录为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	break;
}
if(i==m) 
	printf("系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
switch(input)
{ 
	case 1:meuns();break;
	case 2: break;
	default:break;
}

5.学历查询

void SelectEducation()
{
	char education[30];
	int i,input;
	int m=ReadWorker();
	printf("请输入要查找的学历:\n");
	scanf("%s",education);
	for(i=0;i<m;i++)
	if(strcmp(worker[i].education,education)==0)
	{
		printf("\n已找到,其记录为:\n");
		printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	}
	if(i==m) 
	printf("\n系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
	switch(input)
	{ 
	case 1:
		meuns();
		break;
	case 2:
		break;
	default :
		break;
	}
}

6.电话号码查询

  void SelectNumber()
{
	char number[30];
	int i, input;
	int m=ReadWorker();
	printf("请输入要查找的电话号码:\n");
	scanf("%s",number);
	for(i=0;i<m;i++)
	if(strcmp(worker[i].number,number)==0)
	{ 
		printf("\n已找到此人,其记录为:\n");
		printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
		printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
		break;
	}
	if(i==m) 
	printf("\n系统中未找到该职员\n");
	printf("\n");
	printf("返回查询界面按1,继续查询按2:\n");
	scanf("%d",&input);
	switch(input)
	{ 
	case 1:
		meuns();
		break;
	case 2:
		break;
	default :
		break;}}

7.信息修改模块

void ChangeWorker() /*修改函数*/
{
	int Wno;
	char name[10];
	char sex[5]; 
	int age;
	char education[30];
	int wage;
	char addr[30];
	char number[30];

	int b,c,i,n,t,flag; 
	int m=ReadWorker(); /*导入文件内的信息*/
	printf("\n 原来的职工信息:\n");
	Show(); /* 调用浏览函数*/
	printf("\n");
	printf("请输入要修改的职工的姓名:\n");
	scanf("%s",name);
	for(flag=1,i=0;flag&&i<m;i++)
	{
		if(strcmp(worker[i].name,name)==0)
	{
	printf("\n该职员的信息为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");
	scanf("%d",&n);
	if(n==1)
	{
		meunss();
		printf("请输入你想修改的那一项序号:\n"); 
		scanf("%d",&c); 
		if(c>8||c<1) 
			printf("\n输入出错,范围在(1-8):\n"); 
	}
	flag=0;
	}

	}
	if(flag==1)
	printf("\n系统为查找到此人!!!!!!!\n"); 
	do 
	{
	switch(c)
	{ 
		case 1:
			printf("请输入职工号: ");
			scanf("%d",&Wno);
			worker[i-1].Wno=Wno;
			break; 
		case 2:
			printf("请输入姓名: ");
			scanf("%s",name);
			strcpy(worker[i-1].name,name); 
			break; 
		case 3:
			printf("请输入性别: ");
			scanf("%s",sex);
			strcpy(worker[i-1].sex,sex); ;
			break; 
		case 4:
			printf("请输入年龄: ");
			scanf("%d",&age);
			worker[i-1].age=age;
			break; 
		case 5:
			printf("请输入学历: ");
			scanf("%s",education);
			strcpy(worker[i-1].education,education); 
			break; 
		case 6:
			printf("请输入工资: ");
			scanf("%d",&wage);
			break; 
		case 7:
			printf("请输入住址: ");
			scanf("%s",addr);
			strcpy(worker[i-1].addr,addr);
			break; 
		case 8:
			printf("请输入电话: ");
			scanf("%s",number);
			strcpy(worker[i-1].number,number); ; 
			break; 
	} 
	printf("\n");
	printf("\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2: \n"); 
	scanf("%d",&b);

	} 
	while(b==2);
	printf("\n浏览修改后的所有职工信息:\n");
	printf("\n");
	save(m);
	Show();
	printf("\n继续修改请按1,不再修改请按0\n");
	scanf("%d",&t);
	switch(t)
	{
		case 0:
			break;
		case 1:
			ChangeWorker();
			break;
	
		default :
			break;
	}

8.删除模块

void deleteworker() 
{
	int m=ReadWorker();
	int i,j,n,input,flag;
	char name[20];
	printf("\n 原来的职工信息:\n");
	Show();
	printf("\n");
	printf("请输入要删除的职工的姓名:\n");
	scanf("%s",name);
	for(flag=1,i=0;flag&&i<m;i++)
	{
		if(strcmp(worker[i].name,name)==0)
	{
	printf("\n已找到此人,原始记录为:\n");
	printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");
	printf("\n%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",worker[i].Wno,worker[i].name,worker[i].sex,worker[i].age,worker[i].education,worker[i].wage,worker[i].addr,worker[i].number); 
	printf("\n确实要删除此人信息请按1,不删除请按0\n");
	scanf("%d",&n);
	if(n==1)
	{
		for(j=i;j<m-1;j++)
	{
	strcpy(worker[j].name,worker[j+1].name);
	worker[j].Wno=worker[j+1].Wno;
	strcpy(worker[j].sex,worker[j+1].sex);
	worker[j].age=worker[j+1].age;
	strcpy(worker[j].education,worker[j+1].education);
	worker[j].wage=worker[j+1].wage; 
	strcpy(worker[j].addr,worker[j+1].addr);
	strcpy(worker[j].number,worker[j+1].number);
	}
	flag=0;
	}
	}
	}
	if(!flag)
	m=m-1;
	else
	printf("\n对不起,查无此人!\n");
	system("cls");
	printf("\n 删除后的所有员工信息表:\n");
	save(m);
	Show();
	printf("\n是否确定删除,确定按1,取消删除按0:\n");
	scanf("%d",&input);
	switch(input)
	{
	case 1:deleteworker();break;
	
	case 0:break;
	default :break;
	}
	}

9.菜单的制作

void menu() 
{
	
	printf("\n");
	printf(" 20级软件工程3班  胡俊\n");
	printf("\n");
	printf(" =================职工信息管理=================\n");
	printf(" ==\t\t 1.录入职工信息\t\t    == \n");
	printf(" ==\t\t 2.浏览职工信息\t\t    == \n");
	printf(" ==\t\t 3.查询职工信息\t\t    == \n");
	printf(" ==\t\t 4.删除职工信息\t\t    == \n");
	printf(" ==\t\t 5.修改职工信息\t\t    == \n");
	printf(" ==\t\t 6.退出\t\t\t    == \n");
	printf(" ==================谢谢使用===================\n");
	printf("\n");
	printf("\n");

}

10.二级菜单的制作

void meuns()
{
	printf("20级软件工程3班\n");
	printf("\t胡俊\n");
	printf("========================职员查询界面======================\n");
	printf("==\t\t\t\t\t\t\t==\n");
	printf("==\t\t 1.按工号查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("==\t\t 2.按学历查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("==\t\t 3.按号码查询职工信息\t\t\t==\n");
	printf("==\t\t\t\t\t\t\t==\n");	
	printf("========================职员查询界面======================\n");	
	
}

总结

最后,我想引用一句话来总结“大器晚成也好,登不上顶峰也罢,但一定要快乐真诚,没什么大不了的事情,这个世界总要有普通人的存在,知足且上进,温柔且坚定,保持热爱,未来可期”愿未来日子虽平庸,但也要追求上进不断努力,热爱生活。

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喷喷炸洋芋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值