Probleme de realisation d'un pendu en C
Résolu
Utilisateur anonyme
-
scaravenger Messages postés 2685 Date d'inscription Statut Membre Dernière intervention -
scaravenger Messages postés 2685 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Probleme de realisation d'un pendu en C
- Jeu du pendu - Télécharger - Vie quotidienne
- Réaliser un organigramme - Guide
- Réaliser un camembert graphique - Guide
- S'entrainer a réalisé des films dans la ville d'un voisin - Forum Jeux vidéo
- Dans ce fichier, réalisez le graphique xy (nuage de points ou dispersion), avec les x en abscisse. dans le graphique, les points dessinent un nombre. lequel ? ✓ - Forum Excel
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
sinon, peux tu indiquer à quelles lignes correspondent les 65 et 67 stp ? ça serait plus facile pour t'aider :p