Probleme de programmation

kyubi67 Messages postés 3 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009 - 21 janv. 2009 à 19:13
kyubi67 Messages postés 3 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009 - 21 janv. 2009 à 23:00
voila jai une prob au niveau du code
des que que je selectionne "objet" puis "potion" ou "ether" sa plante
et aussi un probleme pour rentre un nom ( genre taper un pseudo)
voila le code:

#include <stdio.h>
#include




int main (){
   
    char n;
    int valeur1, valeur2, action, a, valeurm1, valeurm2, b, pvtmp,manatmp;
    valeur1 = 500;
    valeur2 = 700;
    valeurm1 = 90;
    valeurm2 = 110;
    a = 2;
    b = 2;
    printf ("Saisir le nom du personnage:");
    scanf ("%s",&n);
    printf ("\n");
    printf ("monstre\n");
    printf ("pv: %d /700 \n", valeur2);
    printf ("mana: %d / 110 \n",valeurm2);
    printf ("\n");
    printf ("\n");
    printf ("Lenn\n"
    );
    printf ("pv: %d / 500\n",valeur1);
    printf ("mana: %d / 90\n",valeurm1);
    printf ("1:Attaque\n");
    printf ("2:Magie\n");
    printf ("3:Objet\n");
    while ((valeur1 > 0) && (valeur2 > 0))
    {
       
          scanf ("%d", &action);
          if (action == 1)
          {
                     valeur2 = valeur2 - 30;
                     printf ("\n");
                     printf ("Vous avez infligé 30 points de degat au monstre !\n");
                     }
          if (( action == 2)&&(valeurm1 > 11))
          {
               valeur2 = valeur2 - 50;
               valeurm1 = valeurm1 - 12;
               printf ("\n");
               printf (" Vous avez infligés 50 point de degat au monstre !\n");
               }
          if (action == 3)
          {
                      printf ("4:Potion \n");
                      printf ("5:Ether \n");
                      scanf ("%d",action);
                      if (action == 4)
                      {
                                 valeur1 = valeur1 + 100;
                               
                                      printf ("Vous avez gagné 100 pv\n");
                   
                                 }                        if (( action 5) && (b! 0))
                      {
                           valeurm1 = valeurm1 + 20;
                           if (valeurm1 > 90)
                           {
                                        manatmp = manatmp - 90;
                                        valeurm1 = 90;
                                        printf ("Vous avez gagnés %d point de mana\n",manatmp);
                                        }
                           else
                               printf ("Vous avez gagné 20 point de mana\n");
                           b = b - 1;
                           }
               
                      }
          valeur1 = valeur1 - 70;
          printf ("Le monstre vous a infligé 70 point de degat !\n");
          printf ("\n");
          printf ("\n");
          printf ("\n");
                printf ("monstre\n");
                printf ("pv: %d /700 \n", valeur2);
                printf ("mana: %d / 110 \n",valeurm2);
                printf ("\n");
                printf ("\n");
                printf ("Lenn\n");
                printf ("pv: %d / 500\n",valeur1);
                printf ("mana: %d / 90\n",valeurm1);
                printf ("1:Attaque\n");
                printf ("2:Magie\n");
                printf ("3:Objet\n");
          }
    if ( valeur1 <= 0)
    {
         printf ("Vous avez perdu !!!\n");
         }
    else
        printf("Vous avez gagné !!!\n");
    system("PAUSE");
    return 0;
}

2 réponses

cs_goodboy21 Messages postés 29 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 11 avril 2010
21 janv. 2009 à 20:26
dans la partie de ton code où tu demandes de choisir entre potion ou ether tu dois passer ta variable "action" par référence: scanf ("%d",&action);
Pour récupérer le nom de ton personnage il te faut utiliser un tableau de caractères, char n[50] par exemple.
0
kyubi67 Messages postés 3 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009
21 janv. 2009 à 23:00
merci, pour sa marche maintenant le scanf, j'ai vraiment ete un un boulet la ^^'
en tout cas merci beaucoup
0