using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Question3 { class Program { static void Main(string[] args) { int choice = 1; List questions = new List(); while (choice != 0) { Console.WriteLine("******************************"); Console.WriteLine("* Trivia Game Administration *"); Console.WriteLine("******************************"); Console.WriteLine(); Console.WriteLine("1. List Trivia Items"); Console.WriteLine("2. Add Trivia Item"); Console.WriteLine("3. Delete Trivia Item"); Console.WriteLine("4. Quit"); Console.WriteLine("Your choice: "); int.TryParse(Console.ReadLine(), out choice); if (choice == 1) { if (questions.Count == 0) { Console.WriteLine("There are currently no items in the database."); Console.WriteLine(); } else { for (int i = 0; i < questions.Count; i++) { Console.WriteLine((i + 1) + ". " + questions.ElementAt(i).getQuestion()); string[] choices = questions.ElementAt(i).getChoices(); for (int j = 0; j < choices.Count(); j++) { Console.WriteLine(" " + (j + 1) + ". " + choices[j]); } Console.WriteLine("Current answer: " + questions.ElementAt(i).getAnswer()); Console.WriteLine(); } } } else if (choice == 2) { TriviaQuestion question = new TriviaQuestion(); Console.WriteLine("Enter the trivia item question: "); String text = Console.ReadLine(); question.setQuestion(text); Console.WriteLine("Enter answer #1: "); String ans1 = Console.ReadLine(); question.addChoice(ans1, 1); Console.WriteLine("Enter answer #2: "); String ans2 = Console.ReadLine(); question.addChoice(ans2, 2); Console.WriteLine("Enter answer #3: "); String ans3 = Console.ReadLine(); question.addChoice(ans3, 3); Console.WriteLine("Enter answer #4: "); String ans4 = Console.ReadLine(); question.addChoice(ans4, 4); Console.WriteLine("Enter the correct answer choice (1-4): "); int ans; int.TryParse(Console.ReadLine(), out ans); question.setAnswer(ans); questions.Add(question); } else if (choice == 3) { Console.WriteLine("Item# Question"); Console.WriteLine("----- -------------------------------------------------------"); for (int i = 0; i < questions.Count; i++) { Console.WriteLine((i + 1) + " " + questions.ElementAt(i).getQuestion()); } Console.WriteLine("Enter the item number to delete: "); int number; int.TryParse(Console.ReadLine(), out number); questions.RemoveAt(number - 1); Console.WriteLine("Item #" + number + " has been deleted from the database."); } else if (choice == 4) { choice = 0; StringBuilder csv = new StringBuilder(); for (int i = 0; i < questions.Count; i++) { csv.AppendLine((i + 1) + ". " + questions.ElementAt(i).getQuestion()); string[] choices = questions.ElementAt(i).getChoices(); for (int j = 0; j < choices.Count(); j++) { csv.AppendLine(" " + (j + 1) + ". " + choices[j]); } csv.AppendLine("Current answer: " + questions.ElementAt(i).getAnswer()); csv.AppendLine(); File.WriteAllText("TrivialQuestions.csv", csv.ToString()); } Console.WriteLine("The trivia items has been saved to the file TrivialQuestions.csv"); Console.WriteLine("Good-bye."); // Keep the console window open in debug mode. Console.WriteLine(); Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } } } class TriviaQuestion { string Question; string[] Choices; int Answer; //constructor public TriviaQuestion() { Choices = new string[4]; } //mutator methods public void setQuestion(string question) { this.Question = question; } public string getQuestion() { return Question; } public void addChoice(string choice, int choiceNumber) { this.Choices[choiceNumber - 1] = choice; } public string[] getChoices() { return Choices; } public void setAnswer(int answer) { this.Answer = answer; } public int getAnswer() { return Answer; } } }