Erreur compilation en c

Résolu
jona35 Messages postés 111 Statut Membre -  
 jona35 -
Bonjour,
j'ai une erreur lorsque je veux faire un programme de recherche dichotomique en c:

Erreur 1 error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?) c:\Users\utilisateur\t1\t1\t1.cpp 11 t1

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

int main ();

struct Fiche_Etudiant{
char nom[20];
char prenom[20];
float pourcentage;
};
{

int iTableau[]={
{"Zorro","Michel",0.85},
{"Tock","sarah",1.0},
{"M","Jonathan",1.0},
{"Legrand","Jean",0.35},
{"Charle","Amaury",0.48},
{"Wales","Lydia",0.69},
{"Devale","Nic",0.75},
{"Colin","Alysia",0.38},
{"Garcia","Pierre",0.79},
{"Bean","Mister",0.86},
};
int iRecherche; /* Elément recherché */
int iPremier; /* Indice du premier élément du sous-tableau analysé */
int iDernier; /* Indice du dernier élément du sous-tableau analysé */
int iMilieu; /* Indice de l'élément du milieu du sous-tableau analysé */
int iTrouve; /* Booléen indiquant si l'élément est trouvé */
int iFin=1; /* Indication de fin de saisie (0=fin) */
/* Tant que l'utilisateur souhaite faire des recherches */
while(iFin)
{
printf("Quel élément recherchez-vous ? ");
scanf("%d",&iRecherche);
/* Initialisation des variables*/
iPremier=0;
iDernier=6;
iTrouve=0;
/* Tant qu'on a pas trouve l'élément recherché ou que le sous-tableau */
/* contient plus de 1 élément */
while((iPremier <= iDernier)&&(iTrouve==0))
{
/* Calcul de la position de l'élément du milieu */
iMilieu=(iPremier+iDernier)/2;
/* Si l'élément du milieu est l'élément recherché */
if(iTableau[iMilieu]==iRecherche) iTrouve =1;
else
{
/* Si la valeur recherchée est plus petite */
/* que la valeur du l'élément du milieu */
/* Alors on regarde le sous-tableau de gauche */
if(iTableau[iMilieu]>iRecherche) iDernier = iMilieu -1;
/* sinon on regarde le sous-tableau de droite*/
else iPremier = iMilieu +1;
}
}
if(!iTrouve) printf("Cette valeur n'appartient pas à la liste\n");
else printf("Cette valeur appartient à la liste\n");
printf("Voulez-vous continuer ? (Taper 0 pour sortir du programme) : ");
scanf("%d",&iFin);
}
}
Configuration: Windows Vista
Firefox 3.5.7

6 réponses

  1. jojo67150 Messages postés 118 Statut Membre 11
     
    essaie sa :

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

    int main ();

    {
    struct Fiche_Etudiant{
    char nom[20];
    char prenom[20];
    float pourcentage;
    };

    int iTableau[]={
    {"Zorro","Michel",0.85},
    {"Tock","sarah",1.0},
    {"M","Jonathan",1.0},
    {"Legrand","Jean",0.35},
    {"Charle","Amaury",0.48},
    {"Wales","Lydia",0.69},
    {"Devale","Nic",0.75},
    {"Colin","Alysia",0.38},
    {"Garcia","Pierre",0.79},
    {"Bean","Mister",0.86},
    };
    int iRecherche; /* Elément recherché */
    int iPremier; /* Indice du premier élément du sous-tableau analysé */
    int iDernier; /* Indice du dernier élément du sous-tableau analysé */
    int iMilieu; /* Indice de l'élément du milieu du sous-tableau analysé */
    int iTrouve; /* Booléen indiquant si l'élément est trouvé */
    int iFin=1; /* Indication de fin de saisie (0=fin) */
    /* Tant que l'utilisateur souhaite faire des recherches */
    while(iFin)
    {
    printf("Quel élément recherchez-vous ? ");
    scanf("%d",&iRecherche);
    /* Initialisation des variables*/
    iPremier=0;
    iDernier=6;
    iTrouve=0;
    /* Tant qu'on a pas trouve l'élément recherché ou que le sous-tableau */
    /* contient plus de 1 élément */
    while((iPremier <= iDernier)&&(iTrouve==0))
    {
    /* Calcul de la position de l'élément du milieu */
    iMilieu=(iPremier+iDernier)/2;
    /* Si l'élément du milieu est l'élément recherché */
    if(iTableau[iMilieu]==iRecherche) iTrouve =1;
    else
    {
    /* Si la valeur recherchée est plus petite */
    /* que la valeur du l'élément du milieu */
    /* Alors on regarde le sous-tableau de gauche */
    if(iTableau[iMilieu]>iRecherche) iDernier = iMilieu -1;
    /* sinon on regarde le sous-tableau de droite*/
    else iPremier = iMilieu +1;
    }
    }
    if(!iTrouve) printf("Cette valeur n'appartient pas à la liste\n");
    else printf("Cette valeur appartient à la liste\n");
    printf("Voulez-vous continuer ? (Taper 0 pour sortir du programme) : ");
    scanf("%d",&iFin);
    }
    }
    0
  2. jona35
     
    merci mais toujours la meme erreur
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    int main () /* pas de ; */
    0
  4. jona35
     
    alors la j'ai 11 erreurs ... je cherche encore mais merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jona35
     
    heeeeeeeeeeee pas de solution ou alors vous ne connaisez pas un code qui pourrait m'aidez
    0