Aller au contenu

C Language


attmaher

Messages recommandés

Membre, 34ans Posté(e)
attmaher Membre 15 messages
Baby Forumeur‚ 34ans‚
Posté(e)

:blush: Bonjour la compagnie !!

j'ai un problem avec le program suivant :

Il ne se compile meme pas, hellllllllllllp

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<string.h>

struct cellule{

char *mot;

struct cellule *suivant;

};

typedef struct cellule *liste;

int longueur(liste );

int compare(liste , liste );

void main()

int rep=0;

or

int result;

liste LL1, LL2, LL=NULL, tempo;

while (rep==0)

{

//tempo=(liste)malloc(sizeof(struct cellule)) ;

tempo=(liste)malloc(sizeof(liste)) ;

printf("donnez la chaine ¿ ajouter dans la liste : ");

scanf("%s",tempo->mot);

tempo->suivant=LL;

LL=tempo;

printf("\n avez vous d autre chaine ? O pour OUI");

scanf("%d",&rep);

}

LL1=tempo;

printf("\n fin de la saisie de la premi¿re liste\n");

printf("\n==================================================\n");

printf("la longueur de la liste 1 est : %d", longueur(LL1));

rep=0;

LL=NULL;

while (rep==0)

{

tempo=(liste)malloc(sizeof(struct cellule));

printf("\n donnez la chaine ¿ ajouter dans la 2eme liste : ");

scanf("%s",tempo->mot);

tempo->suivant=LL;

LL=tempo;

printf("\n avez vous d autre chaine ? Opour OUI");

scanf("%d",&rep);

}

LL2=tempo;

printf("\n fin de la saisie de la deuxi¿me liste ");

printf("\n ======================================== \n ");

printf("la longueur de la liste 2 est : %d", longueur(LL2));

result=compare(LL1,LL2);

printf("\nla valeur de comapare est : %d", result);

if (result)

printf("\n les deux listes sont identiques/n");

else

printf("\nles deux listes sont differentes \n");

getch();

}

int longueur(liste L)

{

int i=0;

while(L)

{

// printf("%s",L->mot);

i++;

L=L->suivant;

}

return(i);

}

int compare(liste L1,liste L2)

{

int i1,i2,j,a;

i1=longueur(L1);

i2=longueur(L2);

if(i1!=i2)

return(0);

else

{

j=1;

while(L1 && j)

{

a= strcmp (L1->mot,L2->mot);

if(a==0)

{

L1 =L1-> suivant;

L2 =L2-> suivant;

}

else

j=0;

}

if (j==1)

return(1);

else

return(0);

}

}

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, Tu n'auras d'autre batracien devant ma face, 108ans Posté(e)
Grenouille Verte Membre 32 822 messages
108ans‚ Tu n'auras d'autre batracien devant ma face,
Posté(e)

Quelle erreur as-tu à la compilation ?

Le début de la fonction main me semble très étrange.

Lien à poster
Partager sur d’autres sites

Membre, 34ans Posté(e)
attmaher Membre 15 messages
Baby Forumeur‚ 34ans‚
Posté(e)

Bon pour la compilation, il y a 32 erreurs qui concerne la commande -or- et -while-.

Trouvez moi une solution svp........

Lien à poster
Partager sur d’autres sites

Membre, Tu n'auras d'autre batracien devant ma face, 108ans Posté(e)
Grenouille Verte Membre 32 822 messages
108ans‚ Tu n'auras d'autre batracien devant ma face,
Posté(e)

Si tu nous mettais les premières erreurs (qui sont en fait les plus importantes, les suivantes ne sont souvent qu'une conséquence malheureuse des premières), ce serait plus facile de comprendre ce qui ne va pas.

Sinon, ce serait bien de mettre le code du main entre acolades { }.

J'aimerais d'ailleurs savoir ce que vient faire ton "or" entre deux définitions :

int rep=0;

or

int result;

Que veux-tu faire avec ce "or" ???? ??

Sinon, la méthode la plus simple pour débugguer, c'est :

  1. tu lis en détail la première erreur
  2. tu regarde à quelle ligne exactement cette erreur survient (c'est indiqué dans la description de l'erreur de compilation)
  3. tu vas voir dans le code à cette ligne
  4. tu essayes de comprendre ce qui ne va pas à cet endroit du code
  5. Tu corriges
  6. Tu recompiles, et, si ça beugue encore, tu recommence à l'étape 1.

Lien à poster
Partager sur d’autres sites

Membre, 34ans Posté(e)
attmaher Membre 15 messages
Baby Forumeur‚ 34ans‚
Posté(e)

J'ai fais ce que vous m'avait conseiller, et il ne reste qu'un seul errer ( `main' must return `int' )

void main()

{

int rep=0;

int result;

liste LL1, LL2, LL=NULL, tempo;

Lien à poster
Partager sur d’autres sites

Membre, Le chat-choux-né, 59ans Posté(e)
fifi82 Membre 13 615 messages
59ans‚ Le chat-choux-né,
Posté(e)

ta pas tester 

main()

sans le "void" vu que "main" retourne toujours un int

je suis pas trop calé en C moi, mais je propose.

Lien à poster
Partager sur d’autres sites

Membre, Tu n'auras d'autre batracien devant ma face, 108ans Posté(e)
Grenouille Verte Membre 32 822 messages
108ans‚ Tu n'auras d'autre batracien devant ma face,
Posté(e)

Remplace

void main()

par

int main()

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×