今天我了解if if else if,所以我想到了一个想法,我制作了一个程序,需要六个数字并要求选择,因此添加决策正常工作,但其他两个也可以作为第一个决定。请给我解决方案谢谢..
#include<iostream.h>
#include<conio.h>
void main ()
{
int a,a1,a2,a3,a4,a5,adse,sum,sub;
cout<<"\nPlease Enter The First Number : ";
cin>>a;
cout<<"\nPlease Enter The Second Number : ";
cin>>a1;
cout<<"\nPlease Enter The Third Number : ";
cin>>a2;
cout<<"\nPlease Enter The Fourth Number : ";
cin>>a3;
cout<<"\nPlease Enter The Fifth Number : ";
cin>>a4;
cout<<"\nPlease Enter The sixth Number : ";
cin>>a5;
sum=a+a1+a2+a3+a4+a5;
sub=a-a1-a2-a3-a4-a5;
cout<<"\nPlease Select the chioce(1,2,3)";
cout<<"\n1:Adding";
cout<<"\n2:Subtracting";
cout<<"\n3:Exit";
cout<<"\nPlease Enter Your Choice : ";
cin>>adse;
if (adse=1)
{
cout<<"\nThe Addition is : "<<sum;
}
else if(adse=2)
{
cout<<"\nThe Subtraction is : "<<sub;
}
else if(adse=3)
{
cout<<exit(0);
}
else
{
cout<<"\nSorry Wrong Choice, Program is Closing";
}
getch();
}
答案 0 :(得分:5)
你应该使用&#34; ==&#34;而不是&#34; =&#34;在比较中。
答案 1 :(得分:0)
<强>第一强>
比较语句时,您需要使用==
而不是=
。这是因为在您的示例中,adse
未进行比较,但adse正在设置为一,就像您编写adse = 1;
一样。
现在bool是true
/ false
语句,但是当存储在内存中时代表false
为0而true
为1.所以当你测试状态时一个boolian你正在测试它是否等于一个。现在问及这与你的问题有什么关系。因为adse被设置为1,所以if语句与if (true)
相同,并且将始终输入。因为第一个语句将始终输入,所以else语句将永远不会执行,并且其中四个将永远不会运行
要解决此问题,请在条件语句中将=
替换为==
,如下所示:
if (adse == 1)
{
....
}
<强>第二强>
缩进代码,使其他人和您自己更容易阅读。