私はクイズプログラムを作成しています。ユーザーが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);
「空白」タグとは何ですか? –