【发布时间】:2020-11-08 22:46:21
【问题描述】:
我真的希望你能帮我解决这个问题。 所以这只是我的代码的一部分,它不是。 您在下面看到的部分无法按预期工作。 所以剩余工资的输出也是正确的,但是如果输入超出给定的范围(无论是数字还是字母)它不会输出错误,因为id不会重复问题。
int main()
{
int variable1 = 0;
double variable2 = 0;
double variable3 = 0;
double variable4 = 0;
char variable5 = 0;
printf("Type in a number:\n");
scanf("%d", &variable1);
while((variable1<0) || (variable1>5000000))
{
printf("Error\n");
if((variable1>0) && (variable1<=5000000))
{
printf("Question that requires the answer y/Y or n/N?:\n");
scanf(" %c", &variable5);
}
return 0;
}
variable2 = Function1(variable1, variable2);
variable3 = Function2(variable1, variable2, variable3);
variable4 = Function3(variable3, variable4, variable5);
while((variable5!='j') || (variable5!='J') || ((variable5!='n') || (variable5!='N' )))
{
printf("Error\n");
break;
if((variable5=='j') || (variable5=='J') || ((variable5=='n') || (variable5=='N' )))
return 0;
if((variable1>0) && (variable1<=5000000))
{
printf("Output1:\t\t\t\t\t\t\t\t%12.2d\n", variable1);
printf("Function1:\t\t\t%12.2lf\n", variable2);
printf("Function2:\t%12.2lf\n" , variable3 + variable4);
printf("Function3:\t\t\t\t\t\t\t%12.2lf\n" , variable1+ variable2+ variable3 + variable4);
return 0;
}
}
}
【问题讨论】:
-
从您发布的代码中,请删除所有无关紧要的内容,直到您最终得到几行不符合您期望的代码。这就是 StackOverflow 的工作方式;我们不想用无关紧要的事情打扰我们询问的人。有道理,对吧?
-
这只是我的代码的一部分(主要功能)。当输入超出范围的数字或字母时,它不会输出错误。
-
好吧,通过删除行/代码来放大问题。然后在这里展示你剩下的东西并解释。使用
printf()语句或调试器来查看您的程序做了什么。你不能指望其他人分析你的代码,给出一个模糊的描述,说它没有按照你的期望做。你需要自己解决这个问题;我知道一开始可能会很痛苦,但这是工作的一部分。不要误会我的意思,一旦您将问题归结为明确定义的问题,我很乐意提供帮助。 -
'variable1' 等.....使用有意义的名称,否则您的代码很难理解:(