初学者问题,请哪位高手帮我看看下面代码哪错了?
//编译时提示36行39行 expect ';' before 'else'
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int A; //客户编号
int B; //服务费
int mingold,factgold; //最小帐户余额和当前余额
char accout,S,C; //帐号类型,储蓄帐户,支票帐户
double rate; //利率
double lactgold; //结算后在除去服务费前的帐户余额
cout<<"请输入客户帐号、帐户类别、最小帐户余额、当前余额:"<<flush;
cin>>A>>accout>>mingold>>factgold;
cout<<fixed<<showpoint<<setprecision(2);
switch(accout)
{
case 'S':
{
rate=0.04;
B=10;
lactgold=factgold*(1+rate);
if(factgold<mingold)
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
else
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
}
case 'C':
{
B=25;
lactgold=factgold*(1+rate);
if(factgold<mingold)
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
else if(factgold<mingold+5000)
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10) <<lactgold<<"相应信息"<<endl;
else
rate=0.05;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
default:
cout<<"你输入的帐户类型不正确!"<<endl;
}
}
cin.get();
cin.get();
return 0;
}
问题点数:20、回复次数:7Top
1 楼junguo(junguo)回复于 2006-03-03 18:37:54 得分 4
else if(factgold<mingold+5000)
后面加一个{Top
2 楼tyfostar(星)回复于 2006-03-03 18:52:16 得分 0
照上面大哥说的加个'{'后还是不行,编译提示和前面一样,36,41行错误(我用的dev-c++编译)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int A; //客户编号
int B; //服务费
int mingold,factgold; //最小帐户余额和当前余额
char accout,S,C; //帐号类型,储蓄帐户,支票帐户
double rate; //利率
double lactgold; //结算后在除去服务费前的帐户余额
cout<<"请输入客户帐号、帐户类别、最小帐户余额、当前余额:"<<flush;
cin>>A>>accout>>mingold>>factgold;
cout<<fixed<<showpoint<<setprecision(2);
switch(accout)
{
case 'S':
{
rate=0.04;
B=10;
lactgold=factgold*(1+rate);
if(factgold<mingold)
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold-B<<"相应信息"<<endl;
else
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
}
case 'C':
{
B=25;
lactgold=factgold*(1+rate);
if(factgold<mingold)
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold-B<<"相应信息"<<endl;
else if(factgold<mingold+5000)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
}
else
rate=0.05;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
default:
cout<<"你输入的帐户类型不正确!"<<endl;
}
}
cin.get();
cin.get();
return 0;
}Top
3 楼wzjall(风)回复于 2006-03-03 22:01:52 得分 8
确实是个很基础的问题!
建议楼主看看<<高质量c++程序设计>>,养成规范的写程序习惯
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int A; //客户编号
int B; //服务费
int mingold,factgold; //最小帐户余额和当前余额
char accout,S,C; //帐号类型,储蓄帐户,支票帐户
double rate; //利率
double lactgold; //结算后在除去服务费前的帐户余额
cout<<"请输入客户帐号、帐户类别、最小帐户余额、当前余额:"<<flush;
cin>>A>>accout>>mingold>>factgold;
cout<<fixed<<showpoint<<setprecision(2);
switch(accout)
{
case 'S':
{
rate=0.04;
B=10;
lactgold=factgold*(1+rate);
if(factgold<mingold)
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
else
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
}
case 'C':
{
B=25;
lactgold=factgold*(1+rate);
if(factgold<mingold)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
}
else
if(factgold<mingold+5000)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10) <<lactgold<<"相应信息"<<endl;
}
else
rate=0.05;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
default:
cout<<"你输入的帐户类型不正确!"<<endl;
}
}
cin.get();
cin.get();
return 0;
}
Top
4 楼ostrich2fly(ostrich2fly)回复于 2006-03-03 22:03:41 得分 4
if(factgold<mingold)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold-B<<"相应信息"<<endl;
}//否则不匹配else if
Top
5 楼bm1408(向va_list学习~不用VC好多年~)回复于 2006-03-03 22:06:15 得分 0
又来晚了~了~Top
6 楼llf_hust()回复于 2006-03-03 22:06:21 得分 4
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int A; //客户编号
int B; //服务费
int mingold,factgold; //最小帐户余额和当前余额
char accout; //帐号类型,储蓄帐户,支票帐户
double rate; //利率
double lactgold; //结算后在除去服务费前的帐户余额
cout<<"请输入客户帐号、帐户类别、最小帐户余额、当前余额:"<<flush;
cin>>A>>accout>>mingold>>factgold;
cout<<fixed<<showpoint<<setprecision(2);
switch(accout)
{
case 'S':
{
rate=0.04;
B=10;
lactgold=factgold*(1+rate);
if(factgold<mingold)
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
else
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
break;
}
case 'C':
{
B=25;
rate = 0.0;
lactgold=factgold*(1+rate);
if(factgold<mingold)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)
<<lactgold-B<<"相应信息"<<endl;
}
else if(factgold<mingold+5000)
{
rate=0.03;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10) <<lactgold<<"相应信息"<<endl;
}
else
{
rate=0.05;
cout<<left<<setw(6)<<A<<setw(6)<<accout<<setw(10)<<lactgold<<"相应信息"<<endl;
}
break;
default:
cout<<"你输入的帐户类型不正确!"<<endl;
}
}
cin.get();
cin.get();
return 0;
}
Top
7 楼tyfostar(星)回复于 2006-03-03 22:54:04 得分 0
谢谢大家了Top




