Hey guys I'm new to the C language and have only been studying it for about 14 weeks now and with my assignment I have hit a major brick in the road.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include"structHeader.h"
void main()
{
FILE *inFile;
FILE *outFile;
if((inFile=fopen("Modules.txt","r"))==NULL)
{
printf("File Not Open");
exit(1);
}
if((outFile=fopen("Report.txt","w"))==NULL)
{
printf("File Not Open");
exit(1);
}
fprintf(outFile,"Students Marks Listed by Module\n\n");
printf("Students Marks Listed by Module\n\n");
finaltotals.marks=0;
while(!feof(inFile))
{
fscanf(inFile,"%[^,],%d%*c", course.modName, &course.studentRecords);
fprintf(outFile,"%s\n\n", course.modName);
printf("%s\n\n", course.modName);
fscanf(inFile,"%[^,],%d,%d%*c",records.studentName, &records.firstMark, &records.secondMark);
loops.lengthstring=strlen(records.studentName);
for (loops.forloop=0;loops.forloop<course.studentRecords;loops.forloop++)
{
finaltotals.marks+=records.firstMark+records.secondMark;
for(loops.characterLoop=0;loops.characterLoop<loops.lengthstring;loops.characterLoop++)
{
if(loops.characterLoop==0)
{
records.studentName[loops.characterLoop]=toupper(records.studentName[loops.characterLoop]);
fprintf(outFile,"%c", records.studentName);
printf("%c", records.studentName);
}
//it skips the next if statement all together... It should test the statement and when it is true it should enter... but it doesn't.
if(records.studentName[loops.characterLoop]==' ')
{
loops.characterLoop++;
records.studentName[loops.characterLoop]=toupper(records.studentName[loops.characterLoop]);
fprintf(outFile,"%-5s", records.studentName);
printf("%-19s", records.studentName);
}
fprintf(outFile,"%-19d %-19d\n", records.firstMark, records.secondMark);
printf("%-19d %-19d\n", records.firstMark, records. secondMark);
fscanf(inFile,"%[^,],%d,%d%*c",records.studentName, &records.firstMark, &records.secondMark);
}
fscanf(inFile,"%[^,],%d%*c", course.modName, &course.studentRecords);
fprintf(outFile,"%s\n\n", course.modName);
printf("%s\n\n", course.modName);
finaltotals.studentNum=0;
finaltotals.studentNum+=course.studentRecords;
}
}
system("pause");
}
Here is my structHeader.h
struct Module
{
int studentRecords;
char modName[50];
}course;
struct Enrolment
{
int firstMark,
secondMark;
char studentName[30];
}records;
struct Looping
{
int forloop,
lengthstring,
characterLoop;
}loops;
struct Totals
{
int marks,
studentNum;
}finaltotals;
Any feedback is much obliged.