How do I input a schedule and save a schedule to a file for the following code:
ID: 638502 • Letter: H
Question
How do I input a schedule and save a schedule to a file for the following code:
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
void set(char[][4],char[][4],char);
void output(char[][4],string);
void individual(char[][4],char[][4]);
void group(char[][4],char[][4]);
void getinfo(int&,int&,int&);
const int COLS = 4;
const int ROWS = 4;
int main()
{char jeff[4][4],anna[4][4];
int i,j; //variables
int choice=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{anna[i][j]='F';
jeff[i][j]='F';
}
while(choice!=6)
{cout<<"Choose what you would like to do: ";
cout<<"1 Mark time slot busy ";
cout<<"2 Mark time slot free ";
cout<<"3 Output timeschedule ";
cout<<"4 Output timeslots for individual lessons ";
cout<<"5 Output timeslots for group lessons ";
cout<<"6 Exit ";
cin>>choice;
switch(choice)
{case 1: set(anna,jeff,'X');
break;
case 2: set(anna,jeff,'F');
break;
case 3: output(anna,"ANNA");
output(jeff,"JEFF");
break;
case 4: individual(anna,jeff);
break;
case 5: group(anna,jeff);
break;
case 6: return 0;
default: cout<<"Illegal input: TryAgain ";
}
}
return 0;
}
void getinfo(int& who,int& day,int& slot)
{cout<<"Enter 1 for Anna, 2 for Jeff: ";
cin>>who;
while(who<1||who>2)
{
cout<<"Invalid try again. ";
cout<<"Enter 1 for Anna, 2 for Jeff: ";
cin>>who;
}
slot=5;
{
cout<<"Enter timeslot: ";
cout<<"0 for 11-12 ";
cout<<"1 for 12-1 ";
cout<<"2 for 1-2 ";
cout<<"3 for 2-3 ";
cin>>slot;
if(slot<0||slot>3)
cout<<"Invalid entry ";
}
day=5;
while(day<0||day>3)
{
cout<<"Enter day: ";
cout<<"0 for Monday ";
cout<<"1 for Tuesday ";
cout<<"2 for Wednesday ";
cout<<"3 for Thursday ";
cin>>day;
if(day<0||day>3)
cout<<"Invalidentry ";
}
}
void set(char a[][4],char j[][4],char what)
{int who,day,slot;
getinfo(who,day,slot);
if(who==1)
a[slot][day]=what;
else
j[slot][day]=what;
}
//Function for Output
void output(char p[][4],string name)
{int i,j;
cout<<endl<<setw(10)<<name<<" Monday Tuesday Wednesday Thursday ";
for (i=0;i<4;i++)
{cout<<setw(2)<<(i-1+11)%12+1<<"-"<<(i-1+12)%12+1;
for(j=0;j<4;j++)
cout<<setw(11)<<p[i][j];
cout<<endl;
}
cout<<endl;
}
//Function for free for Individual Lessons
void individual(char a[][4],char je[][4])
{char free[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]== 'F'||je[i][j]=='F')
free[i][j]='X';
else
free[i][j]='F';
output(free,"Available");
}
//Function for available for group lessons
void group(char a[][4],char je[][4])
{char free[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]=='F'&&je[i][j]=='F')
free[i][j]='X';
else
free[i][j]='F';
output(free,"Available");
}
Explanation / Answer
// SaveTheSchedules.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
using namespace std;
using namespace std;
void set(char[][4],char[][4],char);
void output(char[][4],string);
void outputtoFile(char p[][4],string name);
void individual(char[][4],char[][4]);
void group(char[][4],char[][4]);
void getinfo(int&,int&,int&);
const int COLS = 4;
const int ROWS = 4;
int main()
{
char jeff[4][4],anna[4][4];
int i,j; //variables
int choice=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
anna[i][j]='F';
jeff[i][j]='F';
}
}
while(choice!=6)
{
cout<<"Choose what you would like to do: ";
cout<<"1 Mark time slot busy ";
cout<<"2 Mark time slot free ";
cout<<"3 Output timeschedule ";
cout<<"4 Output timeslots for individual lessons ";
cout<<"5 Output timeslots for group lessons ";
cout<<"6 Exit ";
cin>>choice;
switch(choice)
{
case 1:
set(anna,jeff,'X');
break;
case 2:
set(anna,jeff,'F');
break;
case 3:
output(anna,"ANNA");
outputtoFile(anna,"ANNA");
output(jeff,"JEFF");
outputtoFile(jeff,"JEFF");
break;
case 4:
individual(anna,jeff);
break;
case 5:
group(anna,jeff);
break;
case 6:
return 0;
default:
cout<<"Illegal input: TryAgain ";
}
}
return 0;
}
void getinfo(int& who,int& day,int& slot)
{
cout<<"Enter 1 for Anna, 2 for Jeff: ";
cin>>who;
while(who<1||who>2)
{
cout<<"Invalid try again. ";
cout<<"Enter 1 for Anna, 2 for Jeff: ";
cin>>who;
}
slot=5;
{
cout<<"Enter timeslot: ";
cout<<"0 for 11-12 ";
cout<<"1 for 12-1 ";
cout<<"2 for 1-2 ";
cout<<"3 for 2-3 ";
cin>>slot;
if(slot<0||slot>3)
cout<<"Invalid entry ";
}
day=5;
while(day<0||day>3)
{
cout<<"Enter day: ";
cout<<"0 for Monday ";
cout<<"1 for Tuesday ";
cout<<"2 for Wednesday ";
cout<<"3 for Thursday ";
cin>>day;
if(day<0||day>3)
cout<<"Invalidentry ";
}
}
void set(char a[][4],char j[][4],char what)
{
int who,day,slot;
getinfo(who,day,slot);
if(who==1)
a[slot][day]=what;
else
j[slot][day]=what;
}
//Function for Output
void output(char p[][4],string name)
{
int i,j;
cout<<endl<<setw(10)<<name<<" Monday Tuesday Wednesday Thursday ";
for (i=0;i<4;i++)
{
cout<<setw(2)<<(i-1+11)%12+1<<"-"<<(i-1+12)%12+1;
for(j=0;j<4;j++)
cout<<setw(11)<<p[i][j];
cout<<endl;
}
cout<<endl;
}
//Function for free for Individual Lessons
void individual(char a[][4],char je[][4])
{
char free[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]== 'F'||je[i][j]=='F')
free[i][j]='X';
else
free[i][j]='F';
output(free,"Available");
outputtoFile(free,"Available");
}
//Function for available for group lessons
void group(char a[][4],char je[][4])
{
char free[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]=='F'&&je[i][j]=='F')
free[i][j]='X';
else
free[i][j]='F';
output(free,"Available");
outputtoFile(free,"Available");
}
//Function for Output
void outputtoFile(char p[][4],string name)
{
int i,j;
ofstream mySchedule;
if(name.compare("ANNA")==0)
mySchedule.open("AnnaSchedule.txt");
else if(name.compare("JEFF")==0)
mySchedule.open("JeffSchedule.txt");
else
mySchedule.open("Schedule.txt");
if(mySchedule)
{
//mySchedule<<name1<<endl;
mySchedule<<endl<<setw(10)<<name<<" Monday Tuesday Wednesday Thursday ";
for (i=0;i<4;i++)
{
mySchedule<<setw(2)<<(i-1+11)%12+1<<"-"<<(i-1+12)%12+1;
for(j=0;j<4;j++)
mySchedule<<setw(11)<<p[i][j];
mySchedule<<endl;
}
mySchedule<<endl;
}
else
{
cout<<"Sorry! Unable to write to the file. ";
}
}
Sample Output text files:
Schedule.txt
Available Monday Tuesday Wednesday Thursday
11-12 X X X X
12-1 X X X X
1-2 X X X X
2-3 X X X X
AnnaSchedule.txt
ANNA Monday Tuesday Wednesday Thursday
11-12 F F F F
12-1 F F F F
1-2 F F F F
2-3 F F F F
JeffSchedule.txt
JEFF Monday Tuesday Wednesday Thursday
11-12 F F F F
12-1 F F F F
1-2 F F F X
2-3 F F F F
Sample Output:
Choose what you would like to do:
1 Mark time slot busy
2 Mark time slot free
3 Output timeschedule
4 Output timeslots for individual lessons
5 Output timeslots for group lessons
6 Exit
1
Enter 1 for Anna, 2 for Jeff: 2
Enter timeslot:
0 for 11-12
1 for 12-1
2 for 1-2
3 for 2-3
2
Enter day:
0 for Monday
1 for Tuesday
2 for Wednesday
3 for Thursday
3
Choose what you would like to do:
1 Mark time slot busy
2 Mark time slot free
3 Output timeschedule
4 Output timeslots for individual lessons
5 Output timeslots for group lessons
6 Exit
3
ANNA Monday Tuesday Wednesday Thursday
11-12 F F F F
12-1 F F F F
1-2 F F F F
2-3 F F F F
JEFF Monday Tuesday Wednesday Thursday
11-12 F F F F
12-1 F F F F
1-2 F F F X
2-3 F F F F
Choose what you would like to do:
1 Mark time slot busy
2 Mark time slot free
3 Output timeschedule
4 Output timeslots for individual lessons
5 Output timeslots for group lessons
6 Exit
1
Enter 1 for Anna, 2 for Jeff: 2
Enter timeslot:
0 for 11-12
1 for 12-1
2 for 1-2
3 for 2-3
0
Enter day:
0 for Monday
1 for Tuesday
2 for Wednesday
3 for Thursday
1
Choose what you would like to do:
1 Mark time slot busy
2 Mark time slot free
3 Output timeschedule
4 Output timeslots for individual lessons
5 Output timeslots for group lessons
6 Exit
4
Available Monday Tuesday Wednesday Thursday
11-12 X X X X
12-1 X X X X
1-2 X X X X
2-3 X X X X
Choose what you would like to do:
1 Mark time slot busy
2 Mark time slot free
3 Output timeschedule
4 Output timeslots for individual lessons
5 Output timeslots for group lessons
6 Exit
Note:
The code is added and it is highlighted with bold letters. At the same time, the individual file output schedule files are also provided.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.