我对编码世界很陌生,所以我的编码不是很好。我正在做一个项目,试图让它在计算后循环回到开头。 我不是100%做我正在做的事所以我提前道歉。如果我像这样运行它会给我一个错误,即没有先前的“if”而拥有“else”。我有一个循环,但朋友告诉我,我可以这样做。提前感谢您的提示/建议。[代码] [1]抱歉,我不知道如何在此块中发布代码。编辑,不知道在最后添加什么作为我的while语句使其循环回来。
#include <iostream>
using namespace std;
int main () {
char C = 'C';
char c = 'c';
char x = 'x';
char X = 'X';
char s ='s';
char S ='S';
char r = 'r';
char R = 'R';
char t = 't';
char T = 'T';
do{
char C = 'C';
char c = 'c';
char x = 'x';
char X = 'X';
char s ='s';
char S ='S';
char r = 'r';
char R = 'R';
char t = 't';
char T = 'T';
cout<<"Please enter C for circle , S for square , R for rectangle , T for triangle(right) , X to exit"<<endl;
cin >> x;
if ((x==C)||(x==c)){
cout<<"Please enter radius"<<endl;
float c1;
float c2;
cin>>c1;
c2=c1*2*3.14;
cout<<"The Area= "<<c2<<endl;
}else if ((x==s)||(x==S)) {
cout<<"Please enter side"<<endl;
float s1;
cin>>s1;
float s2;
s2=s1*2;
cout<<"The radius= "<<s2<<endl;
}else if ((x==t)||(x==T)) {
cout<<"Please enter leg"<<endl;
float t1;
cin>>t1;
cout<<"Please enter leg 2"<<endl;
float t3;
cin>>t3;
float t2;
t2=(t3*t1)/2;
cout<<"The radius= "<<t2<<endl;
}else if ((x==r)||(x==R)){
cout<<"Please enter Width"<<endl;
float w1;
cin>>w1;
cout<<"Please enter Length"<<endl;
float w2;
cin>>w2;
float w3;
w3=w1*w2;
}else ((x==X)||(x==x));{
break;
}
}while ((x=!c)||(x=!C)||(x!=s)||(x!=S)||(x!=t)||(x!=T)||(x!=x)||(x!=X)||(x!=r)||(x!=R));
}
}
}
答案 0 :(得分:1)
问题在于您的第一个else
语句,您意外插入了分号。
else ((x==5)||(x==5));
删除分号,你应该没事!
它也应该是else if
而不是else
。基本上,格式类似于if
,else if
,else
。
variable=true
if(variable==true)
{
. // do something
}
else if(variable==false)
{
//do something else
}
else
{
// do something else
}
else
声明没有条件。它不能与所有这些相匹配,做到这一点!如果您仍然不了解,this应该让您更好地了解if
,else if
,else
陈述
同样,如果你正在努力,请在这里阅读。它解释得很好:
https://www.tutorialspoint.com/cplusplus/cpp_if_else_statement.htm
答案 1 :(得分:0)
您似乎希望这为用户无限重复,并且您尝试使用do-while循环。
do {
// Whatever you're doing
} while (condition);
通常你可以创建某种类型的bool并在你想退出循环时将其设置为true,这样你就可以这样做:
bool getMeOut = false;
do {
// Some Stuff
if (condition for exit)
getMeOut = true;
} while (getMeOut == false);
你将被困在那个循环中,直到你将getMeOut设置为true!
祝你好运!