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

#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { //Declar

ID: 3774385 • Letter: #

Question

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
//Declare all required variables
char classes[6][20];
int timeHour[6];
int timeMinute[6];
char militaryTime[6][20];
char header[50],scheduleHeader[50];
char searchClass[50];
int i=0,k=0,totalClasses,found=0;
  
FILE * fp;
  
//Read file schedule.txt in read mode
fp = fopen ("schedule.txt", "r+");
  
//Since first line is header
fscanf(fp, "%[^ ] ",header);

//Since second line is subject header
fscanf(fp, "%[^ ] ",scheduleHeader);
  
//Read all class schedule info
while(fscanf(fp, "%s %d:%d", classes[i],&timeHour[i],&timeMinute[i])!=EOF)
{
//Convert to military time format
if(timeHour[i]>12)
{
strcpy(militaryTime[i],"PM");
timeHour[i] = timeHour[i]-12;
}
else
{
strcpy(militaryTime[i],"AM");
}

i++;
}
totalClasses = i-1;
  
printf("What class do you want to search for? ");
gets(searchClass);
  
//For loop to find class info
for(i=0;i<totalClasses;i++)
{
if(searchClass[k]=='')
{
printf("Found ");
}

if(strcmp(classes[i],searchClass)==0)
{
printf("%s is at %d:%d %s ", classes[i],timeHour[i],timeMinute[i],militaryTime[i]);
found=1;
break;
}
}
  
//Check in case of invalid search class provided
if(found==0)
{
printf("Class info not found with given input! ");
}
  
//Close file
fclose(fp);
  
  
return 0;
}

this is my code ^^ , and this is the file it should read(schedule.txt):

/* Class Schedule
Class           Time
Physics           15:30
Calculus       9:00
Biology           14:30
Chemistry       11:30

*/

NOW HERE IS WHAT I NEED, I WANT YOU TO CHANGE THE gets FUCTION AND MAKE IT fgets FUNCTION.

I KNOW IT SHOULD NOT BE HARD, BUT I DONT KNOW WHY IT IS NOT WORKING WITH ME WHEN I CHANGED IT.

Explanation / Answer

Here is the modified input for you:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
//Declare all required variables
char classes[6][20];
int timeHour[6];
int timeMinute[6];
char militaryTime[6][20];
char header[50],scheduleHeader[50];
char searchClass[50];
int i=0,k=0,totalClasses,found=0;
  
FILE * fp;
  
//Read file schedule.txt in read mode
fp = fopen ("schedule.txt", "r+");
  
//Since first line is header
fscanf(fp, "%[^ ] ",header);
//Since second line is subject header
fscanf(fp, "%[^ ] ",scheduleHeader);
  
//Read all class schedule info
while(fscanf(fp, "%s %d:%d", classes[i],&timeHour[i],&timeMinute[i])!=EOF)
{
//Convert to military time format
if(timeHour[i]>12)
{
strcpy(militaryTime[i],"PM");
timeHour[i] = timeHour[i]-12;
}
else
{
strcpy(militaryTime[i],"AM");
}
i++;
}
totalClasses = i-1;
  
printf("What class do you want to search for? ");
fgets(searchClass, 80, stdin);
  
//For loop to find class info
for(i=0;i<totalClasses;i++)
{
if(searchClass[k]=='')
{
printf("Found ");
}
if(strcmp(classes[i],searchClass)==0)
{
printf("%s is at %d:%d %s ", classes[i],timeHour[i],timeMinute[i],militaryTime[i]);
found=1;
break;
}
}
  
//Check in case of invalid search class provided
if(found==0)
{
printf("Class info not found with given input! ");
}
  
//Close file
fclose(fp);
  
  
return 0;
}