Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code qui veut pas se compiler

Sujet résolu
    21 décembre 2006 à 10:20:55

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

    int main(int argc‚ char *argv[])
    {
      long monstrePv = 100;
      long persoPv = 100;
      long choixMenu = 0;
     
      while (persoPv > 0 && monstrePv > 0) //boucle du jeux
      {
            printf ("Vous avez %ld pv et le monstre en a %ld.\n"‚ persoPv‚ monstrePv);
           
            printf("C'est votre tour ! Que faites–vous ??\n\n"); //Le menu d'action (finir + rajouter la boucle)
            printf("1.\tAttaque\n");
            printf("2.\tInvoquer\n\n");
           
            printf("Veuillez choisir l'action a effectuer :");
            scanf("%ld"‚ &choixMenu);
           
            /*Cette condition ne fonctionne pas !*/
           
            if (choixMenu == 1)
            {
                          Printf("Et boom !");
            }
            else
            {
                Printf("Cet action n'existe pas !");
            }
           
            persoPv = 0;
           
            if (persoPv == 0)
            {
                        printf ("Vous avez perdu...\n");
            }
      }
      system("PAUSE");     
      return 0;
    }


    Ce qui foire, c'est la condition indiqué par le commentaire.

    J'obtiens ce msg en tentant de compiler: [Linker error] undefined reference to `Printf'

    Ce qui m'agace c'est que je suis quasi certain que mon erreur est évidente (genre oublié de fermer un {} mais je la trouve pas !

    Aidez moi svp !

    PS : ce code est à son tout début et à la fin, il devrait indiquer un combat rpg au tour par tour...
    PPS: C'est un exercice car je débute en C.
    PPPS: Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2006 à 11:18:09

      Dans ton code, a l'intérieur de la condition, tu écrit Printf et non pas printf (je ne sais pas si les majuscules changent quelque chose, mais essaie comme même)

      De plus, tu ne mets pas le cas choixMenu == 2. (c'est que tu n'as pas fini je suppose, mais test quand même avec: else if (choixMenu == 2) { printf "Super invoquation"); } )


      Et une chose que je ne comprend pas... pourquoi a la fin de ta condition pour le menu, tu mets la variables persoPv a zéro?

      Il n'y aura jamais de boucle car tu marque while (persoPv > 0 ...) mais comme tu marques persoPv = 0; dans ta boucle, elle ne bouclera jamais!!


      Edit: Il y a quoi dans ton fichier attaque.h car la je ne vois aucun prototype avant ton main et aucune fonction utilisé :euh:

      • Partager sur Facebook
      • Partager sur Twitter
        21 décembre 2006 à 11:22:22

        persoPv est paramétré à 100 au départ. or on ne sort de la boucle que si persoPv ou monstrePv = 0. ça me permet de tester sans avoir une stupide boucle infinie (teste sans, tu verras).

        sinon, merci bien, c'était effectivement la majuscule ^^ Dès fois je me sens un peu bête... :-°

        Edit: Y a rien dans mon prototype... je l'ai créé pour avoir le schémas, mais c'est en cours. (j'ai pas encore créé les fonctions...)
        • Partager sur Facebook
        • Partager sur Twitter
          21 décembre 2006 à 11:31:27

          Ok ok.
          Oué moi aussi des fois je fais des erreur bête du style oublier le & devant le nom de la variable avec scanf et tu passes des heurs dessus ^^
          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2006 à 11:37:38

            En tout cas merci ^^

            allez, je coche problème résolu.
            • Partager sur Facebook
            • Partager sur Twitter

            Code qui veut pas se compiler

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown