Erreur

IMFM Messages postés 3 Date d'inscription vendredi 16 avril 2010 Statut Membre Dernière intervention 20 avril 2010 - 19 avril 2010 à 17:47
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 19 avril 2010 à 18:50
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

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
19 avril 2010 à 18:50
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]
0
Rejoignez-nous