print an int array in a file in C -


i need write file(not binary) students , each ones grades(int note[10] under form). not errors when try write file last grade printed, , don't know how print entire list. example (int nr_note means how many grades student have) if students grades 6, 8, 9 prints 9. thank in advance.

#include <stdio.h> #include <stdlib.h>  struct student{     int nr_matricol;     char nume[10];     int nr_note;     int note[10]; };  void citire_date(struct student *studenti, int n, file *f){     int i, j;      for(i=0;i<n;i++){         printf("studentul %d\n", i+1);         printf("numarul matricol: "); scanf("%d", &(studenti+i)->nr_matricol);         printf("numele studentului: "); fflush(stdin); gets((studenti+i)->nume);         printf("numarul de note: "); scanf("%d", &(studenti+i)->nr_note);         for(j=0;j<((studenti+i)->nr_note);j++){             printf("nota %d: ", j+1); scanf("%d", &(studenti+i)->note[i]);         }         fprintf(f, "numar matricol: %d\nnume: %s\nnote: %d \n", ((studenti+i)->nr_matricol) ,((studenti+i)->nume), ((studenti+i)->note[i]));     } }  int main() {     struct student studenti[20];     file *f;     int n;      f = fopen("studenti.txt", "w");     if(f==null){         printf("nu s-a putut deschide/crea fisierul pentru scriere.");         exit(1);     }      printf("introduceti numarul de studenti: "); scanf("%d", &n);     citire_date(studenti, n, f);     fclose(f);       return 0; } 

change citire_date() function :

void citire_date(struct student *studenti, int n, file *f){ int i, j;  for(i=0;i<n;i++){     printf("studentul %d\n", i+1);     printf("numarul matricol: "); scanf("%d", &(studenti+i)->nr_matricol);     printf("numele studentului: "); fflush(stdin); gets((studenti+i)->nume);     printf("numarul de note: "); scanf("%d", &(studenti+i)->nr_note);     for(j=0;j<((studenti+i)->nr_note);j++){         printf("nota %d: ", j+1); scanf("%d", &(studenti+i)->note[j]);     }     fprintf(f, "numar matricol: %d\nnume: %s\n", ((studenti+i)->nr_matricol) ,((studenti+i)->nume) );     // printing notes     for(j=0;j<((studenti+i)->nr_note);j++){         fprintf(f, "note: %d = %d \n", j+1, ((studenti+i)->note[j]));     } } 

}

you need use loop print notes.


Comments

Popular posts from this blog

cakephp - simple blog with croogo -

How to group boxplot outliers in gnuplot -

bash - Performing variable substitution in a string -