Partage
  • Partager sur Facebook
  • Partager sur Twitter

ptt probléme de C++

aidé moi

Sujet résolu
    5 mars 2008 à 15:53:19

    bonjour je suis un debuant en C++ e j'ai esseyé de suiver vos tuto manifik, mais je me suis heurté a un TP, que je voulé le fair a ma manier mais je ne sais pas ou il ya le probéme, merci de bien vouloir m'aidé, merci beaucoup voila le code

    #include <stdio.h>
    #include <conio.h>

    void main(){
    long X;
    printf("deviné la valeur recherché");
    scanf("%ld,&x");
    while(X!=22){
    if(X>22){
    printf("plus");
    else
    {
    printf("moin");
    };
    };
    printf("donné une autre valeur");
    };
    };
    • Partager sur Facebook
    • Partager sur Twitter
      5 mars 2008 à 16:14:32

      Essaie avec la balise <code>, ce sera plus clair...
      • Partager sur Facebook
      • Partager sur Twitter
        5 mars 2008 à 16:35:39

        Bonjour, Si tu veux qu'on t'aide :
        1) essaye de ne pas parler en SMS
        2) utilis eles balise de code C++ :
        3) j'ai corrigé quelques bugs, mais j'ai rien testé

        1. void main(){
        2.    long X;
        3.    printf("devinez la valeur recherché");
        4.    scanf("%ld,&X"); //X majuscule
        5.    while(X!=22){
        6.    if(X>22){
        7.      printf("plus");
        8.    }else{ //ACOLADE ici
        9.      printf("moin");
        10.    }
        11.     printf("donnez une autre valeur");
        12. }
        • Partager sur Facebook
        • Partager sur Twitter
          5 mars 2008 à 16:50:38

          @Le démon Boiteux: la position de l'accolade n'a aucune importance.
          • Partager sur Facebook
          • Partager sur Twitter
            5 mars 2008 à 16:57:34

            hum ! bon le langage sms et le manque de balise c'est un peu moyen !

            voici un code qui devrait fonctionner en BON C++ car ton code c'est pas du tout du C++

            1. #include <iostream>
            2. using namespace std;
            3. int main(int argc, char **argv)
            4. {
            5. cout << "devinez la valeur :" << endl;
            6. int x; //on cherche des entiers pas besoin de long
            7. while(x != 22)
            8. {
            9. cout << "Rentrez une valeur : ";
            10. cin >> x;
            11. cout << endl;
            12. if(x > 22)
            13. {
            14. cout << "moins" << endl;
            15. }
            16. else if (x < 22)
            17. {
            18. cout << "plus" << endl;
            19. }
            20. }
            21. cout << endl << "GAGNER !" << endl;
            22. cin >> x;
            23. return 0;
            24. }


            pour les explication t'as qu'à lire le cours et celui de C++
            • Partager sur Facebook
            • Partager sur Twitter
              5 mars 2008 à 19:20:56

              merci beaucoup, mais apparament, ni le 1er code ni le 2eme ne marche, j'usilise Turbo C++, mais rien a fair, toujour la même erreur dans la ligne 5
              Warning NONAME00.CPP 8:Possible us of "X" before definition in function main()

              1. void main(){
              2.    long X;
              3.    printf("devinez la valeur recherché");
              4.    scanf("%ld,&X"); //X majuscule
              5.    while(X!=22){
              6.    if(X>22){
              7.      printf("plus");
              8.    }else{ //ACOLADE ici
              9.      printf("moin");
              10.    }
              11.     printf("donnez une autre valeur");
              12. }



              merci beaucoup, dsl pour icare14, c'est vrais c'est pas du C++ c'est du C en tous cas merci
              • Partager sur Facebook
              • Partager sur Twitter
                5 mars 2008 à 20:23:14

                "scanf("%ld,&X");"
                devient
                "scanf("%ld",&X);"

                Sinon tu ne modifie pas X et le compilateur s'apeçoit que tu le test avant de l'affecter ;)

                edit:
                il faut aussi fermer l'accolade de ton while et rajouter un scanf à la fin de la boucle (sinon il ne relit pas la nouvelle valeure).

                résumé :
                1. void main(){
                2.  long X;
                3.  printf("devinez la valeur recherché");
                4.  scanf("%ld",&X); //X majuscule
                5.  while(X!=22){
                6.    if(X>22){
                7.      printf("plus");
                8.    }else{ //ACOLADE ici
                9.      printf("moin");
                10.    }
                11.    scanf("%ld",&X);
                12.  }
                13.  printf("donnez une autre valeur");
                14. }
                • Partager sur Facebook
                • Partager sur Twitter
                  5 mars 2008 à 21:35:02

                  merci beaucoup INKI ça marche aprés une petite modification,
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 mars 2008 à 22:47:33

                    "Turbo C++" ?? C'est ce qui t'es imposé en cours, ou bien c'est parce que tu as trouvé une vieille disquette qui marchait encore ?
                    Dans le second cas (puisque tu sembles disposer d'une connexion internet), je t'invite à te procurer un compilateur de C++98.
                    Autrement, ton code actuel est du C -- et encore, même en C main() doit renvoyer un int.

                    Citation : icare14

                    voici un code qui devrait fonctionner en BON C++ car ton code c'est pas du tout du C++


                    "Bon", "bon" ... c'est vite dit.
                    L'extraction n'est pas testée.
                    x n'est pas initialisé pour la boucle.

                    Même si c'est bizarre, sans tester les saisies incorrectes (cf FAQ C++ de developpez), je préfère encore faire de la sorte:
                    1. int x; // init non nécessaire si x n'est pas utilisé en dehors de la boucle
                    2. while (std::cout << "X?" , std::cin >> x) {
                    3.    ...
                    4. }
                    • Partager sur Facebook
                    • Partager sur Twitter
                    C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                      6 mars 2008 à 19:13:21

                      ouais d'accord M lmghs c'est pas du C++ tip-top mais disons que c'est pas du C non plus :p Je voulais pas présenté de l'incompréhensible à quelqu'un qui code en C
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 mars 2008 à 20:59:04

                        dit icare14 si c'est ni C ni C++, alors ça sera quoi a ton avie
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 mars 2008 à 21:09:17

                          Citation : icare14

                          ouais d'accord M lmghs c'est pas du C++ tip-top mais disons que c'est pas du C non plus :p Je voulais pas présenté de l'incompréhensible à quelqu'un qui code en C


                          On peut *la grande majorité du temps* tout comprendre avec l'explication qui va avec :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            6 mars 2008 à 23:05:59

                            En quoi ce n'est pas du C?
                            A l'exception du "int main" qui est déprécié (en C (IIRC), comme en C++), je n'ai rien vu de propre au C++.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

                            ptt probléme de C++

                            × 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