/* * lab10q1.c * * * Created by Cristian Hancila on 15/04/07. * Copyright 2007 __MyCompanyName__. All rights reserved. * */ #include #include #include typedef struct { char last_name[25]; int std_no; char major[15]; int numCourses; char course_nums[8][7]; int course_marks[8]; } student; float studentAvarage(student s); int input_students(student ** s){ int count=0; int n=0; FILE * fp; s=malloc(sizeof(student *) * 25); fp=fopen("lab10.students.data.txt","r"); while(!feof(fp)) { s[n]=malloc(sizeof(student)); char c[15]; fscanf(fp,"%s",s[n]->last_name); //fscanf(fp,"%s",c); printf("%s\n",s[n]->last_name); fscanf(fp,"%d",&(s[n]->std_no)); fscanf(fp,"%s",s[n]->major); fscanf(fp,"%d",&(s[n]->numCourses)); int z = 0; for(z=0;znumCourses;z++){ fscanf(fp,"%s %d",s[n]->course_nums[z],&s[n]->course_marks[z]); } n++; count++; } printf("end of func call %s\n",s[0]->last_name); output_students(s,count); fclose(fp); return count; } void output_students(student ** s,int count){ int n=0; printf("\n Format:\n Last Name | Student Number | Major\n Course - Mark\n"); for(n=0;nlast_name,s[n]->std_no,s[n]->major); int z; for(z=0;znumCourses;z++){ printf(" %s %d\n",s[n]->course_nums[z],s[n]->course_marks[z]); } printf("\n"); } } void majorAvarage(student s[], int count){ FILE * fp; char major[15]; int n = 0; int c=0; float msum=0; fp = fopen("lab10.majors.data.txt","r"); do{ fscanf(fp,"%s",major); msum=0; c=0; for(n=0;nlast_name); //output_students(list,count); //majorAvarage(list,count); return 1; }