数据结构课程设计-ytu职工信息管理系统

/******************************************************************** 
*版权所有 (C)2016,Zhang Xiangru 
* 
*文件名称:ytu职工信息管理系统
*文件标识:无 
*内容摘要:简单模拟职工管理过程, 
            完成对职工信息的建立、增加、删除、查找、修改等功能 
*其他内容:无 
* 
*当前版本:microsoft visual studio 2015 
*作者:张相如 
*完成日期:2017. 1. 1 
*********************************************************************/ 


代码:

#include 
#include 
#include 
#include 
#define N 100
struct employee
{
		int num;
	char name[10];
	char sex;  
	int age;
	char xueli[30];
		int wage;
	char addr[30];
	long int tel;
}
em[100];        /*定义一个结构体*/
void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
void modify();  /*定义各函数*/
 
void menu()   /*菜单函数*/
{

    printf("\n");
printf("        ******************欢迎进入职工信息管理系统****************\n");
printf("           1.录入职工信息");
printf("           2.浏览职工信息\n");
printf("           3.查询职工信息");
printf("           4.删除职工信息\n");
    printf("           5.添加职工信息");
printf("           6.修改职工信息\n");
printf("           7.退出\n");
printf("        ********************谢谢使用******************\n");
    printf("\n");
    printf("\n"); 
}
int main()
{   
menu();  /*调用菜单函数*/
int n,flag;
char a;
do
{
printf("请选择你需要操作的步骤(1--7):\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("\n");input();break;
case 2:printf("              ◆◆◆浏览职工信息◆◆◆\n");printf("\n");display();break;
case 3:printf("              ◆◆◆按职工号查询职工信息◆◆◆\n");printf("\n");search();break; 
case 4:printf("              ◆◆◆删除职工信息◆◆◆\n");printf("\n");del();break;
case 5:printf("              ◆◆◆添加职工信息◆◆◆\n");printf("\n");add();break;
case 6:printf("               ◆◆◆修改职工信息◆◆◆\n");printf("\n");modify();break;
case 7:exit(0);break;
default :break;
}
getchar();
printf("\n");
printf("是否继续进行(y or n):\n");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls");  /*清屏*/
menu(); /*调用菜单函数*/
printf("请再次选择你需要操作的步骤(1--6):\n");
scanf("%d",&n);
printf("\n");
}
else 
exit(0);
}
}
 
void input()   /*录入函数*/
{
int i,m;
printf("请输入需要创建信息的职工人数(1--100):\n");
scanf("%d",&m);
for (i=0;i=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您输入有误,请重新选择!");
}
}
    while(flag==0);
    while(flag==1)
{
switch(t)
{ 
case 1:printf("按职工号查询\n");search_num();break;
case 2:printf("按学历查询\n");search_xueli();break;
case 3:printf("按电话号码查询\n");search_tel();break;
case 4:main();break;
default:break;
}
}
}
void search_num()
{
int num;
int i,t;
int m=load();
printf("请输入要查找的职工号(20001111---20009999):\n");
scanf("%d",&num);0.
for(i=0;i8||c<1)  
printf("\n选择错误,请重新选择!\n");  
}
flag=0;
} 
}
    if(flag==1)
printf("\n查询结束\n");  
    do  
{
switch(c)      /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/
{  
case 1:printf("职工号改为: "); scanf("%d",&num);
em[i-1].num=num; break;
case 2:printf("姓名改为: "); scanf("%s",name);
strcpy(em[i-1].name,name); break; 
case 3:printf("性别改为: "); getchar();scanf("%c",&sex);
    em[i-1].sex=sex; break;
case 4:printf("年龄改为: "); scanf("%d",&age);
em[i-1].age=age; break;
case 5:printf("学历改为: "); scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli); break;   
case 6:printf("工资改为: "); scanf("%d",wage); break; 
case 7:printf("住址改为: "); scanf("%s",addr);
strcpy(em[i-1].addr,addr); break;  
case 8:printf("电话改为: "); scanf("%ld",&tel); em[i-1].tel=tel; break;  
} 
        printf("\n");
printf("\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2:  \n"); 
        scanf("%d",&b);
}  
while(b==2);
printf("\n浏览修改后的所有职工信息:\n");
printf("\n");
save(m);
display();
printf("\n继续修改请按1,不再修改请按0\n");
scanf("%d",&t);
switch(t)
{
    case 1:modify();break;
    case 0:break;
    default :break;
}
}//void BubbleSort1(RecType R[], int n)
//{
//	int i, j;
//	bool exchange;
//RecType tmp;
//	for (i = 0;i < n - 1;i++)
//	{
//		exchange = false;
//		for (j = n - 1;j > i;j--)
//		{
//			tmp = R[j];
//			R[j] = R[j - 1];
//			exchange = true;
//		}
//		if((!exchange))
//			return;
//	}
//}
//int BinarySearch(int *list, int target, int n)
//{
//	int middle;
//	int start = 1;
//	int end = n;
//	while (start <= end) 
//	{
//		middle = (start + end) / 2;
//		if (list[middle] == target) {
//			return middle;
//		}
//		else if (list[middle]
运行结果:

数据结构课程设计-ytu职工信息管理系统_第1张图片

数据结构课程设计-ytu职工信息管理系统_第2张图片数据结构课程设计-ytu职工信息管理系统_第3张图片数据结构课程设计-ytu职工信息管理系统_第4张图片数据结构课程设计-ytu职工信息管理系统_第5张图片数据结构课程设计-ytu职工信息管理系统_第6张图片数据结构课程设计-ytu职工信息管理系统_第7张图片数据结构课程设计-ytu职工信息管理系统_第8张图片数据结构课程设计-ytu职工信息管理系统_第9张图片

心得体会:本次试验的时间较少,加上自己对于知识掌握不够牢固,许多想用的算法没有用上,对于算法的复杂度也没有深究,往批评改正,谢谢!

你可能感兴趣的:(数据结构课程设计-ytu职工信息管理系统)