#include <stdio.h>
#include <stdlib.h>
struct Staff
{
char name[20];
int age;
int salary;
};
int main()
{
int i,j;
struct Staff worker[5];
for(i=0; i<5; ++i)
{
j=0;
do
{
scanf("%c",&worker[i].name[j]);
++j;
}
while(worker[i].name[j-1]!=' ');
worker[i].name[j-1]='\0';
scanf("%d%d",&worker[i].age,&worker[i].salary);
}
//scanf("%s%d%d",stuff[i].name, &stuff[i].year,&stuff[i].salary);
printf("原始工资\n姓名 年限 工资\n");
for(i=0; i<5; ++i)
{
j=0;
do
{
printf("%c",worker[i].name[j++]);
}while(worker[i].name[j]!='\0');//这样的话判断name[j]就好了
//puts()函数自带输入后自动换行功能,所以这里不用puts
printf(" %d %d",worker[i].age,worker[i].salary);
}
for(i=0; i<5; ++i)
{
if(worker[i].age>30)
worker[i].salary+=100;
}
printf("\n加薪后工资\n姓名 年限 工资\n");
for(i=0; i<5; ++i)
{
j=0;
do
{
printf("%c",worker[i].name[j++]);
}while(worker[i].name[j]!='\0');
printf(" %d %d",worker[i].age,worker[i].salary);
}
return 0;
}
//之前由于不知道scanf("%s",worker[i].name[j])会以空格结束
//所以用了一个较麻烦的办法读取和输出姓名
//看了贺老师的博客后才明白直接用scanf就可以
第十六周-职工信息结构体
最新推荐文章于 2023-03-03 10:36:29 发布