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

if ( year>0 ) { FILE *f_in, *f_out; char buffer[50]; int month[]={31, 28, 31, 30

ID: 3625932 • Letter: I

Question


if ( year>0 )
{
FILE *f_in, *f_out;
char buffer[50];

int month[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int num, first_day;

first_day = (1+(year-1)+(year-1)/4-(year-1)/100+(year-1)/400)%7;

if ( (year%4==0 && year%100!=0) || year%400==0 )
month[1] = 29;
int j, k;
for ( k=0; k<12; k++ ){
sprintf(buffer, "m%d_%d.txt", year , k+1 );
printf(" %s", buffer );
f_out = fopen ( buffer,"w" );

fprintf( f_out, " %d ? %d ? ", year , k+1 );
fprintf( f_out, " Sun Mon Tue Wed Thu Fri Sat " );

num = month[k];
for ( j=first_day; j>0; j--)
fprintf( f_out, "%4c", ' ');


for ( j=1; j<=num; j++ ){
if ( ( j+first_day-1)%7==0 && j!=1 )
fprintf( f_out, " ");
fprintf( f_out, "%4d", j );
}
fclose ( f_out );

first_day = ( first_day+num )%7;
fprintf( f_out, " " );
}


Explanation / Answer

if ( year>0 )
{
fstream f_in, f_out;
char buffer[50];

int month[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int num, first_day;

first_day = (1+(year-1)+(year-1)/4-(year-1)/100+(year-1)/400)%7;

if ( (year%4==0 && year%100!=0) || year%400==0 )
month[1] = 29;
int j, k;
for ( k=0; k<12; k++ ){
fout<< year<<" " k+1;
printf(" %s", buffer );
f_out.open ( buffer,ios::out );

f_out<< " "<<year<<" "<< k+1;
f_out<<" Sun Mon Tue Wed Thu Fri Sat ";

num = month[k];
for ( j=first_day; j>0; j--)
f_out<< "%4c", ' ';


for ( j=1; j<=num; j++ ){
if ( ( j+first_day-1)%7==0 && j!=1 )
f_out<< " ";
f_out<< j;
}
f_out.close();

first_day = ( first_day+num )%7;
f_out<< " " ;
}