打印错误消息

问题描述:

嘿,这是我的程序,但是如果用户输入大于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; 
} 
+0

我的格式是怪异的我不能修复我的坏 – TJL 2011-02-15 22:47:57

+0

使代码格式化的SO只需选择代码按Ctrl-K,或单击文本框工具栏上的“{}”按钮。 – 2011-02-15 22:49:53

为什么这很难?你已经有了循环。只需在循环中输入错误消息。

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; 
}