Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un petit probleme quelqu'un peux maider

Sujet résolu
17 décembre 2005 à 0:55:20

Salut a tout les codeur c/c++ est ce que quelqu'un porrait maider a resoudre le probleme ci-dessous merci d'avance.



C:\maxime\devc++ projet\conditions\main.c In function `main':
32 C:\maxime\devc++ projet\conditions\main.c too many arguments to function `getchar'
47 C:\maxime\devc++ projet\conditions\main.c too many arguments to function `getchar'
60 C:\maxime\devc++ projet\conditions\main.c too many arguments to function `getchar'
70 C:\maxime\devc++ projet\conditions\main.c [Warning] comparison between pointer and integer
70 C:\maxime\devc++ projet\conditions\main.c [Warning] comparison between pointer and integer
C:\maxime\devc++ projet\conditions\Makefile.win [Build Error] [main.o] Error 1


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


int main(int argc, char *argv[])
{
  long choix = 0;
  char play = 0;

  do
  {
  printf("==Choix de personnage==\n\n");
  printf("1.Barbare\n");
  printf("2.Sorciere\n");
  printf("3.Archer\n\n");
  printf("Votre choix est?\n");
  scanf("%ld", &choix);
 
  switch(choix)
  {
               case 1 :
                    system("CLS");
                    printf("Vous avez choisi le barbare\n\n");
                    printf("==Caracteristiques==\n\n");
                    printf("Force:\n");
                    printf("Dexteriter:\n");
                    printf("Agileter:\n");
                    printf("Intelligence:\n");
                    printf("Vie:\n");
                    printf("Magie:\n");
                    printf("Jouer \"O\"oui/\"N\"non)");
                    getchar("%c", &play);
                   
                   
                    break;
               case 2 :
                    system("CLS");
                    printf("Vous avez choisi la sorciere\n\n");
                     printf("==Caracteristiques==\n\n");
                    printf("Force:\n");
                    printf("Dexteriter:\n");
                    printf("Agileter:\n");
                    printf("Intelligence:\n");
                    printf("Vie:\n");
                    printf("Magie:\n");
                     printf("Jouer \"O\"oui/\"N\"non)");
                    getchar("%c", &play);
                    break;
               case 3 :
                    system("CLS");
                    printf("Vous avez choisi l'archer\n\n");
                     printf("==Caracteristiques==\n\n");
                    printf("Force:\n");
                    printf("Dexteriter:\n");
                    printf("Agileter:\n");
                    printf("Intelligence:\n");
                    printf("Vie:\n");
                    printf("Magie:\n");
                     printf("Jouer \"O\"oui/\"N\"non)");
                    getchar("%c", &play);
                    break;
               default :
                    system("CLS");
                    printf("Ceci n'est pas un choix valide");
                    break;
                       
               
               
  }
}while (play == "O" || play == "o");
 
 
  system("PAUSE");     
  return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2005 à 1:27:03

Ton script compile mais je sais pas comment on fait pour prendre des caractères en C donc j'ai arrangé ton code pour qu'il compile mais pour le getchar, tu t'arrangeras ...

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


int main(int argc, char *argv[])
{
    int choix = 0;
    char play = 0;
   
    do {
        printf("==Choix de personnage==\n\n");
        printf("1.Barbare\n");
        printf("2.Sorciere\n");
        printf("3.Archer\n\n");
        printf("Votre choix est?\n");
        scanf("%ld", &choix);
 
        switch(choix) {
            case 1 :
                system("CLS");
                printf("Vous avez choisi le barbare\n\n");
                printf("==Caracteristiques==\n\n");
                printf("Force:\n");
                printf("Dexteriter:\n");
                printf("Agileter:\n");
                printf("Intelligence:\n");
                printf("Vie:\n");
                printf("Magie:\n");       
            break;

            case 2 :
                system("CLS");
                printf("Vous avez choisi la sorciere\n\n");
                printf("==Caracteristiques==\n\n");
                printf("Force:\n");
                printf("Dexteriter:\n");
                printf("Agileter:\n");
                printf("Intelligence:\n");
                printf("Vie:\n");
                printf("Magie:\n");
            break;
            case 3 :
                system("CLS");
                printf("Vous avez choisi l'archer\n\n");
                printf("==Caracteristiques==\n\n");
                printf("Force:\n");
                printf("Dexteriter:\n");
                printf("Agileter:\n");
                printf("Intelligence:\n");
                printf("Vie:\n");
                printf("Magie:\n");
            break;
            default :
                system("CLS");
                printf("Ceci n'est pas un choix valide");
            break;
        }
        printf("Jouer \"O\"oui/\"N\"non)");
        scanf("%d", &play);
    } while (play == "O" || play == "o");
 
 
  system("PAUSE");     
  return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2005 à 1:30:32

tu changes la variable play en variable long et on repond par 1 ou par 2 comme ca t'utilise scanf et tu t'fais pas chié :p
  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2005 à 3:36:56

Citation : dOsSpr0uTosS

tu changes la variable play en variable long et on repond par 1 ou par 2 comme ca t'utilise scanf et tu t'fais pas chié :p


C'est ce que je voulais faire en modifiant le code mais c'est toujours plus cool comprendre pourquoi notre code ne fonctionne pas ;) ! Je crois que ils parlent de getchar sur le site de xgarreau.
  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2005 à 9:56:38

man info et google sont les meilleurs amis du codeur.

on y découvre par exemple

#include <stdio.h>

int
getchar();


donc getchar ne prend pas d'arguments et renvoie un entier.

en plus, pour une fois, les erreurs de gcc étaient assez compréhensible :/

  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2005 à 13:22:06

Toute façon, le titre est trop vague, je ferme.
  • Partager sur Facebook
  • Partager sur Twitter