Soit un fichier de données identiques à celui de l'exercice précédent.
Écrire une procédure main qui :
#include <stdio.h> /*****************************************************************************/ /* main */ /*****************************************************************************/ int main() { FILE * fi; struct commande { char nom[80]; char article[80]; int nombre,prix; }; #define nb_com 100 struct commande tab_com[nb_com]; /* tableau des commandes */ int i; /* index dans tab_com */ int ilast; /* dernier index valide dans tab_com après remplissage */ if ((fi = fopen("exer7.data","r")) == NULL) printf("Impossible d'ouvrir le fichier exer7.data\n"); else { /* boucle de lecture des commandes */ /* ------------------------------- */ i = 0; while(i < nb_com && fscanf(fi,"%s %s %d %d", tab_com[i].nom, tab_com[i].article, &tab_com[i].nombre, &tab_com[i].prix) != EOF) i++; /* corps du while */ if (i >= nb_com) printf("le tableau tab_com est sous-dimentionné\n"); else { /* impression des commandes mémorisées */ /* ----------------------------------- */ ilast = i - 1; for (i = 0; i <= ilast; i++) printf("%s %s %d %d\n", tab_com[i].nom, tab_com[i].article, tab_com[i].nombre, tab_com[i].prix); fclose(fi); } } }