public static void MainLoop(Student[] student, int itemcount) { ShowMenu(); int yourchoice; string confirm = "y"; do { Console.Write("Enter your choice(1-9): "); yourchoice = int.Parse(Console.ReadLine()); switch (yourchoice) { case 1: Add(student, ref itemcount); break; case 2: Delete(student, ref itemcount); break; case 3: Update(student, itemcount); break; case 4: ViewAll(student, itemcount); break; case 5: Average(student, itemcount); break; case 6: ShowMax(student, itemcount); break; case 7: ShowMin(student, itemcount); break; case 8: ShowRecord(student, itemcount); break; case 9: BubbleSort(student, itemcount); break; default: Console.WriteLine("Invalid Choice."); break; } Console.Write("Press y or Y to continue:"); confirm = Console.ReadLine().ToString(); } while (confirm == "y" || confirm == "Y"); }
public static void Add(Student[] student, ref int itemcount) { int loop = 0; while (loop == 0) { Console.WriteLine(); Console.Write("Enter student's ID:"); student[itemcount].Number = Console.ReadLine().ToString(); //making sure the record to be added doesn't already exist if (Search(student, student[itemcount].Number, itemcount) != -1) { Console.WriteLine("This ID already exists."); } else { loop = 1; } } Console.Write("Enter student's Name: "); student[itemcount].Name = Console.ReadLine().ToString(); Console.Write("Enter student's Sex(F or M): "); student[itemcount].Sex = Console.ReadLine().ToString(); Console.Write("Enter student's Quiz1 score: "); student[itemcount].Quiz1 = float.Parse(Console.ReadLine()); Console.Write("Enter student's Quiz2 score: "); student[itemcount].Quiz2 = float.Parse(Console.ReadLine()); Console.Write("Enter student's Assigment score: "); student[itemcount].Assigment = float.Parse(Console.ReadLine()); Console.Write("Enter student's Midterm score: "); student[itemcount].Midterm = float.Parse(Console.ReadLine()); Console.Write("Enter student's Final score: "); student[itemcount].Final = float.Parse(Console.ReadLine()); student[itemcount].Total = student[itemcount].Quiz1 + student[itemcount].Quiz2 + student[itemcount].Assigment + student[itemcount].Midterm + student[itemcount].Final; ++itemcount; }
public static void ShowRecord(Student[] student, int itemcount) { string id; Console.Write("Enter student's ID to show scores: "); id = Console.ReadLine(); int index = Search(student, id.ToString(), itemcount); if (index != -1) { Console.Write("{0,-5}{1,-20}{2,-5}", student[index].Number, student[index].Name, student[index].Sex); Console.Write("{0,-5}{1,-5}{2,-5}", student[index].Quiz1, student[index].Quiz2, student[index].Assigment); Console.Write("{0,-5}{1,-5}{2,-5}", student[index].Midterm, student[index].Final, student[index].Total); Console.WriteLine(); } else Console.WriteLine("That record doesn't exist."); }
public static void BubbleSort(Student[] dataset, int n) { int i, j; for (i = 0; i < n; i++) for (j = n - 1; j > i; j--) if (dataset[j].Total < dataset[j - 1].Total) { Student temp = dataset[j]; dataset[j] = dataset[j - 1]; dataset[j - 1] = temp; } }
public static void Average(Student[] student, int itemcount) { string id; float avg = 0; Console.Write("Enter student's ID to find their Average Score: "); id = Console.ReadLine(); int index = Search(student, id.ToString(), itemcount); if (index != -1 && itemcount > 0) { avg = student[index].Total / 5; } Console.WriteLine("This student's Average Score is {0}.", avg); }
public static void ShowMin(Student[] student, int itemcount) { float min = student[0].Total; int index = 0; if (itemcount != 0) { for (int j = 0; j < itemcount - 1; ++j) if (min > student[j + 1].Total) { min = student[j + 1].Total; index = j + 1; } } else { Console.WriteLine("No records found!"); index = -1; } if (index != -1) { Console.WriteLine("The student with ID:{0} has the lowest score: {1}.", student[index].Number, min); } }
public static void Update(Student[] student, int itemcount) { string id; int ColumnIndex; Console.Write("Enter student's ID to be updated: "); id = Console.ReadLine(); Console.Write("Which field you want to update(1-7)?:"); ColumnIndex = int.Parse(Console.ReadLine()); int index = Search(student, id.ToString(), itemcount); if ((index != -1) && (itemcount != 0)) { if (ColumnIndex == 1) { Console.Write("Enter student's Name: "); student[index].Name = Console.ReadLine().ToString(); } else if (ColumnIndex == 2) { Console.Write("Enter student's Sex(F or M):"); student[index].Sex = Console.ReadLine().ToString(); } else if (ColumnIndex == 3) { Console.Write("Enter student's quizz1 score:"); student[index].Quiz1 = float.Parse(Console.ReadLine()); } else if (ColumnIndex == 4) { Console.Write("Enter student's quizz2 score:"); student[index].Quiz2 = float.Parse(Console.ReadLine()); } else if (ColumnIndex == 5) { Console.Write("Enter student's assigment score:"); student[index].Assigment = float.Parse(Console.ReadLine()); } else if (ColumnIndex == 6) { Console.Write("Enter student's mid term score:"); student[index].Midterm = float.Parse(Console.ReadLine()); } else if (ColumnIndex == 7) { Console.Write("Enter student's final score:"); student[index].Final = float.Parse(Console.ReadLine()); } else Console.WriteLine("Invalid column index"); student[index].Total = student[index].Quiz1 + student[index].Quiz2 + student[index].Assigment + student[index].Midterm + student[index].Final; } else Console.WriteLine("The record doesn't exist. Check the ID and try again."); }
public static void Remove(Student[] student, int index) { student[index].Number = null; student[index].Name = null; student[index].Sex = null; student[index].Quiz1 = 0; student[index].Quiz2 = 0; student[index].Assigment = 0; student[index].Midterm = 0; student[index].Final = 0; student[index].Total = 0; }
public static void Delete(Student[] student, ref int itemcount) { string id; int index; if (itemcount > 0) { Console.Write("Enter student's ID to be deleted:"); id = Console.ReadLine(); index = Search(student, id.ToString(), itemcount); if ((index != -1) && (itemcount != 0)) { if (index == (itemcount - 1)) { Remove(student, index); --itemcount; Console.WriteLine("The record was deleted."); } else { for (int i = index; i < itemcount - 1; i++) { student[i] = student[i + 1]; Remove(student, itemcount); --itemcount; } } } else { Console.WriteLine("The record doesn't exist. Check the ID and try again."); } } else { Console.WriteLine("There are no records to delete."); } }
public static int Search(Student[] student, string id, int itemcount) { int found = -1; for (int i = 0; i < itemcount && found == -1; i++) { if (student[i].Number == id) { found = i; } } return found; }
public static void ViewAll(Student[] student, int itemcount) { int i = 0; Console.WriteLine("{0,-5}{1,-20}{2,-5}{3,-5}{4,-5}{5,-5}{6,-5}{7,-5}{8}(column index)", "0", "1", "2", "3", "4", "5", "6", "7", "8"); Console.WriteLine("{0,-5}{1,-20}{2,-5}{3,-5}{4,-5}{5,-5}{6,-5}{7,-5}{8,-5}", "ID", "NAME", "SEX", "Q1", "Q2", "As", "Mi", "Fi", "TOTAL"); Console.WriteLine("*********************************"); while (i < itemcount) { if (student[i].Number != null) { Console.Write("{0,-5}{1,-20}{2,-5}", student[i].Number, student[i].Name, student[i].Sex); Console.Write("{0,-5}{1,-5}{2,-5}", student[i].Quiz1, student[i].Quiz2, student[i].Assigment); Console.Write("{0,-5}{1,-5}{2,-5}", student[i].Midterm, student[i].Final, student[i].Total); Console.Write("\n"); } i += 1; } }