Like so
#include <stdio.h>
#include <string.h>
struct student
{
char studName;
int studID;
char sex;
char email;
int mathsScore;
int englishScore;
int scienceScore;
};
void readData(struct student data[]);
void printData(struct student data[]);
int main(void)
{
struct student data[20];
readData(data); // pass parameter
printData(data);
return 0;
}
void readData(struct student data[])
{
// now a parameter struct student data[20];
int i=0;
FILE* input;
input=fopen("inputfile.txt", "r");
while((fscanf(input,"%s %d %c %s %d %d %d", &data[i].studName,&data[i].studID,&data[i].sex,&data[i].email,&data[i].mathsScore,&data[i].englishScore,&data[i].scienceScore))==7)
{
i++;
}
}
void printData(struct student data[])
{
// already called it once, readData();
// a parameter struct student data[20];
for(int i=0;i<20;i++)
{
printf("%d.%s\n%.6d\n%c\n%s\n%d\n%d\n%d\n\n",i+1, data[i].studName,data[i].studID,data[i].sex,data[i].email,data[i].mathsScore,data[i].englishScore,data[i].scienceScore);
}
} Salem
Posting Sage
Team Colleague
11,531 posts since Dec 2005
Reputation Points: 5,862
Solved Threads: 953