2011-02-15 77 views
0

嘿,這是我的程序,但是如果用戶輸入大於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

回答

4

爲什麼這很難?你已經有了循環。只需在循環中輸入錯誤消息。

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

試試這個 -

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

我想你想這個

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