0

我是基督徒,我目前是 C++ 的初学者,正在努力学习,但我想我已经到了极限,我已经尝试过其他事情,但我似乎无法让我的程序正常工作。这也是我的课程要求之一,我真的很难弄清楚如何解决这个问题。

基本上用户将输入站(a,b,c)并且程序应该计算费用但是在输入a,b或c之后程序输出0.00000然后任何键都会自动关闭界面。

这是我想使用的代码示例:

#include<stdio.h>
#include<conio.h>

main()

{
float fee, to, from, a, b, c;
printf("Enter your current station: ");
scanf("%f",&from);
printf("Enter the station you want to go: ");
scanf("%f",&to);

if((to == a && from == b))
a = 10;
b = 15;
fee = to + from;
printf("%f", fee);

if((to == b && from == a))
a = 10;
b = 15;
fee = to + from;
printf("%f", fee);

if((to == c && from == a))
a = 10;
c = 5;
fee = to + from;
printf("%f", fee);

if((to == a && from == c))
a = 10;
c = 5;
fee = to + from;
printf("%f", fee);

if((to == b && from == c))
a = 10;
c = 5;
fee = to + from;
printf("%f", fee);

getch();
}

希望有人可以帮助我,感谢您的阅读,我真的很感激。

4

2 回答 2

3

这一行:

if((to == a && from == b))

当 a 或 b 均未初始化时,将值与 a 和 b 进行比较。在将变量与它们进行比较之前,您必须给它们赋值。

您的 if 语句后也没有大括号。他们可能没有做你认为的那样。他们现在的代码方式是,只有每个 if 语句之后的行才会有条件地执行。

编辑:我没有注意到..您将输入作为浮点数。我认为您想要做的是以字符的形式读取和读取并编写您的 if 语句,如下所示:

 if((to == 'a' && from == 'b'))
于 2013-03-08T12:20:48.223 回答
1

您正在尝试将字符“a”、“b”或“c”的用户输入存储到浮点变量中。这行不通。

属于一个 if 语句的任何内容都需要进入一个块:

if(condition)
{
    operation1
    operation2
    ...
}

此外,检查您要添加哪些变量以获得费用值。


“只要看,你就能看到很多东西。” - 瑜伽士贝拉

于 2013-03-08T12:27:52.357 回答