Partage
  • Partager sur Facebook
  • Partager sur Twitter

Automatiser les noms des joueurs

    19 décembre 2022 à 20:30:46

    Bonsoir, 

    J'ai un projet à faire, et je dois affecter des noms à des joueurs (A1, A2,A3...) la lettre reste la même et le chiffre augmente au fur et à mesure. 

    Je suis quasi sûr qu'il faut utiliser une boucle, voici mon code, mais ca ne marche pas  : 

    J'ai beau essayer je n'y arrive toujours pas, Pouvez m'aider à trouver une solution ? 

    Merci d'avance !

    -
    Edité par user_c 19 décembre 2022 à 20:38:54

    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2022 à 20:35:00

      Bonjour,

      Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2022 à 23:04:37

        bonjour, en fonction de c.nb_jr pas sûr que ton caractère tienne sur un octet, tu essaies sûrement de concaténer les deux chaines ( caractères du coup) en faisant comme ça mais la ce que tu fais c'est placer dans b le caractère qui aurait la valeur de l'addition entre la valeur de H et i

        en partant sur un type string cela devrait mieux passer

        un truc du style

        string b;

        b = "A" + to_string(i) 

        -
        Edité par zvheer 19 décembre 2022 à 23:08:16

        • Partager sur Facebook
        • Partager sur Twitter

        yasakani no magatama

          19 décembre 2022 à 23:08:03

          Hello,

          Alors, avec ces 6 lignes de code, on ne va pas aller bien loin, sauf que je peux te dire que

          • il faut employer c->nb_jr et pas c.nb_jr
          • tu codes en C++, pas en C

          -
          Edité par edgarjacobs 19 décembre 2022 à 23:10:01

          • Partager sur Facebook
          • Partager sur Twitter

          On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

            20 décembre 2022 à 1:28:55

            Puisque user_c a eu la gentillesse de placer son code entre les balises, voici un petit truc:
             
            #include <stdio.h>
            int main(void) {
                char nom[] = "****";
                for(int i = 1; i < 6; i++) {
                    sprintf(nom, "A%d", i);
                    printf("%s\n", nom);
                }
            }
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              20 décembre 2022 à 7:00:28

              zvheer a écrit:

              bonjour, en fonction de c.nb_jr pas sûr que ton caractère tienne sur un octet, tu essaies sûrement de concaténer les deux chaines ( caractères du coup) en faisant comme ça mais la ce que tu fais c'est placer dans b le caractère qui aurait la valeur de l'addition entre la valeur de H et i

              en partant sur un type string cela devrait mieux passer

              un truc du style

              string b;

              b = "A" + to_string(i) 

              Edité par zvheer il y a environ 7 heures

              Oui je m'y suis mal pris, c'est une solution merci, mais le problème c'est que je n'ai pas le droit d'utiliser de type string dans mon projet, y'a

              -t il une equivalence de to_string(i)  en C ? 



              -
              Edité par user_c 20 décembre 2022 à 7:00:47

              • Partager sur Facebook
              • Partager sur Twitter
                20 décembre 2022 à 7:24:30

                Je t'ai donné la solution: sprintf
                Tu peux chercher aussi pour  itoa() ou itostr()

                -
                Edité par PierrotLeFou 20 décembre 2022 à 7:26:21

                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  20 décembre 2022 à 10:28:49

                  Oui je m'y suis mal pris, c'est une solution merci, mais le problème c'est que je n'ai pas le droit d'utiliser de type string dans mon projet, y'a

                  -t il une equivalence de to_string(i)  en C ? 

                  comme le disait edgarjacobds il faut choisir un moment entre faire du c ou c++ là tu demandes une solution en c mais tonncode est en ++

                  sprintf reste la solution la plus simple comme dis pierrot

                  • Partager sur Facebook
                  • Partager sur Twitter

                  yasakani no magatama

                    20 décembre 2022 à 10:58:18

                    user_c a écrit:

                    -t il une equivalence de to_string(i)  en C ?

                    Oui et c'est s(n)printf.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    git is great because Linus did it, mercurial is better because he didn't.

                      20 décembre 2022 à 11:08:35

                      Merci à tous, j'ai testé et ça a bien marché !

                      -
                      Edité par user_c 20 décembre 2022 à 11:17:22

                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 décembre 2022 à 17:16:59 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                          20 décembre 2022 à 17:19:01 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                            20 décembre 2022 à 19:23:43

                            sage décision, le professeur veut peut être faire travailler directement sur les tableaux bien que je ne vois pas trop d'intérêt dans un exercice comme celui là

                            -
                            Edité par zvheer 20 décembre 2022 à 19:23:55

                            • Partager sur Facebook
                            • Partager sur Twitter

                            yasakani no magatama

                              20 décembre 2022 à 19:25:23

                              maxend a écrit:

                              Désoler encore de vous déranger mais j'ai demander a mon professeur et je n'ai pas le droit d'utiliser des sprintf/printf, car je doit le faire en C++. Avez vous d'autre solution mais en C++ sans utiliser le type string ? 

                              J'ai essayé avec itoa() ou itostr() comme l'a proposer l'un d'entre vous plus tôt mais je n'arrive pas a l'utiliser 

                              Comme on me l'a fait remarquer, voici la structure que j'ai utilisée. D'ailleurs, je pense que je m'y suis mal pris depuis le début. Car je devrais affecter ce nom à chaque joueur que je vais créer (je vais l'allouer dynamiquement, mais là n'est pas le sujet). 

                              Donc concrètement, si je reprends depuis le début, il faudrait associer des noms à des joueurs automatiquement avec la même lettre, mais le chiffre qui change (A1,A2,A3...). Avez-vous des idées ? 

                              Comme c'est du C++ et que je suis dans le salon du C,  je pense me rediriger vers le salon du C++.


                              Quelle bonne idée. Et on ne poste pas du code avec une image:
                              • Partager sur Facebook
                              • Partager sur Twitter

                              On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                20 décembre 2022 à 22:08:12

                                @user_c   @maxend Bonsoir, conformément au point 7.1 des CGU de ce site vous ne pouvez avoir qu'un seul compte sur la plateforme, je bannis donc le compte maxend .

                                >> Comme c'est du C++ et que je suis dans le salon du C,  je pense me rediriger vers le salon du C++

                                Il n'est pas nécessaire de créer un doublon, il existe une fonctionnalité d’appel de la modération, en passant la souris sur chaque message apparait différent lien dont celui-ci "signaler". Et la modération s'occupe de déplacer le sujet dans la bonne catégorie.

                                Déplacement vers un forum plus approprié

                                Le sujet est déplacé de la section Langage C vers la section Langage C++

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  20 décembre 2022 à 23:10:18

                                  Puisque tu veux coder en C++ sans les outils de C++, voici du code tout bête pour faire ce que tu veux:
                                   
                                  #include <iostream>
                                   
                                  int main(void) {
                                      char nom[] = "H*****";
                                      int n = 324;
                                      int p = 0;
                                      while(n > 0) {
                                          p = p*10 + n%10;
                                          n /= 10;
                                      }
                                      int i = 1;
                                      while(p > 0) {
                                          nom[i++] = p%10 + '0';
                                          p /= 10;
                                      }
                                      nom[i] = '\0';
                                      std::cout << nom << std::endl;
                                  }
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Le Tout est souvent plus grand que la somme de ses parties.

                                  Automatiser les noms des joueurs

                                  × 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