413f Here is part 413 part d modify the code to produce part

4-13f. Here is part 4-13 part d, modify the code to produce parts b (separate header file student4-13.h for the structure definition, see fields in code to see data fields) and parts e and f (separate function for the printing of the array and pass the address of the array to a student pointer that will increment through the array, printing the student address label by accessing the fields through the arrow operator and making the for loop into a pointer comparison while loop). Submit the final part f main .cpp and student4-13.h.

**     d.   with an array of student structures

**     b.   with the structure definition in a separate header file
*      e.   with a function to print the array
**     f.   with a pass by reference (pointer to the array) to the function (using the arrow operator), using the pointer comparison while loop

/*
Exercise 4-13d
This program will make a student structure
*/
#include<iostream>
#include\"student4-13.h\"   // define student and address structures
using namespace std;

void main()
{
    student s[2]; // array of two student structures
    int i, j;

    for (i = 0; i < 2; i++)
    {
    cout << \"Enter Student First Name: \";
    cin >> s[i].first;   // input into the ith student\'s first name field
    cout << \"Enter Student Last Name: \";
    cin.ignore(1, \'\ \');   // clear enter
    cin >> s[i].last;
    cout << \"Enter Street Address: \";
    cin.ignore(1, \'\ \');
    cin.getline(s[i].home.street, sizeof(s[i].home.street), \'\ \'); /* whole line for street*/
    cout << \"Enter City: \";
    cin.getline(s[i].home.city, sizeof(s[i].home.city), \'\ \');
    cout << \"Enter State (ex. NY): \";
    cin >> s[i].home.state;
    cout << \"Enter Zip Code: \";
    cin.ignore(1, \'\ \');
    cin >> s[i].home.zip;
    cout << \"Enter Class Year: \";
    cin >> s[i].year;
    cout << endl;
    }

            // pass student array to separate function - student pointer

    for (j = 0; j < 2; j++) // change to while pointer comparison loop
    {
    cout << \"\ \ \";    // change to print fields using pointer and arrow operator
    cout << s[j].first << \" \" << s[j].last << \" \" << s[j].year << endl;
    cout << s[j].home.street << endl;
    cout << s[j].home.city << \", \" << s[j].home.state << \" \" << s[j].home.zip << endl;
    }
}

Solution

// student4-13.h

#include <iostream>
using namespace std;

struct address{
   char street[256];
   char city[256];
   char state[256];
   int zip;
};

struct student{
   string first;
   string last;
   address home;
   int year;
};

// main.cpp

#include <iostream>
#include \"student4-13.h\" // define student and address structures
using namespace std;

void print(student *s, int size){
   int j = 0;
   while(j < size) // change to while pointer comparison loop
   {
       cout << \"\ \ \"; // change to print fields using pointer and arrow operator
       cout << (s + j)->first << \" \" << (s + j)->last << \" \" << (s + j)->year << endl;
       cout << (s + j)->home.street << endl;
       cout << (s + j)->home.city << \", \" << (s + j)->home.state << \" \" << (s + j)->home.zip << endl;
       j++;
   }
}

int main()
{
   student s[2]; // array of two student structures
   int i, j;

   for (i = 0; i < 2; i++)
   {
       cout << \"Enter Student First Name: \";
       cin >> s[i].first; // input into the ith student\'s first name field
       cout << \"Enter Student Last Name: \";
       cin.ignore(1, \'\ \'); // clear enter
       cin >> s[i].last;
       cout << \"Enter Street Address: \";
       cin.ignore(1, \'\ \');
       cin.getline(s[i].home.street, sizeof(s[i].home.street)); /* whole line for street*/
       cout << \"Enter City: \";
       cin.getline(s[i].home.city, sizeof(s[i].home.city));
       cout << \"Enter State (ex. NY): \";
       cin >> s[i].home.state;
       cout << \"Enter Zip Code: \";
       cin.ignore(1, \'\ \');
       cin >> s[i].home.zip;
       cout << \"Enter Class Year: \";
       cin >> s[i].year;
       cout << endl;
   }

   // pass student array to separate function - student pointer

   print(&s[0], 3);
  
}

4-13f. Here is part 4-13 part d, modify the code to produce parts b (separate header file student4-13.h for the structure definition, see fields in code to see
4-13f. Here is part 4-13 part d, modify the code to produce parts b (separate header file student4-13.h for the structure definition, see fields in code to see
4-13f. Here is part 4-13 part d, modify the code to produce parts b (separate header file student4-13.h for the structure definition, see fields in code to see

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site