Question: Im Stuck on a C++ program I want the code to read through the file that is created and if they find the same string
Im Stuck on a C++ program
I want the code to read through the file that is created and if they find the same string of data for student ID, or student name it will make the user enter another value before moving on.
see code below:
student.h */ #include
struct student { string fname; string lname; string stuID; };
session.h */ #include
struct session { int sessionID; string stuID; string courseID; string startDate; string endDate; int totalCredits; };
course.h */ #include
struct course { string CourseName; string CourseID; int numberOfCredits; };
#include
void fillStudents(student arg[], int size) { for (int i = 0; i < size; i++) { cout <<"Student #"<>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 #"<>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!"< 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!"< 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 #"< 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("CLS"); } } void display_report(student s[], course c[], session se[]) { for (int i = 0; i < 4; i++) { cout<<"Student ID: "< /** * Writes session data to file. * @param {session} sess sessions array. */ void writeSessionsToFile(session* sess, student* stude) { ofstream file_out("sessions.txt", ios::app); // for now let us just assume there'll always be just 4 sessions. for (size_t i = 0; i < 4; ++i) { file_out << stude[i].lname << ", "< int main() { cout<<"Welcome to the CS 230 Data Structures class add program!"< //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: "< session sessions[4]; fillSession(stu, courses, sessions); writeSessionsToFile(sessions, stu); //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: "< // instead of system(pause), pause doesn't work on linux. cin.get(); return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
