2012-02-10 3 views
-1

私はクイズプログラムを作成しています。ユーザーが1回目に間違っている場合、彼は2回目の試行を選択することができます。これは、元の選択肢を消去して表示する必要があるため、ABCDの代わりにAB Dなどが表示されます。あなたはアイデアを持っている場合、またはリンクIDを投稿することができますそれを感謝します。 iveは問題の領域を//とマークしました。C++クイズの2番目のチャンスで間違った選択肢を空白にする方法?

int player_try (string questions[][5], char answers[] ) 
{ 
char user_guess; 
int m = 0; 
srand(time(NULL)); 
int x; 
int choice; 
int total = 1; 
int score = 0; 

for (m=0; m<6; m++) 
    { 

    x = (rand() % 7); 
    cout << user_name << ": Here is question number " << m+1 << endl; 
    cout << m+1 << ". " << questions[x][0]<< endl; 
    cout << "A. " << questions[x][1]<< endl; 
    cout << "B. " << questions[x][2]<< endl; 
    cout << "C. " << questions[x][3]<< endl; 
    cout << "D. " << questions[x][4]<< endl; 
    cin >> user_guess; 
    user_guess = toupper(user_guess); 

    while (!(user_guess >= 'A' && user_guess <= 'D')) 
      { 
      cout << "Please choose a valid answer."; 
      cin>> user_guess; 
      user_guess = toupper(user_guess); 
     } 
    if (user_guess != answers[x]) 
      { 
      cout <<"Wrong!" <<endl; 
       cout << "Skip this question or try again?" << endl; 
      cout << "If you are wrong again... game OVER! No points!" << endl; 
       cout << "Press 1 to skip, press 2 to take a chance at greatness." << endl; 
      cin >> choice; 
       if (choice == '1') 
       { 
          cout << "we shall skip this question." << endl; 
        break; 
       } 
       else 
       { 
       cout << "I applaud your bravery." << endl; 
       cout << user_name << ": Here is question number " << m+1 << endl; 
        cout << m+1 << ". " << questions[x][0]<< endl; 
        cout << "A. " << questions[x][1]<< endl; // here is where im stuck 
        cout << "B. " << questions[x][2]<< endl; // how do i blank out an incorrect choice? 
        cout << "C. " << questions[x][3]<< endl; //thanks 
        cout << "D. " << questions[x][4]<< endl; 
        cin >> user_guess; 
        user_guess = toupper(user_guess); 
+0

「空白」タグとは何ですか? –

答えて

0

私はチャドに同意します。

簡単な方法で処理するには、変数に与えられた答えを保存してから、あなたが書いている答えがすでに答えられているかどうかを確認するためにいくつかのチェックを追加し、同じ場合はスキップします。

0

宿題のように思えるので、私はあなたにいくつかのヒントの代わりに、いくつかのコードを提供します。

可能な回答(question[][1-4])をstd::stringの一時配列にコピーします。

可能な回答の代わりに一時配列を表示します。

ユーザーが推測を選択した後、テンポラリ配列の適切なエントリをクリアします。

+0

私が求めるのはガイダンスです。私はそれを今得た助けてくれてありがとう! – gamergirl22

関連する問題