Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème pour determiner le nom d'un pseudo dans une variable ...

%s ou %sd j'arrive pas

    25 février 2006 à 20:24:23

    bonjour
    voila j'ai lu avec attention les cours de matheo que je trouve bien detaillé ;
    j'ai donc essayé de me mettre au boulot en testant le tp1 sur "je jeu du plus ou du moins"
    j'ai créé mon propre code (en reprenant l'exemple evidement)
    je voulai apporter des modification au jeu en mettant des "pseudo "

    j'ai un petit souci avec les %s

    voila mon code

    <code type="c"></code>


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


    int main ( int argc, char** argv )

    {


    printf ("*******Bienvenu dans le jeu du PLUS ou du MOINS*******\n\n\n");

    printf("Le jeu consiste a trouver un nombre MYSTERE\n\n");

    system("pause");
    system("cls");


    long mode=0;
    long devinette =0;
    long nombreEntre = 0;
    long const MAX = 100 , MIN = 0 ;
    long compteur =1;

    long rejouerpartseul =0;
    long joueur1 = 0;
    long max = 100 , min = 1 ;
    long joueur2 = 0;
    long rejouerpart2 =0;
    compteur =1;
    char pseudo = 0;
    char pseudo1 =0;
    char pseudo2 =0;



    printf("*******Mode 1 joueur Tape 1 ******* :\n\n");
    printf("*******Mode 2 joueurs Tape 2 ******* :\n\n");
    printf("Choisi ton MODE !");
    scanf("%ld", &mode);
    system ("cls");
    if (mode == 1)
    {
    printf ("Quel est ton prenom ? : ");
    scanf("%s", &pseudo);
    system("cls");
    printf ("Bonjour %s ! \n\n");


    printf ("Ok tu as decide de jouer tout seul %s ,\ndans ce cas, l'ordinateur va choisir un nombre que tu devras deviner\n", &pseudo);
    printf("ce nombre est compris entre 0 et 100\n\n");

    system("pause");
    system("cls");
    do{
    system("cls");
    srand(time(NULL));
    devinette =(rand() % (MAX - MIN +1))+MIN;
    do
    {
    printf("devine le chiffre %s :", &pseudo);
    scanf("%ld", &nombreEntre);
    if
    (nombreEntre<devinette)
    printf("C'est plus !\n\n");
    else if (nombreEntre>devinette)
    printf("C'est moins !\n\n");
    else

    printf("bravo %s tu as reussi en %ld coups !\n", &pseudo,compteur);
    compteur++;
    }while(devinette!= nombreEntre );compteur =1;

    printf("pour rejouer tape 1 sinon tape 0\n");
    scanf("%ld",&rejouerpartseul);
    }while(rejouerpartseul !=0);
    return(0);
    }
    if (mode ==2)

    {

    printf("Ok vous avez choisi de jouer a deux,pour cela le joueur 1 entre un chiffre de 0 a 100 que tu devras deviner !!!!\n\n");

    system("pause");

    do{
    system("cls");
    printf("joueur1 quel est ton prenom ? :");
    scanf("%s", &pseudo1);
    printf("Salut %s \n\n", &pseudo1);
    printf("joueur 2 quel est ton prenom ? : ");
    scanf("%s", &pseudo2);
    printf("Salut a toi aussi %s\n\n", &pseudo2);

    printf("Bon %s tape un chiffre a deviner puis (entrer) ! :",&pseudo1);
    scanf("%ld", &joueur1);
    system ("cls");

    do
    {

    printf("%s devine le chiffre de joueur 1 :",&pseudo2);
    scanf("%ld", &joueur2);



    if(joueur1 < joueur2 )
    printf("C'est moins ! \n\n");
    else if (joueur1>joueur2)
    printf("C'est plus ! \n\n");
    else
    printf("Bravo ! %s tu as trouve en %ld coup ! \n\n", &pseudo1, compteur); compteur++;


    }while(joueur1!=joueur2);

    printf("pour recommencer Tape 1 sinon Tape 0\n");
    scanf("%ld", &rejouerpart2);

    }while(rejouerpart2 != 0);





    }








    system("PAUSE");
    return(0);
    }

    ca marche mais un soucis avec les pseudo
    une fois il me retir une lettre et une autre fois il m'inverse les donnée pseudo...
    copier coller pour un test chez vous

    le mode 1 joueur pas de soucis
    par compte le mode 2 joueur c'est là que viens le probleme d'inversement des pseudo et la premiere lettre manquante du deuxieme pseudo


    je sais que je suis en train de "bla bla" mais si quelqu'un pouvait m'eclaircir

    merci davance :)
    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2006 à 20:25:38

      Salut,

      Mets ton code entre les balises...
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2006 à 20:33:53

        Ca c'est pour ceux qui auraient envie de l'aider ^^

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


        int main ( int argc, char** argv )

        {


        printf ("*******Bienvenu dans le jeu du PLUS ou du MOINS*******\n\n\n");

        printf("Le jeu consiste a trouver un nombre MYSTERE\n\n");

        system("pause");
        system("cls");


        long mode=0;
        long devinette =0;
        long nombreEntre = 0;
        long const MAX = 100 , MIN = 0 ;
        long compteur =1;

        long rejouerpartseul =0;
        long joueur1 = 0;
        long max = 100 , min = 1 ;
        long joueur2 = 0;
        long rejouerpart2 =0;
        compteur =1;
        char pseudo = 0;
        char pseudo1 =0;
        char pseudo2 =0;



        printf("*******Mode 1 joueur Tape 1 ******* :\n\n");
        printf("*******Mode 2 joueurs Tape 2 ******* :\n\n");
        printf("Choisi ton MODE !");
        scanf("%ld", &mode);
        system ("cls");
        if (mode == 1)
        {
        printf ("Quel est ton prenom ? : ");
        scanf("%s", &pseudo);
        system("cls");
        printf ("Bonjour %s ! \n\n");


        printf ("Ok tu as decide de jouer tout seul %s ,\ndans ce cas, l'ordinateur va choisir un nombre que tu devras deviner\n", &pseudo);
        printf("ce nombre est compris entre 0 et 100\n\n");

        system("pause");
        system("cls");
        do{
        system("cls");
        srand(time(NULL));
        devinette =(rand() % (MAX - MIN +1))+MIN;
        do
        {
        printf("devine le chiffre %s :", &pseudo);
        scanf("%ld", &nombreEntre);
        if
        (nombreEntre<devinette)
        printf("C'est plus !\n\n");
        else if (nombreEntre>devinette)
        printf("C'est moins !\n\n");
        else

        printf("bravo %s tu as reussi en %ld coups !\n", &pseudo,compteur);
        compteur++;
        }while(devinette!= nombreEntre );compteur =1;

        printf("pour rejouer tape 1 sinon tape 0\n");
        scanf("%ld",&rejouerpartseul);
        }while(rejouerpartseul !=0);
        return(0);
        }
        if (mode ==2)

        {

        printf("Ok vous avez choisi de jouer a deux,pour cela le joueur 1 entre un chiffre de 0 a 100 que tu devras deviner !!!!\n\n");

        system("pause");

        do{
        system("cls");
        printf("joueur1 quel est ton prenom ? :");
        scanf("%s", &pseudo1);
        printf("Salut %s \n\n", &pseudo1);
        printf("joueur 2 quel est ton prenom ? : ");
        scanf("%s", &pseudo2);
        printf("Salut a toi aussi %s\n\n", &pseudo2);

        printf("Bon %s tape un chiffre a deviner puis (entrer) ! :",&pseudo1);
        scanf("%ld", &joueur1);
        system ("cls");

        do
        {

        printf("%s devine le chiffre de joueur 1 :",&pseudo2);
        scanf("%ld", &joueur2);



        if(joueur1 < joueur2 )
        printf("C'est moins ! \n\n");
        else if (joueur1>joueur2)
        printf("C'est plus ! \n\n");
        else
        printf("Bravo ! %s tu as trouve en %ld coup ! \n\n", &pseudo1, compteur); compteur++;


        }while(joueur1!=joueur2);

        printf("pour recommencer Tape 1 sinon Tape 0\n");
        scanf("%ld", &rejouerpart2);

        }while(rejouerpart2 != 0);





        }








        system("PAUSE");
        return(0);
        }



        ========================================

        Je suis encore debutant, mais en principe, le pseudo, il faut qu'il soit declarer en "char" et il faut determiner le nombre de caractere !


        char pseudo1[100] ;
        char pseudo2[100] ;



        Moi je pense que ca vient de la , il y a peut etre d'autre erreurs !
        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2006 à 20:35:27

          reli le cours avec les Chars , tu n'a pas compris
          • Partager sur Facebook
          • Partager sur Twitter
            25 février 2006 à 20:36:20

            j'ai trouvé desolé pour le derrangement

            je n'avais pas donné de valeur dans la variable char
            char pseudo1 [50]
            et
            char pseudo2 [50]
            par exemple :o)


            desolé
            pour le script j'ai pourtant choisi le code c dans le menu deroulant :/
            • Partager sur Facebook
            • Partager sur Twitter
              25 février 2006 à 20:49:06

              on a vu mais tu n'a pas entouré ton code par la balise :p
              • Partager sur Facebook
              • Partager sur Twitter
                26 février 2006 à 19:33:42

                char pseudo = 0;
                char pseudo1 =0;
                char pseudo2 =0;

                Jamais vu :p ;


                Comme la dit Patou : il faut mettre
                char pseudo[nombre de caractères à "réserver" pour le pseudo]; ( en comptant le \o );
                ( je crois que c'est \o ) :-°
                • Partager sur Facebook
                • Partager sur Twitter
                  26 février 2006 à 20:16:21

                  PianoParis > c'est \0, pas \o :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 février 2006 à 21:05:34

                    Citation : asmanur

                    PianoParis > c'est \0, pas \o :p



                    Ah ! , oui , c'est vrai :lol:


                    Et c'est : PianoPâriss ( Piano , Pâriss( Mon prénom( comme dans la mithologie :) )))
                    C'est vrai , je rigole pas ! :o:o


                    A++

                    PianoPâriss



                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 février 2006 à 16:43:07

                      Je croi aussi que tu a loupé une parti quand on a appris a déclarer les variables plutot que d'écrire 10 fois long ecrit le une fois et met toute les variables une a la suite des autres c'est moi beau mais ca prend mois de place et y a moins a écrire :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      problème pour determiner le nom d'un pseudo dans une variable ...

                      × 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