职工工资信息查询

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct
{
	char num[20];
	char name[20];
	char sex[10];
	int time[2];
	char rank[20];
	float salary;
}STAFF;

STAFF worker[100];
int N=0;


void INPUT()
{
	system("cls");
	printf("请输入输入职工工号\n");
	scanf("%s",&worker[N].num);
	printf("请输入输入职工姓名\n");
	scanf("%s",&worker[N].name);
	printf("请输入输入职工性别\n");
	scanf("%s",&worker[N].sex);
	do
	{
		printf("请输入输入职工生日(年/月)\n");
		scanf("%d/%d",&worker[N].time[0],&worker[N].time[1]);
		if(worker[N].time[0]<0||worker[N].time[0]>2018||worker[N].time[1]<0||worker[N].time[1]>=13)
		{
			printf("请重新按格式输入\n");
			scanf("%d/%d",&worker[N].time[0],&worker[N].time[1]);
		}
		else
		{
			break;
		}

	}while(1);
	
	
	printf("请输入输入职工职称\n");
	scanf("%s",&worker[N].rank);
	printf("请输入输入职工工资\n");
	scanf("%f",&worker[N].salary);
	printf("新增职工信息成功!\n");
	N++;
	system("pause");
}


int MENU()
{
	int n;
	system("cls");
	printf("1:录入职工信息\n");
	printf("2:按工资排序\n");
	printf("3:按工资查询\n");
	printf("4:删除职工信息\n");
	printf("5:浏览职工信息\n");
	printf("0:退出\n");
	printf("请选择编号:");
	scanf("%d",&n);
	while(n<0||n>5)
	{
		printf("输入错误,请重新输入!\n");
		scanf("%d",&n);
	}
	return n;
}

void PRINT()
{
	int i;
	system("cls");
	if(0==N)
	{
		printf("无职工信息!\n");
	}
	else
	{
		printf("%-10s%-10s%-10s%-11s%-16s%-8s\n","工号","姓名","性别","生日","职称","工资");
		for(i=0;i<N;i++)
		{
			printf("%-10s",worker[i].num);
			printf("%-10s%",worker[i].name);
			printf("%-10s%",worker[i].sex);
			printf("%5d/%-5d",worker[i].time[0],worker[i].time[1]);
			printf("%-16s",worker[i].rank);
			printf("%-8g\n",worker[i].salary);
		}
	}
	system("pause");
}


void SORT()
{
	STAFF temp;
	int i,j;
		for(i=0;i<N;i++)
		{
			for(j=i+1;j<N;j++)
			{
				if(worker[i].salary>worker[j].salary )
				{
					temp=worker[j];
					worker[j]=worker[i];
					worker[i]=temp;
				}
			}
		}
}

void SERACH()
{
	int i;
	float temp;
	system("cls");
	printf("请输入要查询的工资:\n");
	scanf("%f",&temp);

	printf("%-10s%-10s%-10s%-11s%-16s%-8s\n","工号","姓名","性别","生日","职称","工资");
	for(i=0;i<N;i++)
	{
		if(worker[i].salary==temp)
		{
			printf("%-10s%-10s%-10s%5d/%-5d%-16s%-8g\n",worker[i].num,worker[i].name,worker[i].sex,worker[i].time[0],worker[i].time[1],worker[i].rank,worker[i].salary);
		}
	}
	system("pause");
}

void DEL()
{
	int i,j;
	char temp[30];
	system("cls");
	printf("请输入要删除的职工号:\n");
	scanf("%s",temp);
	for(i=0;i<N;i++)
	{
		if(!strcmp(worker[i].num,temp))
		{
			for(j=i;j<N;j++)
			{
				worker[j]=worker[j+1];
			}
			break;
		}
	}
	if(i==N)
	{
		printf("无该职工信息!\n");
	}
	else
	{
		printf("删除成功!\n");
		N--;
	}
	system("pause");
}

int main()
{
	int n;
	do
	{
		n=MENU();
		switch(n)
		{
		case 1:
			INPUT();
			break;
		case 2:
			SORT();
			PRINT();
			break;
		case 3:
			SERACH();
			break;
		case 4:
			DEL();
			break;
		case 5:
			PRINT();
			break;
		}
	}while(n!=0);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/u011256974/article/details/89197070