打印错误消息
问题描述:
嘿,这是我的程序,但是如果用户输入大于100的赌注,我想打印出一条错误声明。在我的程序中,我做了while循环,但是我想打印一个错误消息说“投注金额必须小于100”。如果任何人都可以帮助那会很好。谢谢打印错误消息
#include <iostream>
#include <string>
using namespace std ;
int GetBet();
string PullOne();
int GetPayMultiplier (string s1, string s2, string s3);
void Display (string s1, string s2, string s3, int winnings);
int main()
{
int betamount;
string s1;
string s2;
string s3;
int winnings;
betamount= GetBet();
while (betamount !=0)
{
s1=PullOne();
s2= PullOne();
s3= PullOne();
winnings = betamount * GetPayMultiplier(s1, s2, s3);
Display(s1, s2, s3, winnings);
betamount= GetBet();
}
}
int GetBet()
{
int betamt;
do
{
cout << "Enter Bet amount from 0 to 100. Enter 0 to quit" <<endl;
cin >> betamt;
}
while (betamt > 100);
return betamt;
}
string PullOne()
{
int chance;
string slots[4] = {"Bar", "7", "cherries", "space"};
chance= rand() %4;
return slots [chance];
}
int GetPayMultiplier (string s1, string s2, string s3)
{
int multiplier;
string slots[4] = {"Bar", "7", "cherries", "space"};
if (s1== slots[2] && s2 != slots[2])
multiplier = 3;
else if (s1 == slots[2] && s2== slots [2] && s3 != slots[2])
multiplier =10;
else if (s1 == slots[2] && s2 == slots[2] && s3== slots[2])
multiplier = 20;
else if (s1== slots[0] && s2 == slots[0] && s3== slots[0])
multiplier = 35;
else if (s1 == slots[1] && s2== slots[1] && s3 == slots[1])
multiplier = 50;
else
multiplier=0;
return multiplier;
}
void Display (string s1, string s2, string s3, int winnings)
{
cout << s1 << " " << " " << s2 << " " << s3 << endl;
if(winnings==0)
cout << "Sorry You Lose" << endl;
else
cout << "Congratulations you have won " << winnings << " dollars"<< endl;
}
答
为什么这很难?你已经有了循环。只需在循环中输入错误消息。
int GetBet()
{
int betamt;
do
{
cout << "Enter Bet amount from 0 to 100. Enter 0 to quit" <<endl;
cin >> betamt;
// ====== Error message comes from here
if (betamt > 100)
{
cout << "You done entered a bad bet amount. Try again!" << endl;
}
} while (betamt > 100);
return betamt;
}
答
试试这个 -
int GetBet()
{
int betamt;
do
{
cout << "Enter Bet amount from 0 to 100. Enter 0 to quit" <<endl;
cin >> betamt;
if(betamt > 100)
{
std::cout << "Bet amount must be less than 100" << std::endl ;
}
else
{
break;
}
}while (1);
return betamt;
}
答
我想你想这个
int GetBet()
{
int betamt;
cout << "Enter bet amount from 0 to 100."
cin >> betamt;
while(betamt>100)
{
cout <<"Bet amount must be less than 100"<<endl;
cin >>betamt;
}
return betamt;
}
我的格式是怪异的我不能修复我的坏 – TJL 2011-02-15 22:47:57
使代码格式化的SO只需选择代码按Ctrl-K,或单击文本框工具栏上的“{}”按钮。 – 2011-02-15 22:49:53