Aaron Lowry

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

98 Neutral

About Aaron Lowry

  • Rank
    Newbie
  1. My C mess... But seriously could use some help please.

    Sorry should of been more specific. It was about 3am and I was very tired... anyways I am reading from my inFile and writing to my outFile. Now the code works in the manner of reading the file and writing it to the outfile, need to format the print though, but the toupper loop isn't working... it won't jump into the second loop once the for loop has reached the ' ' (char space) and then jump into the 'if' statement.    Now I ran a smaller version of the code I want to work and it works great but in the build I have above doesn't. Even though I have copied it from one that does.
  2. 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.