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

Please write the code in C++ Write a program that allows the user to initially e

ID: 3749487 • Letter: P

Question

Please write the code in C++

Write a program that allows the user to initially enter information on 4 students and 10 courses. Have the program associate each student to at least four courses for a semester session. The program will display a report showing the assigned courses for each students with the total number of credits.

The student information should include:

1. student ID

2. first name

3. last name

The course information should include:

1. Course ID

2. Course name

3. Number of credits

Design requirement:

A student will be assigned a course through a session. The session should include the following attributes:

1. session ID

2. student ID

3. course ID

4. start date

5. end date

Suggestions: Use struct to define the model for Student, Course and Session, each in a header file.

Explanation / Answer

Answer:-- Date:--18/09/2018

#include<iostream>

#include<fstream>

#include <cstdlib>

#include "student.h"

#include "course.h"

#include "session.h"

using namespace std;

void fillStudents(student arg[], int size)

{

for (int i = 0; i < size; i++)

{

cout <<"Student #"<<i+1<<endl;

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

cout <<"Enter a student ID (i.e 97626): ";

cin >>arg[i].stuID;

cout <<"Enter the first name (i.e Ryan): ";

cin >>arg[i].fname;

cout <<"Enter the last name (i.e Brown): ";

cin >>arg[i].lname;

system("clear");

}

}

void fillCourses(course c[], int size)

{

for (int i = 0; i < size; i++)

{

cout <<"Course #"<<i+1<<endl;

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

cout <<"Enter course name (i.e Data-Structures (put - instead of spaces)): ";

cin >>c[i].CourseName;

cout <<"Enter course ID (i.e CS-230 (put - instead of spaces)): ";

cin >>c[i].CourseID;

cout <<"Enter number of credits (i.e 3): ";

cin >>c[i].numberOfCredits;

system("clear");

}

}

string CourseN(int choice, course ch[])

{

switch(choice)

{

case 1:

return ch[0].CourseID+" "+ch[0].CourseName;

break;

case 2:

return ch[1].CourseID+" "+ch[1].CourseName;

break;

case 3:

return ch[2].CourseID+" "+ch[2].CourseName;

break;

case 4:

return ch[3].CourseID+" "+ch[3].CourseName;

break;

case 5:

return ch[4].CourseID+" "+ch[4].CourseName;

break;

case 6:

return ch[5].CourseID+" "+ch[5].CourseName;

break;

case 7:

return ch[6].CourseID+" "+ch[6].CourseName;

break;

case 8:

return ch[7].CourseID+" "+ch[7].CourseName;

break;

case 9:

return ch[8].CourseID+" "+ch[8].CourseName;

break;

case 10:

return ch[9].CourseID+" "+ch[9].CourseName;

break;

default:

cout<<"Invalid decison!! Good Bye!"<<endl;

exit(0);

}

}

int creditTotal(int sel, course ch[])

{

switch(sel)

{

case 1:

return ch[0].numberOfCredits;

break;

case 2:

return ch[1].numberOfCredits;

break;

case 3:

return ch[2].numberOfCredits;

break;

case 4:

return ch[3].numberOfCredits;

break;

case 5:

return ch[4].numberOfCredits;

break;

case 6:

return ch[5].numberOfCredits;

break;

case 7:

return ch[6].numberOfCredits;

break;

case 8:

return ch[7].numberOfCredits;

break;

case 9:

return ch[8].numberOfCredits;

break;

case 10:

return ch[9].numberOfCredits;

break;

default:

cout<<"Invalid Decision!! Good Bye!"<<endl;

exit(0);

}

}

void fillSession(student arg[], course c[], session s[])

{

int c1, c2, c3, c4;

string ch1, ch2, ch3, ch4;

string startDate, endDate;

int cr1, cr2, cr3, cr4;

for (int i = 0; i < 4; i++)

{

for(int j = 0; j < 10; j++)

{

cout<<"class #"<<j+1<<" "<<c[j].CourseID<<" "<<c[j].CourseName<<" "<<"Credits: "<<c[j].numberOfCredits<<" ";

}

cout<<"Enter your 1st class choice: ";

cin>>c1;

ch1=CourseN(c1,c);

cout<<"Enter your 2nd class choice: ";

cin>>c2;

ch2=CourseN(c2,c);

cout<<"Enter your 3rd class choice: ";

cin>>c3;

ch3=CourseN(c3,c);

cout<<"Enter your 4th class choice: ";

cin>>c4;

ch4=CourseN(c4,c);

s[i].courseID=ch1+" "+ch2+" "+ch3+" "+ch4;

cout<<"Enter a start date for your classes (i.e mm/dd/yyyy): ";

cin>>startDate;

s[i].startDate=startDate;

cout<<"Enter a end date for your classes (i.e mm/dd/yyyy): ";

cin>>endDate;

s[i].endDate=endDate;

cr1=creditTotal(c1, c);

cr2=creditTotal(c2, c);

cr3=creditTotal(c3, c);

cr4=creditTotal(c4, c);

s[i].totalCredits=cr1+cr2+cr3+cr4;

c1=0;

c2=0;

c3=0;

c4=0;

system("clear");

}

}

void display_report(student s[], course c[], session se[])

{

for (int i = 0; i < 4; i++)

{

cout<<"Student ID: "<<s[i].stuID<<" "<<endl;

cout<<"Student Name: "<<s[i].lname<<", "<<s[i].fname<<" "<<endl;

cout<<"Course IDs: "<<se[i].courseID<<" "<<endl;

cout<<"Start Date: "<<se[i].startDate<<" "<<endl;

cout<<"End Date: "<<se[i].endDate<<" "<<endl;

cout<<"Total Credits: "<<se[i].totalCredits<<" "<<endl;

cout<<" "<<endl;

}

}

void writeSessionsToFile(session* sess)

{

ofstream file_out("sessions.txt");

for (size_t i = 0; i < 4; ++i)

{

file_out << sess[i].sessionID << " ";

file_out << sess[i].stuID << " ";

file_out << sess[i].courseID << " ";

file_out << sess[i].startDate << " ";

file_out << sess[i].endDate << " ";

file_out << sess[i].totalCredits << " ";

file_out << endl;

}

}

int main()

{

cout<<"Welcome to the CS 230 Data Structures class add program!"<<endl;

cout<<"Please follow the prompt to gain a report of your courses for the year: "<<endl<<endl;

  

cout<<"Enter a class selection based on the chart above (1-10), please do not choose the same class twice: "<<endl;

cout<<"Each student goes by how their information was added"<<endl<<endl;

session sessions[4];

fillSession(stu, courses, sessions);

writeSessionsToFile(sessions);

cout<<"Please find your name and other important information below to see your classes and credit totals: "<<endl;

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

display_report(stu, courses, sessions);

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

  

cin.get();

return 0;

}