Answer to Question #308253 in C++ for Hello

Question #308253

Using two dimensional array Write a program 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:




1
Expert's answer
2022-03-10T07:15:40-0500


#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;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog