Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

//structures passing to functions as pointer // create a Student structure that

ID: 3778485 • Letter: #

Question

//structures passing to functions as pointer
// create a Student structure that contains an ID number (integer), student name (string class),
//number of courses taken (integer) and GPA (double). Use a function getStudent to enter data for a student.
//Use a function showStudent to show the data. Pass the Student structure to the functions by REFERENCE, not by value.
/*
Enter the student ID (integer): 1234
Enter the student name: Ernst Bekkering
Enter the number of courses taken: 16
Enter the GPA: 3.75
Student number: 1234
Name: Ernst Bekkering
Course taken: 16
GPA: 3.75
Press any key to continue . . .
*/

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

struct Student
{
int studentID;
string studentName;
int coursesTaken;
double GPA;
};

void getStudent (?????????);
void showStudent (?????????);

int main()
{
Student nsuStudent;

getStudent(?????????);
showStudent(?????????);

return 0;
}

//**********************
//definition of getStudent (as pointer)
//*************************
void getStudent(?????????)
{
cout << "Enter the student ID (integer): ";
cin >> ?????????;
cout << "Enter the student name: ";
cin.ignore();
getline(cin, ?????????);
cout << "Enter the number of courses taken: ";
cin >> ?????????;
cout << "Enter the GPA: ";
cin >> ?????????;
}

//**************************************
// definition of showStudent (as pointer)
//**************************************

void showStudent(?????????)
{
cout << fixed << showpoint << setprecision(2);
cout << "Student number: " <<????????? << endl;
cout << "Name: " <<????????? << endl;
cout << "Course taken: " << ????????? << endl;
cout << "GPA: " << ????????? << endl;

}

Explanation / Answer

#include<iostream.h>                   // for inpit and output

#include<string.h>                          // for string nama...

using namespace std;                    // for name space..

struct student   // declare struct

{

                string name,no_matric;

                string sub_code[10],sub_name[10],sub_grade[10];

                float credit_hour[10];

}student1;

main()

{

                int credit_hours[10];

                int sem,total_subject;                   //'b', 'a',total_credit_hours and total_point

//are removed

                float value[10],gpa[10],get_point[10];

                float cgpa;

                float total_point_sem = 0;                           //Initialise value

                int total_credit_hours_sem = 0;                //Initialise value

                cin.ignore();

               

                cout << " ================ ";

                cout << " STUDENT'S REKOD " << endl;

                cout << " ================ " << endl;

               

                cout << " ENTER STUDENT'S NAME      : ";                          //Enter student's name

                getline(cin,student1.name);

                cout << " ENTER STUDENT'S MATRIC NUMBER : ";                            //Enter student's matric number

                getline(cin,student1.no_matric);

                cout << " ENTER TOTAL SEM TAKEN         :";                           //Total semester taken by the student

                cin >> sem;

               

                for(int a = 0; a< sem ; a++)           //'a' declared as int in for()[newly added]

                {

                                int b; //newly added line,'b' choose to add it here because, if not, error will be occured : 'b' for gpa[b] will become undefined...

                                int total_credit_hours = 0;                           //newly added

                                float total_point = 0;                       //newly added

                                cout << " ENTER SUBJECT TAKEN FOR SEM       : " << a+1 << ":"; //Enter total number of subject taken for each sem

                                cin >> total_subject;

                                for(int b = 0; b< total_subject; b++) //loop for the courses

                                {

                                                cin.ignore();

                                                cout << " ENTER SUBJECT CODE : "; //Enter subject code

                                                getline(cin,student1.sub_code[b]);

                                                cout << " ENTER SUBJECT NAME               : "; //Enter subject name

                                                getline(cin,student1.sub_name[b]);

                                                cout << " ENTER SUBJECT'S CREDIT HOUR             : "; //Enter credit hours of the subject

                                                cin >> student1.credit_hour[b];

                                                cin.ignore();

                                                cout << " ENTER SUBJECT GRED : "; //Enter grade gained by student for every subject

                                                getline(cin,student1.sub_grade[b]);

                                               

                                                if(student1.sub_grade[b]=="A")

                                                                value[b]=4;

                                                else if(student1.sub_grade[b]=="A-")

                                                                value[b]=3.75;

                                                else if(student1.sub_grade[b]=="B+")

                                                                value[b]=3.5;

                                                else if(student1.sub_grade[b]=="B")

                                                                value[b]=3;

                                                else if(student1.sub_grade[b]=="B-")

                                                                value[b]=2.75;

                                                else if(student1.sub_grade[b]=="C+")

                                                                value[b]=2.5;

                                                else if(student1.sub_grade[b]=="C")

                                                                value[b]=2;

                                                else if(student1.sub_grade[b]=="C-")

                                                                value[b]=1.75;

                                                else if(student1.sub_grade[b]== "D+")

                                                                value[b]=1.5;

                                                else if(student1.sub_grade[b]=="D")

                                                                value[b]=1;

                                                else

                                                                value[b]=0;

                                               

                                                get_point[b] = student1.credit_hour[b] * value[b]; //multiply of credit hours and grade get for each subject

                                                total_credit_hours +=student1.credit_hour[b]; //total cerdit hours for a sem

                                                total_point += get_point[b]; //total points(multiple of credits hours and grade)get for a sem

                                }

                               

                                gpa[b] = total_point / total_credit_hours; //calculate GPA for each sem

                               

                                total_point_sem += total_point; //Total points(multiple of grade and credit hours) get for all semester

                               

                                total_credit_hours_sem += total_credit_hours; //credits hour get for all semester

                }

               

                cgpa = total_point_sem / total_credit_hours_sem; //calculate CGPA

               

                cout << " =================================================== ";

                cout <<" NAME                                            : " << student1.name << endl; //display name of student

                cout <<" NO MATRIC      : "<< student1.no_matric << endl;

                for(int a = 0; a< sem ; a++) //Declaration of 'a' as int in for()

                {

                                cout <<" SUBJECT CODE " << " SUBJECT NAME " << " SUBJECT CREDIT HOURS " <<endl;

                                for(int b=0; b<total_subject; b++) //Declaration of 'b' as int in for()

                                {

                                                cout << " " << student1.sub_code[b] << " : " << student1.sub_name[b]<< " : " << student1.credit_hour[b] << endl;

                                }

                                                cout << " GPA" <<a+1<< " : " <<gpa[a] << endl;

                }

                                                cout << " CGPA : "<<cgpa<<endl;

               

                                cout << " =================================================== ";

}