【发布时间】:2013-06-07 14:03:29
【问题描述】:
我有两个问题:
第一个问题是我不能在for (apr = 0; apr < aprno; apr++) 中逐个添加字符。例如,如果我有 aprno = 4,在输入 A 后它会要求 4 日
第二个问题是 char 和 int 的比较。我知道我无法比较它们,但我没有找到解决方案如何在任何地方进行。
addnoaprons:
system("cls");
printf("Add number of available aprons: ");
scanf("%d", &aprno);
goto addtypeaprons;
addtypeaprons:
if (aprno < 1) goto addnoaprons;
else {
system("cls");
printf("Add types for %d aprons total:", aprno);
for (apr = 0; apr < aprno; apr++)
{
system ("cls");
printf("Aprons total: %d", aprno);
printf("\n\nNo. %d apron type: ", apr + 1);
scanf("%c", &pismapr[apr]);
if (pismapr == 'A') poleapr[apr] = 1;
if (pismapr == 'B') poleapr[apr] = 2;
if (pismapr == 'C') poleapr[apr] = 3;
if (pismapr == 'D') poleapr[apr] = 4;
else goto addtypeaprons;
}
goto showaprons;
}
【问题讨论】:
-
我很好奇为什么
gotos? -
哦,有趣...有人试图用 C 编写汇编代码...以实现可以使用 shell 脚本完成的功能。主啊,为什么?
-
你的问题一点都不清楚。你能否提供一个完整的、可编译的示例并解释你给它的输入、你期望的输出以及你得到的输出?
-
哦,
gotos 颤抖。system("cls")在非 Windows shell 中也会很有趣。 -
这里有什么问题?在 C 中,您可以比较 char 和 int(将 char 转换为 int 并使用 ==),但不知何故,我认为这不是您想要做的。我对您停止使用 goto 的第一个建议是您的代码就像意大利面条一样,当您获得太多 1000 行代码时,我不想看到这一点。想想那些不得不在你之后接手的可怜的开发人员。
标签: c