#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char* argv[]) {
int X;
int Y;
int R;
cout << "FUNCION POTENCIA";
cout << "Ingrese primero la base y luego el exponente";
cin >> X, Y;
if (Y = 1) {
R = X;
};
//if
else() {
do
while (Y > 0) {
R = X * X;
Y--;
}; //do while
}; //else cout<< R;
system("PAUSE");
return EXIT_SUCCESS;
} //main
答案 0 :(得分:3)
您有五个错误:
cin >> X, Y;
无法读取X
和Y
的用户输入。它实际上是两个单独的陈述:cin >> X;
和Y;
。第一个读取用户输入到X
,第二个用于评估Y
的当前值,并且不对它做任何事情。读取两个变量的用户输入:cin >> X >> Y;
。if (Y = 1)
将 1
分配给Y
。您希望使用==
检查相等:if (Y == 1)
即“如果Y
等于1
”。 if
和else
块之后添加分号。它们是多余的并导致这样的错误。仅在语句之后加上分号。while
。()
而不是else
,而而循环只是do { ... } while (...);
。这是正确的版本:
do while (...) { ... }
总之,选择一个book来正确学习语言,这样你就可以停止猜测正确的语法了。
答案 1 :(得分:1)
这是因为你的if语句后面有一个分号。 如果声明表格是:
,请更正if(expression)
{
// If Code
}
else
{
// Else code
}
答案 2 :(得分:1)
if (Y = 1) {
R = X;
};
删除最后一个&#34;;&#34;这里。