#include <stdio.h> #include <stdlib.h> int main(void) { char * saisie(void); // prototype de la fonction saisie void lecture(float); // prototype de la fonction afficher saisie(); //appel de la fonction saisie } char * saisie (void) { int nbretudiant=0, i=0; char nom [10+1]; char age [5+1]; // On demande le nombre de notes à l'utilisateur printf("Combien d'etudiants ? "); scanf("%d", &nbretudiant); FILE*f; f=fopen("c:\\etudiants.txt","w+"); if (nbretudiant > 0) // Il faut qu'il ait au moins une note { nom = malloc(nbretudiant * sizeof(char)); note = malloc(nbretudiant * sizeof(char)); if (nom == NULL) // On vérifie si l'allocation a marché ou pas { exit(0); // On arrête tout } // On demande le nom des amis un à un for (i = 0 ; i < nbretudiant ; i++) { printf("Nom de l'eleve numero %d ? \n", i + 1); scanf("%s", &nom[i]); printf("Note de l'eleve numero %d ? \n",i + 1); scanf("%s", ¬e[i]); } // On affiche les âges stockés un à un printf("\n\nVos etudiants ont les notes suivantes :\n"); for (i = 0 ; i < nbretudiant ; i++) { //fgets(f,"%s", &nom[i]); //fgets(f,": %s",note[i]); } fclose(f); // On libère la mémoire allouée avec malloc, on n'en a plus besoin free(nom); free(note); } return 0; }
#include <stdio.h> #include <stdlib.h> int main(void) { char saisie(void); // prototype de la fonction saisie void lecture(float); // prototype de la fonction afficher saisie(); //appel de la fonction saisie } char saisie (void) { int nbretudiant=0, i=0; char **nom; char **note; // On demande le nombre de notes à l'utilisateur printf("Combien d'etudiants ? "); scanf("%d", &nbretudiant); nom = malloc(nbretudiant); //Ici un tableau du nombre d'etudiant note = malloc(nbretudiant); //Pareil for ( i = 0; i < nbretudiant; i++){ nom[i] = malloc(sizeof(char) * 100); //100 char possible pour le nom note[i] = malloc(sizeof(char) * 10); //10 char possible pour la note } FILE*f; f=fopen("c:\\etudiants.txt","w+"); // On demande le nom des amis un à un for (i = 0 ; i < nbretudiant ; i++) { printf("Nom de l'eleve numero %d ? \n", i + 1); scanf("%s", &nom[i][0]); //printf("nom de l'elève %s",&nom[i]); printf("Note de l'eleve numero %d ? \n",i + 1); scanf("%s", ¬e[i][0]); } // On affiche les âges stockés un à un printf("\n\nVos etudiants ont les notes suivantes :\n"); for (i = 0 ; i < nbretudiant ; i++) { fprintf(f,"%s %s\n", &nom[i][0], ¬e[i][0]); } fclose(f); // On libère la mémoire allouée avec malloc, on n'en a plus besoin free(nom); free(note); for ( i = 0; i < nbretudiant; i++){ free(nom[i]); free(note[i]); } return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question