Answered Essay: Redo the code below to make the data persistent. You will have to save information in a file or files so that the application will pick up previously stored dat

C++ Data Persistance Help

Redo the code below to make the data persistent. You will have to save information in a file or files so that the application will pick up previously stored data and still operate as intended in Lab1 to

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

.

See Code Below:

course.h

#include<iostream>
using namespace std;

struct course
{
string CourseName;
string CourseID;
int numberOfCredits;
};

student.h

#include<iostream>
using namespace std;

struct student
{
string fname;
string lname;
string stuID;
};

session.h

#include<iostream>
using namespace std;

struct session
{
int sessionID;
string stuID;
string courseID;
string startDate;
string endDate;
int totalCredits;
};

main.cpp

#include<iostream>
using namespace std;
#include “student.h”
#include “course.h”
#include “session.h”

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(“CLS”);
}
}

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(“CLS”);
}
}

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<<” tt”<<c[j].CourseID<<” tt”<<c[j].CourseName<<” ttt”<<“Credits: “<<c[j].numberOfCredits<<“nn”;
}

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+”n”+ch2+”n”+ch3+”n”+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(“CLS”);
}
}

void display_report(student s[], course c[], session se[])
{
for (int i = 0; i < 4; i++)
{
cout<<“Student ID: “<<s[i].stuID<<“n”<<endl;
cout<<“Student Name: “<<s[i].lname<<“, “<<s[i].fname<<“n”<<endl;
cout<<“Course IDs: n”<<se[i].courseID<<“n”<<endl;
cout<<“Start Date: n”<<se[i].startDate<<“n”<<endl;
cout<<“End Date: n”<<se[i].endDate<<“n”<<endl;
cout<<“Total Credits: “<<se[i].totalCredits<<“n”<<endl;
cout<<“n”<<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;
//declare and initialize 4 students
student stu[4];
fillStudents(stu, 4);

//declare and initialize 10 courses
course courses[10];
fillCourses(courses, 10);

//assign 4 courses for each student
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);

//display a report showing each student with his/her courses
//show the total number of credits for each student
cout<<“Please find your name and other important information below to see your classes and credit totals: nn”<<endl;
cout <<“==========”<<endl;
display_report(stu, courses, sessions);
cout <<“==========”<<endl;

system(“PAUSE”);
return 0;
}

Expert Answer

 

//============================================================================
// Name        : main.cpp
// Author      : Ramachandra jr
// Version     :
// Copyright   : GNU GPL Licesnse
// Description : Hello World in C++, Ansi-style
//============================================================================

#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<<” tt”<<c[j].CourseID<<” tt”<<c[j].CourseName<<” ttt”<<“Credits: “<<c[j].numberOfCredits<<“nn”;
}

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+”n”+ch2+”n”+ch3+”n”+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<<“n”<<endl;
cout<<“Student Name: “<<s[i].lname<<“, “<<s[i].fname<<“n”<<endl;
cout<<“Course IDs: n”<<se[i].courseID<<“n”<<endl;
cout<<“Start Date: n”<<se[i].startDate<<“n”<<endl;
cout<<“End Date: n”<<se[i].endDate<<“n”<<endl;
cout<<“Total Credits: “<<se[i].totalCredits<<“n”<<endl;
cout<<“n”<<endl;
}
}

/**
* Writes session data to file.
* @param   {session}   sess   sessions array.
*/
void writeSessionsToFile(session* sess)
{
ofstream file_out(“sessions.txt”);
// for now let us just assume there’ll always be just 4 sessions.
for (size_t i = 0; i < 4; ++i)
{
file_out << sess[i].sessionID << “n”;
file_out << sess[i].stuID << “n”;
file_out << sess[i].courseID << “n”;
file_out << sess[i].startDate << “n”;
file_out << sess[i].endDate << “n”;
file_out << sess[i].totalCredits << “n”;
// empty line in the end of each entry.
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;
//declare and initialize 4 students
student stu[4];
fillStudents(stu, 4);

//declare and initialize 10 courses
course courses[10];
fillCourses(courses, 10);

//assign 4 courses for each student
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);

//display a report showing each student with his/her courses
//show the total number of credits for each student
cout<<“Please find your name and other important information below to see your classes and credit totals: nn”<<endl;
cout <<“==========”<<endl;
display_report(stu, courses, sessions);
cout <<“==========”<<endl;

// instead of system(pause), pause doesn’t work on linux.
cin.get();
return 0;
}

Buy Essay
Calculate your paper price
Pages (550 words)
Approximate price: -

Help Me Write My Essay - Reasons:

Best Online Essay Writing Service

We strive to give our customers the best online essay writing experience. We Make sure essays are submitted on time and all the instructions are followed.

Our Writers are Experienced and Professional

Our essay writing service is founded on professional writers who are on stand by to help you any time.

Free Revision Fo all Essays

Sometimes you may require our writers to add on a point to make your essay as customised as possible, we will give you unlimited times to do this. And we will do it for free.

Timely Essay(s)

We understand the frustrations that comes with late essays and our writers are extra careful to not violate this term. Our support team is always engauging our writers to help you have your essay ahead of time.

Customised Essays &100% Confidential

Our Online writing Service has zero torelance for plagiarised papers. We have plagiarism checking tool that generate plagiarism reports just to make sure you are satisfied.

24/7 Customer Support

Our agents are ready to help you around the clock. Please feel free to reach out and enquire about anything.

Try it now!

Calculate the price of your order

Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

HOW OUR ONLINE ESSAY WRITING SERVICE WORKS

Let us write that nagging essay.

STEP 1

Submit Your Essay/Homework Instructions

By clicking on the "PLACE ORDER" button, tell us your requires. Be precise for an accurate customised essay. You may also upload any reading materials where applicable.

STEP 2

Pick A & Writer

Our ordering form will provide you with a list of writers and their feedbacks. At step 2, its time select a writer. Our online agents are on stand by to help you just in case.

STEP 3

Editing (OUR PART)

At this stage, our editor will go through your essay and make sure your writer did meet all the instructions.

STEP 4

Receive your Paper

After Editing, your paper will be sent to you via email.

× How can I help you?