Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct student {
- int id, totalgpa,hsc,ssc;
- char* name;
- student() {
- id = 0; totalgpa = 0; hsc = 0; ssc = 0;
- name = (char*)malloc(256);
- }
- };
- struct analysis {
- char* filename;
- FILE* f;
- int count;
- analysis(char* fullpath) {
- f = NULL;
- filename = fullpath;
- f = fopen(filename, (char*)'r+');
- if (!f) {
- printf("error file failed to open...");
- return;
- }
- }
- student* fileToStudent() {
- student* a = (student*)malloc(sizeof(student));
- int tries = 0;
- while (!fscanf(f, "id %d",&a->id)) {
- tries++;
- if (tries == 20) {
- break;
- }
- }
- fscanf(f, "name %s", a->name);
- fscanf(f, "total_gpa %d", &a->totalgpa);
- fscanf(f, "hsc %d", &a->hsc);
- fscanf(f, "total_gpa %d", &a->totalgpa);
- fscanf(f, "ssc %d", &a->ssc);
- return a;
- }
- student* getstudents() {
- student* a = (student*)malloc(sizeof(student*));
- student* cc_a = a;
- while (true) {
- cc_a = fileToStudent();
- if (cc_a->hsc == 0 && cc_a->id == 0) {
- break;
- }
- count++;
- cc_a = (student*)realloc(cc_a, sizeof(student*) * (count+1));
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement