structures passing to functions by value create a Student s

//structures passing to functions by value
// 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 VALUE, not by reference.
/*
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 ID: 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 (by value)
//*************************
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 (by value)
//**************************************

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

}

Solution

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

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

void getStudent (struct Student s);
void GetStudent (struct Student *s);
void showStudent (struct Student s);

int main()
{
    Student nsuStudent;

    getStudent(nsuStudent);//HERE PASSING AS VALUE SO.. SO VALUES WILL NOT GET UPDATED
  
  
  
    showStudent(nsuStudent);//PASSING VAULE//PRINTS GARBAGE VALUES
  
  
    GetStudent(&nsuStudent);//pass by reference
  
    showStudent(nsuStudent);//PASSING VAULE//PRINTS GARBAGE VALUES

    return 0;
}

//**********************
//definition of getStudent (by value)
//*************************
void getStudent(struct Student s)
{
    cout << \"Enter the student ID (integer): \";
    cin >> s.studentID;
    cout << \"Enter the student name: \";
    cin.ignore();
    getline(cin,s.studentName);
    cout << \"Enter the number of courses taken: \";
    cin >> s.coursesTaken;
    cout << \"Enter the GPA: \";
    cin >>s.GPA;
}


//pass reference
void GetStudent(struct Student *s)
{
    cout << \"Enter the student ID (integer): \";
    cin >> s->studentID;
    cout << \"Enter the student name: \";
    cin.ignore();
    getline(cin,s->studentName);
    cout << \"Enter the number of courses taken: \";
    cin >> s->coursesTaken;
    cout << \"Enter the GPA: \";
    cin >>s->GPA;
}


//**************************************
// definition of showStudent (by value)
//**************************************

void showStudent(struct Student s)
{
    //cout << fixed << showpoint << setprecision(2);
    cout << \"Student ID: \" <<s.studentID << endl;
    cout << \"Name: \" << s.studentName << endl;
    cout << \"Course taken: \" << s.coursesTaken << endl;
    cout << \"GPA: \" << s.GPA << endl;

}

OUTPUT:-

Enter the student ID (integer): 1234
Enter the student name: SURYA
Enter the number of courses taken: 16
Enter the GPA: 3.71
Student ID: 0
Name:
Course taken: 4201003
GPA: 6.95279e-310
Enter the student ID (integer): 1234
Enter the student name: SURYA
Enter the number of courses taken: 17
Enter the GPA: 3.67
Student ID: 1234
Name: SURYA
Course taken: 17
GPA: 3.67


Process exited normally.
Press any key to continue . . .

//structures passing to functions by value // create a Student structure that contains an ID number (integer), student name (string class), //number of courses
//structures passing to functions by value // create a Student structure that contains an ID number (integer), student name (string class), //number of courses
//structures passing to functions by value // create a Student structure that contains an ID number (integer), student name (string class), //number of courses

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site