#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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.