Jump to content

  • Log In with Google      Sign In   
  • Create Account

currentlyCing

Member Since 20 May 2013
Offline Last Active May 24 2013 09:34 PM

#5064184 My C mess... But seriously could use some help please.

Posted by currentlyCing on 23 May 2013 - 10:35 AM

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.




PARTNERS