Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit problème Technique.

Qui on peu le dire, est plutôt gênant...

    11 avril 2006 à 17:53:32

    Bonjour. Ce midi, j'ai essayer de suivre un peu les tutoriaux et, après maintes essais, je me suis rendu compte que ma console (windows) buggait! En effet, lorsque je compile et lance le mini programme, tout va bien. Mais au moment venu où je dois tapper une valeure, je clique sur "Entrer" et là, c'est le drame :( !
    Bref, par cette petite prise d'écran, j'espère que vous comprendrez :
    http://img124.imageshack.us/my.php?image=bugconsole0rp.jpg
    Merci d'avance pour vos réponses, aurevoire!
    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2006 à 17:54:57

      pourraistu nous donenr le code s'il te plait ?

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        11 avril 2006 à 17:56:35

        Ca sent le & oublié dans un scanf :D
        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2006 à 18:03:53

          Arf, la réponse est toute trouvée, vous avez raison. Comme un débutant (c'est le cas de le dire, je le suis :p ), j'ai oublié le & :euh:

          Pour le fun, voici le code que j'avais créez rien que pour la petite capture d'écran :D

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

          int main(int argc, char *argv[])
          {
            long nombre=0;
            printf("Veuillez tapper un nombre.\n\n");
            scanf("%ld", nombre);
            system("PAUSE");     
            return 0;
          }


          C'est corrigé, merci beaucoups à vous, je pense que je ne la ferais plus jamais cette faute là ! Juste pour info, pourquoi l'IDE ne l'a pas mentionnée comme "Bug" ?
          • Partager sur Facebook
          • Partager sur Twitter
            11 avril 2006 à 18:06:26

            Citation : Phoenix07

            Juste pour info, pourquoi l'IDE ne l'a pas mentionnée comme "Bug" ?


            Reglage insuffisant

            Project : Forums
            Compiler : GNU GCC Compiler (called directly)
            Directory : D:\dev\ed02\cb\
            --------------------------------------------------------------------------------
            Switching to target: default
            Compiling: main.c
            main.c: In function `main_':
            main.c:9: warning: format argument is not a pointer (arg 2)
            Linking console executable: D:\dev\ed02\cb\ed02.exe
            Process terminated with status 0 (0 minutes, 1 seconds)
            0 errors, 1 warnings

            Je recommande au minimum :
            -Wall -Wextra -O2
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
            Anonyme
              11 avril 2006 à 18:09:58

              Il ne le fait aps remarquer car à la base le compilateur ne connaît pas scanf. Il n'a que son prototype et peut voir que c'est une fonction à arguments variables (qui peut prendre un nombre non limités d'arguments de tous types), donc il accepte qu'on mette une variable comme son adresse.

              L'activation des warnings, comme l'a montré -ed-, permet au compilateur de lire la chaîne passée à scanf pour sortir un warning (mais il n'affiche pas d'erreur, car l'appelle correspond au prototype).
              • Partager sur Facebook
              • Partager sur Twitter
                12 avril 2006 à 22:38:24

                Rebonsoir tout le monde!
                Voilà je remonte ce topic pour ne pas avoir à en recréez un autre!
                J'ai un petit problème au niveau d'un petit logiciel que j'ai créez pour m'entrainer. En effet, la dernière accolade est repérée comme erreure. Pourtant après reverification, toutes les fonctions et le switch ont une accolade pour les ouvrires puis les fermer, aucune n'est en trop ou en moin !
                Voici le code :
                #include <stdio.h>
                #include <stdlib.h>
                long addition(long a, long b);
                long soustraction(long a, long b);
                long multiplication(long a, long b);
                long division(long a, long b);
                long menu (long choix)
                {
                printf("Bienvenue. Vous etes sur Calculette2006, une calculette ULTRA performante.\n");
                printf("Choisissez votre fonction:\n");
                printf("  1. Addition\n");
                printf("  2. Soustraction\n");
                printf("  3. Multiplication\n");
                printf("  4. Division\n");
                printf("  5. Sortir\n\n");
                scanf("%ld",&choix);
                                    return choix;
                }
                int main(int argc, char *argv[])
                {
                    long a=0,b=0,resu=0,choix=0;
                    choix=menu(choix);
                printf("-------------------------------------------------\n");
                printf("Très bien, vous avez choisis %ld, veuillez entrer le premier nombre: ",choix);
                scanf("%ld",&a);
                printf("Veuillez entrer le deuxième nombre: ");
                scanf("%ld",&b);
                switch (choix)
                {
                       case 1:
                            resu=addition(a,b);
                            printf("Le resultat est: %ld+%ld=%ld",a,b,resu);
                            break;
                       case 2:
                            resu=soustraction(a,b);
                            printf("Le resultat est: %ld-%ld=%ld",a,b,resu);
                            break;
                       case 3:
                            resu=multiplication(a,b);
                            printf("Le resultat est: %ld*%ld=%ld",a,b,resu);
                            break;
                       case 4:
                            resu=division(a,b);
                            printf("Le resultat est: %ld/%ld=%ld",a,b,resu);
                            break;
                       default:
                               return 0;
                }

                long addition(long a, long b)
                {
                     return a+b;
                }
                long soustraction(long a, long b)
                {
                     return a-b;
                }
                long multiplication(long a, long b)
                {
                     return a*b;
                }
                long division(long a, long b)
                {
                     return a/b;
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  12 avril 2006 à 22:55:24

                  Recompte lol le main est pas fermé :-°
                  pourquoi menu() n'as pas de proto?

                  Sinon -ed-

                  Citation : -ed-

                  Je recommande au minimum : -Wall -Wextra -O2


                  J'ai vu ca plusieurs fois mais je sais pas ce que ca veut dire... C'est des options a rajouter au compilo je suppose?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 avril 2006 à 23:01:29

                    Citation : Arkhiall

                    Recompte lol le main est pas fermé :-°
                    pourquoi menu() n'as pas de proto?


                    Mais il y est. En effet, la fonction est définie avant son utilisation. Le protoype integré suffit.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Music only !
                      12 avril 2006 à 23:14:03

                      Ok je savais pas :D
                      Sinon j'ai trouvé pour les options dans projet. Mais en tapant ca dans Google je tombe sur un post de... -ed-!
                      Donc ca me fait plein de warning.. ^^
                      Y'a quoi d'autre comme options comme ca? et on les trouve ou?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 avril 2006 à 23:26:18

                        Citation : Arkhiall

                        Sinon j'ai trouvé pour les options dans projet. Mais en tapant ca dans Google je tombe sur un post de... -ed-!
                        Donc ca me fait plein de warning.. ^^
                        Y'a quoi d'autre comme options comme ca? et on les trouve ou?


                        Ouh là ! Tu as du tomber sur ma liste de la mort spéciale paranoïde... Les options de gcc sont sur le site de ... gcc ! http://gcc.gnu.org/

                        Citation : Pas pour les débutants


                        Secret (cliquez pour afficher)

                        Je ne l'ai pas publiée ici, parce qu'il faut pas mal retoucher les headers de minGW pour compiler correctement... Pas du tout un truc pour les débutants. Je te demande donc, à ton tour, de ne pas la publier ici... Merci.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Music only !

                        Petit problème Technique.

                        × 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