Program keeps reading students up to 30. Saves into file 'student.dat' record is
char sLastName[20]
char sId[6]
char sMark[3]
int iMark
User enters mark as integer program fill in sMark with letter grade
Here is my work
After awhile I started to comment out bits of code but no help
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct class
{
char sLastName[20];
char sId[6];
char sMark[3];
int iMark[];
};
void EnterRecord(struct class*)
int main(void)
{
struct class student[30];
int iIndex = {0}, iNumber = 0, iMark = {0};
char cAnswer;
char /*cLetter ={0}, cChar ={0},*/ sName = {0}, sStuId ={0}, sMark = {0};
printf("Would you like to enter a student record?");
scanf(" %c", &cAnswer);
while (cAnswer=='y' || cAnswer=='Y')
{
printf("Enter student name, Id, mark: ");
gets(student->sLastName, student->sId, student->iMark, student->sMark );
sMark = EnterRecord(/*int iStuId[],*/ student, iMark[] , sMark[]/* char cLetter[], char cChar[]*/)
printf("Student Name: %s, Id: %s, Mark: %i, Grade: %s\n", student.sLastName,
student->sId, &student->iMark, student->sMark);
++iIndex;
printf("continue Processing?");
scanf(" %c", cAnswer);
}
}
/************************************************** ************************/
EnterRecord( &student)
{ int iNumber, iIndex;
char sMark;
iNumber = iMark[iIndex] ;
if (iNumber < 50)
{
sMark[iIndex] = "F"
/*cChar[iIndex] = 32; */
}
if (iNumber >= 50 && iNumber <= 52)
{
sMark[iIndex] = "D-";
/*cChar[iIndex] = '-';
}
if (iNumber >= 53 && iNumber<= 56)
{
cLetter[iIndex] = 'D';
cChar[iIndex] = 32;
}
if (iNumber >= 57 && iNumber <= 59)
{
cLetter[iIndex] = 'D';
cChar[iIndex] = '+';
}
if (iNumber >= 60 && iNumber <= 62)
{
cLetter[iIndex] = 'C';
cChar[iIndex] = '-';
}
if (iNumber >= 63 && iNumber <= 66)
{
cLetter[iIndex] = 'C';
cChar[iIndex] = 32;
}
if (iNumber >= 67 && iNumber <= 69)
{
cLetter[iIndex] = 'C';
cChar[iIndex] = '+';
}
if (iNumber >= 70 && iNumber <= 72)
{
cLetter[iIndex] = 'B';
cChar[iIndex] = '-';
}
if (iNumber >= 73 && iNumber <= 76)
{
cLetter[iIndex] = 'B';
cChar[iIndex] = 32;
}
if (iNumber >= 77 && iNumber <= 79)
{
cLetter[iIndex] = 'B';
cChar[iIndex] = '+';
}
if (iNumber >= 80 && iNumber <= 84)
{
cLetter[iIndex] = 'A';
cChar[iIndex] = '-';
}
if (iNumber >= 85 && iNumber <= 89)
{
cLetter[iIndex] = 'A';
cChar[iIndex] = 32;
}
if (iNumber >= 90 && iNumber <= 100)
{
cLetter[iIndex] = 'A';
cChar[iIndex] = '+';
} */
return sMark;
/* printf("Would you like to enter a student record?");*/
}