Erreur

Signaler
Messages postés
3
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
-
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
-
Bonjour, mon compilateur me donne ce message "type name expected" a chaque fois que je fais la compilation. je vais vous laisser mes codes.
//Declaration des différentes bibliothèques utilisées
#include<stdio.h>
#include<conio.h>
#include

//Declaration des structures
typedef struct _donnee
{
char nom_prod[31] ;
char marque_prod[26] ;
char type_prod ;
char numero_prod[15]
short prix_prod;
short quantite; //Généralement, la quantité ne devrait pas figurer ici.
} Donnee;
void entree(int nDonnees, donnee* donnees)
{
int i;
for(i=0; i<nDonnees;i++)
{
printf("Produit %d/%d\n", i+1, nDonnees);
printf("- nom: "); scanf("%30s", &donnee[i].nom);
printf("- marque: "); scanf("%25s", &donnee[i].marque);
printf("- type: "); scanf("%c", &donnee[i].type);
printf("- numero: "); scanf("%14s", &donnee[i].numero);
printf("- prix: "); scanf("%hd", &donnee[i].prix);
printf("- quantite: "); scanf("%hd", &donnee[i].quantite);
puts("");
}
}
void affichage(int nDonnees, donnee* donnees)
{
int i;
for(i=0;i<nDonnees;i++)
{
printf("Produit %d/%d\n",nDonnees);
printf("- nom: %s\n",donnees[i].nom);
printf("- marque: %s\n",donnees[i].marque);
printf("- type: %c",donnees[i].type);
printf("- numero: %s\n"donnees[i].numero);
printf("- prix: %hd\n",donnees[i].prix);
printf("- quantite: %hd\n",donnees[i].quantite);
}
puts("");
}
int main(int argc, char* argv[])
{
donnee* produits = NULL;
int nProduits = 0;
printf("Quantite de produits: ");
scanf("%d",&nProduits);
produits = (donnee*)malloc(sizeof(donnee)*nProduit);
if (produits == NULL)
return 1;
puts("");
entree (nProduits, produits);
affichage (nProduits, produits);

free(produits);
system("pause");
return 0;
}


Merci deja pour la reponse...

1 réponse

Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Il n'y avait aucune erreur de logique. En revanche, tu as le droit de te relire avant de poster. C'était essentiellement des fautes de frappe dans les noms de variables !
A noter que conio.h et alloc.h ne te sont pas très utile ici. De même, tu n'as pas besoin de "caster" le retour du malloc (sauf si tu utilises un compilateur C++, et là tu as petit problème).

#include <stdio.h>
#include <stdlib.h>

typedef struct
{
  char nom_prod[31];
  char marque_prod[26];
  char type_prod;
  char numero_prod[15];
  short prix_prod;
  short quantite;
} Donnee;

void entree(int nDonnees, Donnee* donnee)
{
  int i;
  for(i = 0; i < nDonnees; ++i)
  {
    printf("Produit %d/%d\n", i + 1, nDonnees);
    printf("- nom: ");
    scanf("%s", donnee[i].nom_prod);
    printf("- marque: ");
    scanf("%s", donnee[i].marque_prod);
    printf("- type: ");
    scanf("%c", &donnee[i].type_prod);
    printf("- numero: ");
    scanf("%s", donnee[i].numero_prod);
    printf("- prix: ");
    scanf("%hd", &donnee[i].prix_prod);
    printf("- quantite: ");
    scanf("%hd", &donnee[i].quantite);
    puts("");
  }
}

void affichage(int nDonnees, Donnee* donnees)
{
  int i;
  for(i = 0; i < nDonnees; ++i)
  {
    printf("Produit %d\n", nDonnees);
    printf("- nom: %s\n", donnees[i].nom_prod);
    printf("- marque: %s\n", donnees[i].marque_prod);
    printf("- type: %c\n", donnees[i].type_prod);
    printf("- numero: %s\n", donnees[i].numero_prod);
    printf("- prix: %hd\n", donnees[i].prix_prod);
    printf("- quantite: %hd\n", donnees[i].quantite);
  }
  puts("");
}

int main(void)
{
  Donnee* produits = NULL;
  int nProduits = 0;

  printf("Quantite de produits: ");
  scanf("%d", &nProduits);
  produits = malloc(sizeof(Donnee) * nProduits);
  if (produits == NULL)
    return 1;
  puts("");
  entree(nProduits, produits);
  affichage(nProduits, produits);
  free(produits);

  return 0;
}



_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]