Advertisement
markyrocks

fb help

Aug 3rd, 2021
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct student {
  4. int id, totalgpa,hsc,ssc;
  5. char* name;
  6.  
  7. student() {
  8.     id = 0; totalgpa = 0; hsc = 0; ssc = 0;
  9.     name = (char*)malloc(256);
  10.     }
  11.  
  12. };
  13.  
  14. struct analysis {
  15.  
  16.     char* filename;
  17.     FILE* f;
  18.     int count;
  19.    
  20.     analysis(char* fullpath) {
  21.         f = NULL;
  22.         filename = fullpath;
  23.         f = fopen(filename, (char*)'r+');
  24.         if (!f) {
  25.             printf("error file failed to open...");
  26.             return;
  27.         }
  28.     }
  29.  
  30.     student* fileToStudent() {
  31.         student* a = (student*)malloc(sizeof(student));
  32.         int tries = 0;
  33.         while (!fscanf(f, "id %d",&a->id)) {
  34.             tries++;
  35.             if (tries == 20) {
  36.                 break;
  37.             }
  38.         }
  39.         fscanf(f, "name %s", a->name);
  40.         fscanf(f, "total_gpa %d", &a->totalgpa);
  41.         fscanf(f, "hsc %d", &a->hsc);
  42.         fscanf(f, "total_gpa %d", &a->totalgpa);
  43.         fscanf(f, "ssc %d", &a->ssc);
  44.  
  45.         return a;
  46.     }
  47.     student* getstudents() {
  48.  
  49.         student* a = (student*)malloc(sizeof(student*));
  50.         student* cc_a = a;
  51.  
  52.         while (true) {
  53.         cc_a = fileToStudent();
  54.         if (cc_a->hsc == 0 && cc_a->id == 0) {
  55.         break;
  56.         }
  57.         count++;
  58.         cc_a = (student*)realloc(cc_a, sizeof(student*) * (count+1));
  59.         }
  60.     }
  61.  
  62. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement