Probleme de realisation d'un pendu en C

Résolu/Fermé
Utilisateur anonyme - 2 juil. 2009 à 11:38
scaravenger Messages postés 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 - 2 juil. 2009 à 14:09
Bonjour,

Voila....Je programe dps peu et donc je suis encore débutant. Je suis des cours (que d'ailleur je conseil a tt ceux qui veulent débuter:quand je di débuter, c qui en ont marre des cours compliké ;) ->https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/13300-vous-avez-dit-programmer#ss_part_3)
Bref...j'en suis a la réalisation d'un pendu et je bloque.Jy suis presque mais j'ai besoin de votre aide : la compilation plante..aidez moi!

Voici mon code source:

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

char lireCaractere()
{
char caractere = 0;

caractere = getchar(); // On lit le premier caractère
caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà

// On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer)
while (getchar() != '\n') ;

return caractere; // On retourne le premier caractère qu'on a lu

}



int main(int argc, char *argv[])
{
char motmystere[]="ELEMENT";
printf("*************Bienvenue dans le pendu***************\n\n\n");
long longueur_mot=strlen(motmystere);


char motpropose[]="";
long monboleen=0;
int lalettre;
FILE* fichier = NULL;
fopen("pendu.txt", "r+");
long i;

for(i=0;i<longueur_mot;i++)
{
fputc('*', fichier);
}
long nombredefois=10;
long fin ;
do
{

fgets(motpropose, longueur_mot, fichier);
printf("Il vous reste %ld fois", nombredefois);
printf("Mot mystere:%s", motpropose);
printf("Proposez votre lettre :");
lalettre=lireCaractere();

long pourecriture;
char *chainedecomparaison=NULL;
chainedecomparaison = strchr(motmystere, lalettre);
if(chainedecomparaison!=NULL)
{
pourecriture = strlen(chainedecomparaison);
fseek(fichier, -(pourecriture), SEEK_CUR);
fputc(lalettre, fichier);
}
else
{
nombredefois--;
}

}while(nombredefois=0 || strcmp(motpropose, motmystere)=0);
fclose(fichier);
If(strcmp(motpropose, motmystere)=0)
{
printf("Bravo!!!!!!");
}
else
{
printf("Dommage le mot était:%s", motmystere);
}

printf("A bietot pour une nouvelle partie ;)");




system("PAUSE");
return 0;
}


Et voici la liste des ereurs :


In function `main':
65 - invalid lvalue in assignment
67 - invalid lvalue in assignment
71 - syntax error before "else"
[Build Error] [main.o] Error 1


J'ai réaliser ceci avec Dev C++.

Merci d'avance
@+
greg

3 réponses

tout d'abord, tu as un if qui commence par une majuscule, as tu la même chose dans ton code ? (ça expliquerait la dernière erreur)

sinon, peux tu indiquer à quelles lignes correspondent les 65 et 67 stp ? ça serait plus facile pour t'aider :p
0
scaravenger Messages postés 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 616
2 juil. 2009 à 11:58
J'ai pas tout lu:

while(nombredefois==0 || strcmp(motpropose, motmystere)==0);
fclose(fichier);
if(strcmp(motpropose, motmystere)==0)

J'vais bouffer maintenant.A+
0
scaravenger Messages postés 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 616
2 juil. 2009 à 14:09
D'autres petits détails:

fichier = fopen("pendu.txt", "w");
while(nombredefois>=0 && strcmp(motpropose, motmystere)!=0);

Il y a trop d'erreurs.
Bon courage.
0