这里是编程的新手。我无法在switch语句中使用默认代码来工作。我希望它显示错误并在输入任何不在此范围内的数据时退出。由于某些原因,它会转到cout
语句之后的下一个switch
行。
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
int main()
{
char choice;
const double P=8.00, A=10.50, B=12.50;
double t,w,price;
cout<<"\nPlease enter the state code: ";
cin>>choice;
cout<<"\nPlease enter the Parcel's weight in KG: ";
cin>>w;
switch (choice)
{
case 'P':
case 'p':
t=w*P;
price=P;
break;
case 'A':
case 'a':
t=w*A;
price=A;
break;
case 'B':
case 'b':
t=w*B;
price=B;
break;
default:
cout<<"Error. Please Re-enter. Exiting";
break;
}
cout<<setw(80)<<setfill('*')<<"*"<<endl;
cout<<"\nState code: "<<choice<<endl;
cout<<"Weight <KG>: "<<w<<endl;
cout<<"Price <RM>: "<<price<<endl;
std::cout<<std::fixed;
std::cout<<std::setprecision(2);
cout<<"Total Price <RM>: "<<t<<endl;
cout<<"\nThank you and Please Come Again"<<endl;
cout<<setw(80)<<setfill('*')<<"*"<<endl;
return 0;
}
答案 0 :(得分:6)
如果要以default
结束程序,则需要在exit(some_status)
之前调用break
。否则,break
只会导致switch
语句结束,您可以在switch
块之后继续。
答案 1 :(得分:2)
您需要在错误消息后结束程序。您可以使用调用exit()或return语句。