frodon131 Mon précieux | Salut à tous
voila mon probleme, je defini une structure de liste chainée de produit donc qui comporte 4 valeurs: prix,code,quantitee et un nom.
c'est l'affectation de ces valeurs qui me posent pb.
Pour le prix/code/quantitée pas de probleme ; ce sont des entiers.
Mais pour le nom que je rentre comme chaine de caractere, le compilateur veut pas.
"ISO C++ forbids assignment of arrays"
à terme l'affectation doit etre automatique avec la lecture d'un fichier
Code :
- /*Definition de la structure produit*/
- struct cel_produit
- {int code;
- char nom[10];
- int quantitee;
- int prix;
- struct cel_produit *suivant;
- };
- void remplir_stock_fichier (struct cel_produit *liste,char *fichier)
- {
- FILE *stock;
- stock=fopen(fichier,"r" );
- if (stock==NULL)
- printf("Fichier inexistant\n" );
- struct cel_produit *liste2;
- liste2=NULL;
- while (!feof(stock))
- {
- liste=(struct cel_produit *)(malloc(sizeof(struct cel_produit)));
- fscanf(stock,"%d",&(*liste).code);
- fseek(stock,10L,SEEK_CUR);
- fgets((*liste).nom,7,stock);
- /* fscanf(stock,"%d",&(*liste).quantitee);*/
- fscanf(stock,"%d",&(*liste).prix);
- liste->suivant=liste2;
- liste2=liste;
- }
- }
- /*affiche_tableau_stock recoit en argument un tableau de produit et un entier m et affiche les m premieres cases du tableau de produit*/
- void affiche_liste_stock (struct cel_produit *liste)
- {
- /*struct cel_produit *liste2;*/
- printf("on a en stock:\n" );
- /*liste2=liste;*/
- do
- {
- printf("%d bouteilles de \navec comme code %d et prix %d\n\n",liste->quantitee,liste->code,liste->prix);
- /*printf("%d bouteilles \n",(*liste).quantitee);*/
- liste=liste->suivant;
- }while (liste!=NULL);
- }
- /*fonction main, pas d'arguments*/
- main()
- {
- struct cel_produit *listeprod;
- listeprod=(struct cel_produit *)(malloc(sizeof(struct cel_produit)));
- listeprod->code=1;
- listeprod->quantitee=2;
- listeprod->nom="ensearien";
- listeprod->prix=3;
- listeprod->suivant=NULL;
- /* remplir_stock_fichier(listeprod,"stock.txt" );*/
- affiche_liste_stock(listeprod);
- }
|
Merci à tous ceux qui prendront le temps de m'aider |