有人可以帮助我吗?
我已经超过一个小时了,我无法让它工作。
这是在C++
,我已经学习了一点但我还是新的......
int main()
{
double rate, amount,time, S;
cout << "Insert the time of the super: ";
cin >> time;
cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): ";
cin >> rate;
cout << "Insert the amount $: ";
cin >> amount;
S =("amount * (rate ^ time - 1)", pow(rate,time));
cin >> S;
cout << "The total amount is: " << "S /(rate - 1)" << endl;
system("PAUSE");
return 0;
}
我没有得到编译错误,但我永远无法从中得到答案
答案 0 :(得分:4)
你“永远不会得到结果”,因为你将S设置为pow
的结果,并使用逗号运算符怪异,然后再用行
cin >> S;
等着你输入另一个号码。
你有两个主要问题。以下是更新后的代码,其中包含对已更改部分的注释:
int main()
{
double rate, amount,time, S;
cout << "Insert the time of the super: ";
cin >> time;
cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): ";
cin >> rate;
cout << "Insert the amount $: ";
cin >> amount;
S = amount * pow(rate, time - 1); // take away the quotes and don't make pow seperate
cout << "The total amount is: " << (S /(rate - 1)) << endl; // do the calculation and output it
system("PAUSE");
return 0;
}
请注意,引号"like this"
中的内容是字符串文字,因此"4 * 4"
是一个字符串,但4 * 4
(请参阅缺少引号)执行乘法,产生数字16
答案 1 :(得分:0)
我认为你不应该按照你的方式为S赋值。 S被声明为double,并且您最初正在为它指定一个字符串。当您输出结果时,您还将计算括在引号中。你应该简单地cout&lt;&lt; S /(rate-1); //没有引号或cout只会输出字符串