根据企业员工管理系统程序,要求先以管理员身份登录(自己设定进入密码)。输入正确后。(员工人数不超过50人)输入员工的工资。密码只可输入三次,三次不成功退出系统。
将员工工资按照从高到低顺序排序;
假定工资超过了 3500 元的,超出;部分按5%交税,算出该企业上缴工资税金总数,并统计缴税员工占总员工的比例。提示:员工总人数和缴税人数要分别统计。
#include<stdio.h>
#include<string.h>
int main()
{
int i = 0, sum=0, c=0;
int a[50] , j, n;
char password[20] = { 0 };
for (i = 0; i < 3; i++)
{
printf("请输入密码:");
scanf("%s", password);
if (strcmp(password, "123456") == 0)
{
printf("密码正确\n");
printf("请输入员工人数\n");
scanf("%d",&n);
printf("请输入工资\n");
for(j=0;j<n;j++)
scanf("%d",a[j]);
if(a[j]>3500)
{
sum += (a[j] - 3500) *0.05;
c++;
}
printf("缴纳总金额%d\n",sum);
}
if (i == 3)
printf("三次密码均错误,退出程序\n");
}
return 0;
}
代码本身不对,你想一想,如果密码正确的话是不是还在循环里,还要继续输入,然后第十九行,应为&数组
#include<stdio.h>
#include<string.h>
int main()
{
int i = 0, sum=0, c=0;
int a[50] , j, n;
char password[20] = { 0 };
for (i = 0; i < 3; i++)
{
printf("请输入密码:");
scanf("%s", password);
if (strcmp(password, "123456") == 0)
{
printf("密码正确\n");
printf("请输入员工人数\n");
scanf("%d",&n);
printf("请输入工资\n");
for(j=0;j<n;j++)
scanf("%d",&a[j]);
if(a[j]>3500)
{
sum += (a[j] - 3500) *0.05;
c++;
}
printf("缴纳总金额%d\n",sum);
}
break;
}
if (i == 3)
printf("三次密码均错误,退出程序\n");
return 0;
}
密码对了应该执行完操作之后要break退出
for循环➕if else 实现,先了解清楚需求,在实现