Join 135,932 C++ Programmers for FREE! Get instant access to thousands of C++ experts, tutorials, code snippets, and more! There are 2,666 people online right now. Registration is fast and FREE... Join Now!
printf("1 - Enter new student\n"); printf("2 - Edit student file\n"); printf("3 - Generate final result\n"); printf("4 - Generate another date file with results in tabulation form\n"); printf("5 - Sort databse by ID number\n"); printf("6 - Quit\n");
printf("\n\nEnter your choice... "); scanf ("%d", &choice);
return (choice); }
void insertstud ( FILE *ffPtr ) {
int pos = 0; int i = 0;
fseek( ffPtr,(pos - 1) * sizeof(struct STUDENTS ), SEEK_SET ); fread( &student, sizeof( struct STUDENTS ),1, ffPtr );
printf(" enter the new students id\n"); scanf("%s", &student.IDnum ); printf(" enter name of student, ID card, address, coursework mark, mark of final exam and overall grade\n"); scanf("%s%s%s%d%d%s", &student.name, &student.IDnum, &student.address, &student.mark1, &student.mark2, &student.grade );
fseek( ffPtr, (pos-1) * sizeof( struct STUDENTS ), SEEK_SET );
fwrite ( &student, sizeof( struct STUDENTS ), 1, ffPtr );
} }
void results ( FILE *ffPtr ) { int i; int final_R; char ID[7];
for (i=0;i<41;i++ ) {
fseek( ffPtr, (i -1) * sizeof( struct STUDENTS ), SEEK_SET );
fread( &student, sizeof( struct STUDENTS ), 1, ffPtr );
final_R= student.mark1 + student.mark2;
//IF mark > 98 // student.grade ="A+";
fseek( ffPtr, (i - 1) * sizeof( struct STUDENTS ), SEEK_SET );
fwrite ( &student, sizeof( struct STUDENTS ), 1, ffPtr );
} }
void R_tabForm(FILE *readPtr) { FILE *writePtr; int i =1;
if (( writePtr= fopen ("marilyn_chetcuti_Q2.txt", "w" )) ==NULL ) { printf("File could not be opened.\n"); } else { fprintf ( writePtr,"%-50s\t%-8s\t%-12\t%-12\t%-6s\n", "Name","ID card","Mark C_Work","Mark F_Exam","Grade"); } fseek( readPtr, 1, SEEK_SET ); while ( !feof( readPtr)) {
fread ( &student, sizeof( struct STUDENTS ), 1, readPtr );
printf("1 - Enter new student\n"); printf("2 - Edit student file\n"); printf("3 - Generate final result\n"); printf("4 - Generate another date file with results in tabulation form\n"); printf("5 - Sort databse by ID number\n"); printf("6 - Quit\n");
printf("\n\nEnter your choice... "); scanf ("%d", &choice);
return (choice); }
void insertstud ( FILE *ffPtr ) {
int pos = 0; int i = 0;
fseek( ffPtr,(pos - 1) * sizeof(struct STUDENTS ), SEEK_SET ); fread( &student, sizeof( struct STUDENTS ),1, ffPtr );
printf(" enter the new students id\n"); scanf("%s", &student.IDnum ); printf(" enter name of student, ID card, address, coursework mark, mark of final exam and overall grade\n"); scanf("%s%s%s%d%d%s", &student.name, &student.IDnum, &student.address, &student.mark1, &student.mark2, &student.grade );
fseek( ffPtr, (pos-1) * sizeof( struct STUDENTS ), SEEK_SET );
fwrite ( &student, sizeof( struct STUDENTS ), 1, ffPtr );
} }
void results ( FILE *ffPtr ) { int i; int final_R; char ID[7];
for (i=0;i<41;i++ ) {
fseek( ffPtr, (i -1) * sizeof( struct STUDENTS ), SEEK_SET );
fread( &student, sizeof( struct STUDENTS ), 1, ffPtr );
final_R= student.mark1 + student.mark2;
//IF mark > 98 // student.grade ="A+";
fseek( ffPtr, (i - 1) * sizeof( struct STUDENTS ), SEEK_SET );
fwrite ( &student, sizeof( struct STUDENTS ), 1, ffPtr );
} }
void R_tabForm(FILE *readPtr) { FILE *writePtr; int i =1;
if (( writePtr= fopen ("marilyn_chetcuti_Q2.txt", "w" )) ==NULL ) { printf("File could not be opened.\n"); } else { fprintf ( writePtr,"%-50s\t%-8s\t%-12\t%-12\t%-6s\n", "Name","ID card","Mark C_Work","Mark F_Exam","Grade"); } fseek( readPtr, 1, SEEK_SET ); while ( !feof( readPtr)) {
fread ( &student, sizeof( struct STUDENTS ), 1, readPtr );
// strcmp(array1[i].IDnum,array1[i+1].IDnum) // HOLD = array1[i];
//bubblesort
fseek( readPtr, 1, SEEK_SET );
for( i =0;i<41;i++) { fwrite(&array1[i], sizeof( struct STUDENTS ),1,readPtr ); }
}
the porgram will just freeze and u cannot enter anything. i also have a problem when inputing the data... i cannot write bob smith because with every word i enter, the program will start skipping the inputs eg: