CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme en C. Pendu

Menthaloyd
Menthaloyd
Niveau 10
21 avril 2011 à 15:13:47

Bonjour à tous.

J'ai un soucis, j'apprends le C en ce moment sur le Site du Zero et j'en suis au Tp de création d'un Pendu. J'ai fini mais je veux faire en sorte que lorsqu'on a fini une partie on puisse recommencer. Mais on me marque que c'est la première fois que je mets une variable alors que non, je l'ai bien déclarée en haut de mon projet. Je sais plus quoi faire.

Haut du projet:

char lettre = 0; // Stocke la lettre proposée par l'utilisateur (retour du scanf)
char motSecret[100] = {0}; // Ce sera le mot à trouver
int *lettreTrouvee = NULL; // Un tableau de booléens. Chaque case correspond à une lettre du mot secret. 0 = lettre non trouvée, 1 = lettre trouvée
long coupsRestants = 10; // Compteur de coups restants (0 = mort)
long i = 0; // Une petite variable pour parcourir les tableaux
long tailleMot = 0;
int rejouer = 0;

Fin avec la fonction rejouer qui est normalement déclarée:

printf("\n\nVoulez-vous rejouer?");
printf("\n1-Oui-");
printf("\n2-Non-");
scanf("%d", &rejouer);

(La est le problème!) } while(rejouer == 1);

if (rejouer == 2)
{
exit(0);
}

Menthaloyd
Menthaloyd
Niveau 10
21 avril 2011 à 15:14:38

Fin avec la variable "rejouer" qui est normalement déclarée*

chris_27
chris_27
Niveau 10
21 avril 2011 à 15:31:12

« Mais on me marque que c'est la première fois que je mets une variable alors que non » :d) si.

Tu as du faire une faute de frappe, ou mal juger de la portée de tes variables.

Menthaloyd
Menthaloyd
Niveau 10
21 avril 2011 à 16:03:04

Quand je déplace le "do" et que je le met plus bas tout marche. C'est juste quand je le mets avant la déclaration de toutes mes variables. Sinon je peux essayer de le mettre après mais de redéclarer la variable "coupsRestants" à 10. Comme ça chaque fois que je voudrai rejouer ça reviendra à 10. Je vais essayer.
Mais au final je comprends pas pourquoi ça ne marchais pas :(

tbop2
tbop2
Niveau 10
21 avril 2011 à 16:38:41

Si effectivement tu appelais une variable avant d'initialiser toutes tes variables c'est normal que le compilateur (et non pas "on") te crie un peu dessus :)

Menthaloyd
Menthaloyd
Niveau 10
21 avril 2011 à 16:42:28

Non justement j'ai appelé les variables tout au début de la fonction. Quand je mets les variables dans la boucle ça ne marche pas et quand je les enlève tout marche.

En tous cas merci de vos réponses.

tbop2
tbop2
Niveau 10
21 avril 2011 à 21:58:46

C'est normal que cela ne marche pas si tu les mets dans la boucle alors elles n'ont de portée que la boucle. Or ton while il engloble mais "n'inclut" pas cette boucle.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware