Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The program must follow these registration business rules: No registration of other courses not displayed by the program. No registration more than once for the

The program must follow these registration business rules:

No registration of other courses not displayed by the program.

No registration more than once for the same course.

No registration for more than nine credit hours (e.g., no more than three courses).

The program validates the user integer menu selection, and if valid, registers the student for the selected course. Otherwise, the program outputs an error message. The program then outputs the current list of registered classes and asks the user if he or she wants to register for another course. You have been hired to debug and fix these program errors so that the program will run and produce the correct output.

I have successfully coded the program below. Here is my problem. If someone enters a special character as their very first class registration when the program begins it crashes! Here is my code below: How can I validate that no special characters are being entered and only integers??

namespace ConsoleRegisterStudent { class Program { static void Main(string[] args) { (new Program()).run(); Console.ReadKey(); }

void run() { int choice; int firstChoice = 0, secondChoice = 0, thirdChoice = 0; int totalCredit = 0; string yesOrNo = ""; System.Console.WriteLine("My Copy "); do { WritePrompt(); choice = Convert.ToInt32(Console.ReadLine()); switch (ValidateChoice(choice, firstChoice, secondChoice, thirdChoice, totalCredit)) { case -1: Console.WriteLine("Your entered selection {0} is not a recognized course.", choice); break; case -2: Console.WriteLine("You have already registerd for this {0} course.", ChoiceToCourse(choice)); break; case -3: Console.WriteLine("You can not register for more than 9 credit hours."); break; case 0: Console.WriteLine("Registration Confirmed for course {0}.", ChoiceToCourse(choice)); totalCredit += 3; if (firstChoice == 0) firstChoice = choice; else if (secondChoice == 0) secondChoice = choice; else if (thirdChoice == 0) thirdChoice = choice; break;

} WriteCurrentRegistration(firstChoice, secondChoice, thirdChoice); Console.Write(" Do you want to try again? (Y|N)? : "); yesOrNo = (Console.ReadLine()).ToUpper(); } while (yesOrNo == "Y");

Console.Write("Thank you for registering with us. You have successfully registered for {0}, {1}, {2}.", ChoiceToCourse(firstChoice), ChoiceToCourse(secondChoice), ChoiceToCourse(thirdChoice) + ". Press any key to exit...");

} void WritePrompt() { Console.WriteLine("Please select a course for which you want to register by typing the number inside [] "); Console.WriteLine("[1]IT 145 [2]IT 200 [3]IT 201 [4]IT 270 [5]IT 315 [6]IT 328 [7]IT 330"); Console.Write("Enter your choice : "); } int ValidateChoice(int choice, int firstChoice, int secondChoice, int thirdChoice, int totalCredit) { if (choice < 1 || choice > 7) return -1; else if (choice == firstChoice || choice == secondChoice || choice == thirdChoice) return -2; else if (totalCredit >= 9) return -3; return 0; }

void WriteCurrentRegistration(int firstChoice, int secondChoice, int thirdChoice) { if (secondChoice == 0) Console.WriteLine("You are currently registered for {0}", ChoiceToCourse(firstChoice)); else if (thirdChoice == 0) Console.WriteLine("You are currently registered for {0}, {1}", ChoiceToCourse(firstChoice), ChoiceToCourse(secondChoice)); else Console.WriteLine("You are currently registered for {0}, {1}, {2}", ChoiceToCourse(firstChoice), ChoiceToCourse(secondChoice), ChoiceToCourse(thirdChoice)); } string ChoiceToCourse(int choice) { string course = ""; switch (choice) { case 1: course = "IT 145"; break; case 2: course = "IT 200"; break; case 3: course = "IT 201"; break; case 4: course = "IT 270"; break; case 5: course = "IT 315"; break; case 6: course = "IT 328"; break; case 7: course = "IT 330"; break; default: break; } return course; } }

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Computer Aided Database Design

Authors: Antonio Albano, Valeria De Antonellis, A. Di Leva

1st Edition

0444877355, 978-0444877352

More Books

Students also viewed these Databases questions

Question

Question Can a self-employed person adopt a profit sharing plan?

Answered: 1 week ago