Write a c++ program using two dimensional array that will store the student id number, average quiz score, midterm exam score, and final exam score maximum of 25 students(score must from 0 to) and Instead of forcing the user to enter all of the data at once and displaying all of it, the program will provide menu options that allows user to add new records, delete, update and view all records. It should also provide an option called settings that allows the user to set the grading criteria that will be used in the computation of grades. You may include an additional functionality that allows the user to search a specific record of a student given the student number. A sample menu driven application is given below
Mini Grading System
1. Add New Record
2. Edit Record
3. Delete Record
4. View All
5. Settings
6. Search
7. Exit
Enter your choice:
#include <iostream>
using namespace std;
int searchByStudentIdNumber(int studentsData[25][4],int totalStudents,int studentIDNumber){
for(int i=0;i< totalStudents;i++){
if(studentsData[i][0]==studentIDNumber){
return i;
}
}
return -1;
}
int main() {
int studentsData[25][4];
int choice;
int totalStudents=0;
int studentIDNumber;
int ch;
int index;
int gradingCriteria=100;
do{
cout<<"Mini Grading System\n\n";
cout<<"1. Add New Record\n";
cout<<"2. Edit Record\n";
cout<<"3. Delete Record\n";
cout<<"4. View All\n";
cout<<"5. Settings\n";
cout<<"6. Search\n";
cout<<"7. Exit\n";
cout<<"Enter your choice: ";
cin>>choice;
switch(choice){
case 1:
cout<<"Enter a student id number: ";
cin>>studentsData[totalStudents][0];
studentsData[totalStudents][1]=-1;
while(studentsData[totalStudents][1]<0 || studentsData[totalStudents][1]>gradingCriteria){
cout<<"Enter student average quiz score: ";
cin>>studentsData[totalStudents][1];
}
studentsData[totalStudents][2]=-1;
while(studentsData[totalStudents][2]<0 || studentsData[totalStudents][2]>gradingCriteria){
cout<<"Enter student midterm exam score: ";
cin>>studentsData[totalStudents][2];
}
studentsData[totalStudents][3]=-1;
while(studentsData[totalStudents][3]<0 || studentsData[totalStudents][3]>gradingCriteria){
cout<<"Enter student final exam score: ";
cin>>studentsData[totalStudents][3];
}
totalStudents++;
cout<<"\nA new student record has been added\n\n";
break;
case 2:{
cout<<"Enter student ID Number to edit: ";
cin>>studentIDNumber;
index=searchByStudentIdNumber(studentsData, totalStudents,studentIDNumber);
if(index!=-1){
cout<<"1. Edit student id number\n";
cout<<"2. Edit student average quiz score\n";
cout<<"3. Edit student midterm exam score\n";
cout<<"4. Edit student final exam score\n";
cout<<"Your choice: ";
cin>>ch;
if(ch==1){
cout<<"Enter a new student id number: ";
cin>>studentsData[index][0];
cout<<"\nThe data has been updated\n\n";
}else if(ch==2){
studentsData[index][1]=-1;
while(studentsData[index][1]<0 || studentsData[index][1]>gradingCriteria){
cout<<"Enter a new student average quiz score: ";
cin>>studentsData[index][1];
}
cout<<"\nThe data has been updated\n\n";
}else if(ch==3){
studentsData[index][2]=-1;
while(studentsData[index][1]<0 || studentsData[index][2]>gradingCriteria){
cout<<"Enter a new student midterm exam score: ";
cin>>studentsData[index][2];
}
cout<<"\nThe data has been updated\n\n";
}else if(ch==4){
studentsData[index][3]=-1;
while(studentsData[index][3]<0 || studentsData[index][3]>gradingCriteria){
cout<<"Enter a new student final exam score: ";
cin>>studentsData[index][3];
}
cout<<"\nThe data has been updated\n\n";
}
}else{
cout<<"\nWrong ID Number\n";
}
}
break;
case 3:
{
cout<<"Enter student ID Number to delete: ";
cin>>studentIDNumber;
index=searchByStudentIdNumber(studentsData, totalStudents,studentIDNumber);
if(index!=-1){
for(int i=index;i< totalStudents-1;i++){
studentsData[i][0]=studentsData[i+1][0];
studentsData[i][1]=studentsData[i+1][1];
studentsData[i][2]=studentsData[i+1][2];
studentsData[i][3]=studentsData[i+1][3];
}
totalStudents--;
cout<<"\nSelected student record has been deleted\n\n";
}else{
cout<<"\nWrong ID Number\n";
}
}
break;
case 4:
{
cout<<"\n";
for(int i=0;i< totalStudents;i++){
cout<<"The student id number: "<<studentsData[i][0]<<"\n";
cout<<"The student average quiz score: "<<studentsData[i][1]<<"\n";
cout<<"The student midterm exam score: "<<studentsData[i][2]<<"\n";
cout<<"The student final exam score: "<<studentsData[i][3]<<"\n\n";
}
}
break;
case 5:{
cout<<"Enter the grading criteria that will be used in the computation of grades >0: ";
cin>>gradingCriteria;
}
break;
case 6:
{
cout<<"Enter student ID Number to edit: ";
cin>>studentIDNumber;
index=searchByStudentIdNumber(studentsData, totalStudents,studentIDNumber);
if(index!=-1){
cout<<"The student id number: "<<studentsData[index][0]<<"\n";
cout<<"The student average quiz score: "<<studentsData[index][1]<<"\n";
cout<<"The student midterm exam score: "<<studentsData[index][2]<<"\n";
cout<<"The student final exam score: "<<studentsData[index][3]<<"\n\n";
}else{
cout<<"\nWrong ID Number\n";
}
}
break;
case 7:
//exit
break;
default:
cout<<"\nWrong menu item.\n";
break;
}
}while(choice!=7);
system("pause");
return 0;
}
Comments
Leave a comment