#include<iostream>
#include<conio.h>
using namespace std;
//const int n=20;
class cofee
{
//public:
int i;
//int n=20;
int price[20];
//int totalprice[n];
public:
void getprice()
{
if(i=1)
{
price[i]=10;
cout<<"price is :"<<price[i]<<""\n;
}
else if(i=2)
{
price[i]=20;
cout<<"price is :"<<price[i];
}
else if(i=2)
{
price[i]=30;
cout<<"price is :"<<price[i];
}
else
{
cout<<"\n";
}
}
void total()
{
int sum=0;
int n=3;
for(i=1;i<=n;i++)
{
sum = sum+price[i];
}
cout<<"total is:"<<sum;
}
};
int main()
{
cofee c;
int i;
do
{
cout<<"enter your choice";
cout<<"\n1.plain cofee";
cout<<"\n2.cold cofee";
cout<<"\n3.farali cofee";
cout<<"\n4.total";
cout<<"\n5.quit";
cout<<"\n";
cin>>i;
switch(i)
{
case 1 : c.getprice(); break;
case 2 : c.getprice(); break;
case 3 : c.getprice(); break;
case 4 : c.total(); break;
case 5 : break;
default : cout<<"\nwrong cchoice";
}
}while(i!=5);
getch();
return 0;
}
我已经尝试了几乎所有我能做的但仍然没有给出正确的输出。它既没有出现任何错误或警告。
如果否则ledder价格不存储i = 2&amp;的价值3.需要帮助来解决它。
答案 0 :(得分:0)
当你在if中使用(=)时,你没有比较值,你实际上给了他值,所以第一个“if”将永远为真。如果它们都是“if”而不是“else if”它们都是真的(使用“==”代替)!此外,对于您的变量,如果您没有将它们指定为公共变量,则默认情况下它们将是私有的。