A Console-Based Multiple Choice Question
 Programming a Multiple-Choice Question

 Practical Learning: Introduction to Exceptions
1. Create a new Console Application in a new folder named BibleQuiz
2. Create a new C++ source file named Exercise
3. Change the content of the file with the following:

 ```#include #include #include #include using namespace std; #include const int NbrOfQuestions = 22; int AskQuestion(int q, double &m); void Verify(int); int main(int argc, char* argv[]) { int i, n; double Average, Sum = 0; typedef vector IntVector; typedef IntVector::iterator IntVectorIt; IntVector QuestNbr(NbrOfQuestions); IntVectorIt Start, End; for(i = 0; i < NbrOfQuestions; i++) QuestNbr[i] = i; Start = QuestNbr.begin(); End = QuestNbr.end(); srand(time(0)); random_shuffle(Start, End); cout << " - Multiple Choice Question -\n\n"; do { cout << "How many questions (1-20)? "; cin >> n; } while(n < 1 || n > 20); system("cls"); for(i = 0; i < n; i++) { system("cls"); cout << "Question " << i + 1 << ": "; AskQuestion(QuestNbr[i], Sum); getchar(); } system("cls"); Average = (Sum / n) * 100; cout << "Answers Overview\n"; cout << "Your answers were"; cout << "\nGood Answers: " << Sum; cout << "\nAverage: " << Average<< "%"; cout << "\n\n"; return 0; } int AskQuestion(int q, double &m) { char Answer[10]; switch(q) { case 0: cout << "\nWho was Jesus Christ\'s mother ? "; cout << "\n1. Leah" << "\n2. Marthe" << "\n3. Mary" << "\n4. salome" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "\nGood Answer"; cout << "\nRef: Lk 1:26-31"; m += 1; } else { cout << "\nWrong Answer!"; Verify(0); } break; case 1: cout << "\nHow many books are in the canonical Bible?"; cout << "\n1. 33" << "\n2. 44" << "\n3. 55" << "\n4. 66" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '4') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(1); } break; case 2: cout << "\nWhat is the first book of the Bible ?"; cout << "\n1. Malachi" << "\n2. Isaiah" << "\n3. Revelation" << "\n4. Genesis" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '4') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(2); } break; case 3: cout << "\nWhich one of Jacob\'s sons was Joseph\'s " << "brother, his own mother\'s son ?"; cout << "\n1. Levi" << "\n2. Judah" << "\n3. Asher" << "\n4. Benjamin" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '4') { cout << "\nGood Answer"; cout << "\nRef: Ge 43:29"; m += 1; } else { cout << "Wrong Answer!"; Verify(3); } break; case 4: cout << "\nWhat happened to Ananias and Sapphira after they lied " << "about the money\nthey collected from selling the land ?"; cout << "\n1. They died" << "\n2. They got sick" << "\n3. They were abandoned by the other discples in the bush" << "\n4. They were drowned in the sea of Galilee" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '1') { cout << "\nGood Answer"; cout << "\nRef: Ac 5:1-11"; m += 1; } else { cout << "Wrong Answer!"; Verify(4); } break; case 5: cout << "\nHow many apostles did Jesus Christ have?"; cout << "\n1. 3" << "\n2. 6" << "\n3. 9" << "\n4. 12" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '4') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(5); } break; case 6: cout << "\nWhat was the craftiest of the wild animals " << "the Lord had made?"; cout << "\n1. The dragon" << "\n2. The serpent" << "\n3. The lion" << "\n4. The Dove" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(6); } break; case 7: cout << "\nTo which disciple did Jesus promise the key\n" << "of the kingdom of heaven ?"; cout << "\n1. John" << "\n2. Peter" << "\n3. Philip" << "\n4. Paul" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(7); } break; case 8: cout << "\nHow does Paul address Timothy in 1 Timothy?"; cout << "\n1. My disciple" << "\n2. My brother" << "\n3. My son" << "\n4. My father" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "\nGood Answer"; m += 1; } else { Verify(8); cout << "\nWrong Answer!"; } cout << endl; break; case 9: cout << "\nWho was the father of the 12 patriarchs?"; cout << "\n1. Noah" << "\n2. Abraham" << "\n3. Isaac" << "\n4. Jacob" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '4') { cout << "\nGood Answer"; m += 1; } else { cout << "\nWrong Answer!"; Verify(9); } cout << endl; break; case 10: cout << "\nWho was the firstborn son of Adam and Eve?"; cout << "\n1. Abel" << "\n2. Cain" << "\n3. Shem" << "\n4. Japhet" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(10); } cout << endl; break; case 11: cout << "\nTo whom did James address his book?"; cout << "\n1. The 12 tribes" << "\n2. To those who have received faith" << "\n3. To the believers" << "\n4. To Epaphroditus" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '1') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(11); } cout << endl; break; case 12: cout << "\nWhat did Micah from the hill country of Ephraim " << "do of the\nyoung Levite who came to stay with him?"; cout << "\n1. He taught him to raise the sheep" << "\n2. He made him a priest" << "\n3. He killed him" << "\n4. He sent him away" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "\nGood Answer\n"; m += 1; } else { cout << "\nWrong Answer!"; Verify(12); } cout << endl; break; case 13: cout << "\nThe account of Noah starts on"; cout << "\n1. Ge 5:6" << "\n2. Ge 6:9" << "\n3. Ge 8:15" << "\n4. Ge 9:18" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(13); } break; case 14: cout << "\nIn the parable of the weed, what does the field represent?"; cout << "\n1. The Ocean" << "\n2. The world" << "\n3. The kingdom" << "\n4. The Earth" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(14); } break; case 15: cout << "\nHow many people (including Noah) got in the ark he built?"; cout << "\n1. 6" << "\n2. 7" << "\n3. 8" << "\n4. 9" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(15); } break; case 16: cout << "\nWho was John the Baptist\'s mother?"; cout << "\n1. Salome" << "\n2. mary" << "\n3. Elizabeth" << "\n4. Rebecah" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "Good Answer\n"; m += 1; } else { cout << "Wrong Answer!"; Verify(16); } break; case 17: cout << "\nIn how many pieces did the young Levite whose" << "concubine was raped by the men of Gibeah cut her?"; cout << "\n1. 3" << "\n2. 7" << "\n3. 12" << "\n4. 36" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "\nGood Answer"; m += 1; } else { cout << "\nWrong Answer!"; Verify(17); } break; case 18: cout << "\n\"If anyone would come after me, he must deny\n" << "himself and take up his cross and follow me.\""; cout << "\nWho said or wrote it ?"; cout << "\n1. Moses" << "\n2. John the Baptist" << "\n3. Jesus Christ" << "\n4. Paul" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "\nGood Answer"; m += 1; } else { cout << "\nWrong Answer!"; Verify(18); } break; case 19: cout << "\nHow old was Abraham when he died?"; cout << "\n1. 175" << "\n2. 230" << "\n3. 310" << "\n4. 425" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '1') { cout << "\nGood Answer"; m += 1; } else { cout << "\nWrong Answer!"; Verify(19); } break; case 20: cout << "\nWho said or wrote, \" You are the light of the world \"?"; cout << "\n1. Moses" << "\n2. Paul" << "\n3. Jesus" << "\n4. John" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '3') { cout << "\nGood Answer"; m += 1; } else { cout << "\nWrong Answer!"; Verify(20); } break; case 21: cout << "\nFor how long did the rain fall on the earth\n" << "while Noah and his family were in the ark he built?"; cout << "\n1. 30 days" << "\n2. 40 days" << "\n3. 50 days" << "\n4. 60 days" << "\nAnswer: "; cin >> Answer; if(Answer[0] == '2') { cout << "\nGood Answer"; cout << "\nRef: Ge 7:12"; m += 1; } else { cout << "\nWrong Answer!"; Verify(20); } break; } cout << "\nPress Enter for next question..."; getchar(); return Answer[q]; } void Verify(int t) { switch(t) { case 0: cout << "\nLk 1:26-31"; cout << "\nLuke gives the name of Jesus\' mother as Mary"; break; case 1: cout << "\nYou can get the right answer by counting the books"; break; case 2: cout << "\nYou can check the answer by opening the Bible"; break; case 3: cout << "\nRachel was Jacob\'s wife and gave birth to two sons"; cout << "\nJoseph was born in Ge 30:22-24"; cout << "\nBenjamin, was Rachel\'s second son"; break; case 4: cout << "\nYou can find the reference at Acts 5:1-11\n"; break; case 5: cout << "\nWhen on Earth, Jesus Christ had 12 apostles"; cout << "\nYou can find a reference at Lk 6:13"; break; case 6: cout << "\nThe serpent was the craftiest animal"; cout << "\nThe reference can be found at Ge 3:1"; break; case 7: cout << "\nPeter was promised the key to the kingdom of heaven"; cout << "\nThis can be checked from Mt 16:19"; break; case 8: cout << "\nIn 1Tm 1:2, Paul addresses Timothy as \"My true son\""; break; case 9: cout << "\nThe father of the 12 patriarchs was Jacob "; cout << "as indicated in Acts 7:8"; break; case 10: cout << "\nAccording to Ge 4:1, Cain was Adam\'s first son"; cout << "\nAdam\'s second son was Abel, as found in Ge 4:2"; break; case 11: cout << "\nJames addressed his book to the 12 tribes"; cout << "\nReference: James 1:1"; break; case 12: cout << "\nMicah made the young man his priest"; cout << "\nReference: Judges 17:12"; break; case 13: cout << "\nThe story of Noah is in Genesis"; cout << "\nThe reference can be found at Ge 6:9"; break; case 14: cout << "\nIn the parable of the weed, the field" << "represents the world"; cout << "\nRef: Mt 13:38"; break; case 15: cout << "\nNoah was married: 2 people"; cout << "\nNoah had 3 sons and each was married: 6 people"; cout << "\n2 + 6 means there were 8 people in the arch."; cout << "\nRef: Ge 7:7"; break; case 16: cout << "\nElizabeth was John The Baptiste mother"; cout << "\nRef: Lk 1:36-37"; break; case 17: cout << "\nThis story is accounted in Judges 19"; cout << "\nRef: Jg 19:29"; break; case 18: cout << "\nJesus said that in Mt 16:24"; break; case 19: cout << "\nAbraham lived 175 years and died"; cout << "\nThis is indicated in Ge 25:7"; break; case 20: cout << "\nThis is quote from The Sermon on the Mount"; cout << "\nRef: Mt 5:14"; case 21: cout << "\nwhile Noah and his family were in the ark he built\n" << "the \"rain fell on the earth 40 days and 40 nights."; cout << "\nRef: Ge 7:12"; break; } }```
4. Test the program.