#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
今日推荐
周排行