gpt4 book ai didi

c - 为什么我的程序不使用以下凭据打印 empid?

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:42 24 4
gpt4 key购买 nike

我已经使用结构编写了一个员工数据库,我提供以下凭据

员工姓名 sachin mirajkar员工编号 abcde12345员工工资为123456789

对于此输入,只有 emplpyee id 没有显示在屏幕上,请帮忙

#include <stdio.h>
struct employees_database {
char name[30],salary[12],empid[11];
};
int main()
{
struct employees_database emp[1];
int i,j;
for(i=0;i<1;i++)
{
printf("Enter name of employee: ");
scanf("%[^\n]s",emp[i].name);
for(j=0;emp[i].name[j];j++)
{
if(!((emp[i].name[j]>'@' && emp[i].name[j]<'[')||(emp[i].name[j]>'`' && emp[i].name[j]<'{')||(emp[i].name[j]==' ')))
goto END;
}
printf("\n Enter employee id:");
scanf("%s",emp[i].empid);
for(j=0;emp[i].empid[j];j++)
{
if(!((emp[i].empid[j]>'@' && emp[i].empid[j]<'[')||(emp[i].empid[j]>'`' && emp[i].empid[j]<'{')||(emp[i].empid[j]>'/' && emp[i].empid[j]<':')))
goto END;
}
printf("\n Enter salary:");
scanf("%s",emp[i].salary);
for(j=0;emp[i].salary[j];j++)
{
if(!(emp[i].salary[j]>'/' && emp[i].salary[j]<':'))
goto END;
}
}
printf("\nEmployee ID \t Employee name \t\t Employee salary\n");
for(i=0;i<1;i++)
printf(" %s \t %s \t\t %s \n",emp[i].empid,emp[i].name,emp[i].salary);
return 0;
if(0)
END: printf("enter valid credentials\n");
}

最佳答案

请检查您的 scanf() 函数调用。

改变

scanf("%[^\n]s",emp[i].name);

scanf("%s",emp[i].name);

应该可以解决问题

关于c - 为什么我的程序不使用以下凭据打印 empid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54290267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com