cs file containing the solution to Question 1 and Question 2 should be uploaded on the Learn site BEFORE 17:00 on Monday, 21 May 2012. No late submissions will be accepted. Create folders on your H drive to store your practical solutions: In the ONT1000/My Practicals (or SDS1000/My Practicals) folder that you created on your H drive create a folder called Practical 10.
QUESTION 1:
static void Main(string[] args) { Console.Title = "Student Marks"; string studentName = "", subjectCode; int testMark, sumOfMarks = 0, highestMark = 0, lowestMark = 100; double classAverage; int count = 1, failCounter = 0, passCounter = 0, distinctionCounter = 0; string result; string message = "NAME\tMARK\tRESULT\n"; message += "====\t====\t======\n";
while (studentName != "-X-") { studentName = GetStudentName(count); if (studentName != "-X-") { testMark = GetStudentMark(studentName); sumOfMarks += testMark; highestMark = Math.Max(highestMark, testMark); lowestMark = Math.Min(lowestMark, testMark); if (testMark < 40) { result = "Fail"; failCounter++; } else if (testMark < 75) { result = "Pass"; passCounter++;
Practical 11
Page 1 of 5
} }
if (count > 1) { classAverage = sumOfMarks / ((double)count - 1); message += "\n"; message += "\nNumber of students:\t\t" + (count - 1) + "\n"; message += "Subject code:\t\t" + subjectCode + "\n\n"; message += "Failed:\t\t\t" + failCounter + "\n"; message += "Passed:\t\t\t" + passCounter + "\n"; message += "Passed with distinction:\t" + distinctionCounter + "\n\n"; message += "Lowest mark:\t\t" + lowestMark + "\n"; message += "Highest mark:\t\t" + highestMark + "\n\n"; message += "Class average:\t\t" + classAverage.ToString("f2");
MessageBox.Show(message, "MARKS FOR " + subjectCode); } else MessageBox.Show("No student results have been captured!");
static string GetSubjectCode() { Console.Write("Please enter the subject code: "); return Console.ReadLine(); }
Practical 11
Page 2 of 5
static int GetStudentMark(string studentName) { int testMark; do { Console.Write("Please enter the test mark for {0}: ", studentName); testMark = int.Parse(Console.ReadLine()); if (testMark < 0 || testMark > 100) Console.WriteLine("INVALID TEST MARK. Please re-enter below."); } while (testMark < 0 || testMark > 100); Console.WriteLine(); return testMark; }
QUESTION 2
static void Main(string[] args) { Console.Title = ""; char menuChoice= ' '; double number1, number2, answer; number1 = GetNumber("Please enter a number: "); number2 = GetNumber("Please enter another number: ");
menuChoice = GetMenuChoice();
if (menuChoice == 'a' || menuChoice == 'A') { answer = Add(number1, number2); Display(number1, number2, answer, '+'); }
Practical 11
Page 3 of 5
'M')
'R')
'S')
static double GetNumber(string prompt) { Console.Write(prompt); return double.Parse(Console.ReadLine()); } static char GetMenuChoice() { char menuChoice = ' '; bool validChoice = false; while (validChoice == false) { Console.Clear(); Console.WriteLine("MENU"); Console.WriteLine("===="); Console.WriteLine("A) Add"); Console.WriteLine("D) Divide"); Console.WriteLine("M) Multiply"); Console.WriteLine("R) Remainder"); Console.WriteLine("S) Subtract"); Console.WriteLine("X) Exit"); Console.Write("\nPlease enter your choice (A,D,M,R,S, or X): "); menuChoice = char.Parse(Console.ReadLine()); switch(menuChoice) { case 'a': case 'A': case 'd':
Practical 11
Page 4 of 5
Practical 11
Page 5 of 5