ARRIVE pas à EXECUTER avec DEV-C++

Marsu -  
 joel -
bonjours ,
voila , je suis un grand débutant en programmation , et je n'arrive pas à exécuter des programmes simples sur Dev-c++.

Pourtant , je ne dois pas faire de grosse erreur puisque j'arrive à compiler , c'est juste l'éxecution qui cloche .

Par exemple , ce matin , j'ai essayé ceci (c'est l'exemple d'un livre)

#include<stdio.h>
main( )
{
printf ("Bonjours.\n");
return 0;
}

Pourriez vous me dire qu'est ce qui cloche ?

Merci d'avance

18 réponses

  1. SmallFitz Messages postés 358 Date d'inscription   Statut Membre Dernière intervention   189
     
    Salut !
    Bon ce sujet est vieux mais comme il a été "rajeuni"... ;D
    Pour le premier post de Marsu :
    Son code était :
    #include<stdio.h>
    main( )
    {
           printf ("Bonjours.\n");
           return 0;
    } 

    Il disait qu'il n'avait pas de problème de compilation.
    Cependant quelques trucs devraient être modifiés :
    Il fait un return 0; à la fin donc sa fonction doit être du type int. Ce qui donne :
     int main ()

    Comme elle ne prend aucune variable en paramètre, il faut l'indiquer avec void. Ce qui donne
    int main (void)


    Si on teste ce code avec L'IDE DevC++, il ne se passe rien.
    Cela est du au fait que le programme s'ouvre et se ferme à la vitesse de l'éclair.
    Ce problème n'existe pas avec l'IDE Code::Blocks, qui est en quelque sorte plus intelligent, et qui fait une pause tout seul avant de se fermer.

    Pour éviter cela avec DevC++ il existe
    system("PAUSE");
    qui permet de faire une pause dans le programme avant qu'il se ferme. Dans ce cas tant que l'utilisateur ne tape pas sur une touche du clavier, le programme ne continue pas.
    Le seul soucis c'est que cela n'est pas portable.
    Pour y remédier il est conseillé de le remplacer par
    getchar();

    Cela à exactement le même effet, sauf qu'il faut uniquement appuyer sur ENTRER pour continuer, et qu'il est utilisable par tous les OS !

    Donc voilà le code de Marsu, modifié :
    #include<stdio.h>
    int main( void )
    {
           printf ("Bonjour.\n");
           getchar();
           return 0;
    } 


    Ce que je viens d'expliquer, je l'ai appris ici :
    https://openclassrooms.com/forum/sujet/foire-aux-questions-langage-c-98714#r1138696
    3
    1. joel
       

      merci frangin tu viens de me sauver la

      0
  2. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    remplace return 0 par exit (0);
    1
  3. Géca Messages postés 822 Statut Contributeur 106
     
    Bonjour,

    Ton projet doit être de type" win32 console" ou un truc du genre. Sinon le printf ne passera pas.
    1
    1. Marsu
       
      avec getch( ) , ça marche ... Thank you tout le monde !!!
      Mais j'ai vu quelque part qu'on pouvait mettre aussi system("pause") , mais ca ne passe pas au compilateur .
      Comment utiliser cette fonction ? Où faut il la placer ???
      0
  4. SmallFitz Messages postés 358 Date d'inscription   Statut Membre Dernière intervention   189
     
    Salut !
    Je te conseille de créer ton propre topic.
    Un problème, un topic, ça me parait normal.
    D'autant que là tu ne parles pas de DevC++.

    A bientôt sur ton nouveau topic !
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pi€rre Messages postés 76 Statut Membre
     
    si tu compile c'est qu'il n'y a pas d'erreur dans le code mais dans le projet que tu as créé

    merci, @+
    pierre L.
    0
  7. arkyx Messages postés 22 Statut Membre 8
     
    slt, ton code est bon.
    Si tu n'as pas d'erreur de compilation, cela vient peut-être du "flashage" du terminal. Rajoute getch() à la fin çà peut venir de çà.

    voilà, voilà, ...
    0
  8. Ramses__
     
    Avec le code de Marsu, on met comme ça :

    #include<stdio.h>
    main( )
    {
    printf ("Bonjours.\n");
    return 0;
    getch();
    }

    ou comme ça :

    #include<stdio.h>
    main( )
    {
    printf ("Bonjours.\n");
    return 0;
    }
    getch();

    Parce que moi, ça marche avec aucun des deux :(
    0
  9. Gccman
     
    #include <stdio.h>
    main()
    {
    printf("Tiens, on débute en C?");
    getch();
    return 0;
    }

    return veut dire que tu quitte le programme en retournant la valeur 0 (= tt se passe bien, cool). Le getch() après return ne sera pas pris en compte
    0
  10. Ramses__
     
    Ca me met comme erreur : implicit declaration of function ìnt getch(...)'
    0
  11. zada
     
    j'ai 1 souci avec dev c++ lorsque j'execute 1 programme je n'arrive pas à avoir le resultat du programme je ne sais pas a quoi c'est du j'ai 1 rapport a rendre pour demain
    0
  12. ctrl-alt
     
    bonjour,

    #include <stdio.h>

    int main ()
    {
    int a, b, c, nb1, nb2, nb3; //nombres entiers à saisir
    int res; //resultat du tri

    /* Saisie du premier nombre */
    printf("nb1");
    scanf("%d", &a);
    /* Saisie du deuxieme nombre */
    printf("nb2");
    scancf("%d", &b);
    /* Saisie du troisieme nombre */
    printf("nb3");
    scanf("%d", &c);

    res=c; //choix arbitraire à corriger ensuite si nécessaire

    if (a<b)
    { //b n'est pas le minimum
    if (a<c) res=a; // c n'est pas le minimum
    }
    else // le minimum est a ou c
    {
    if (b<c) res=b; //c n'est pas le minimum
    }
    printf("le plus petit est: %d", res);

    getch();
    }

    voila quand je compile ce programme avec dev c++ il m indique
    linker error indefined reference to 'scanf'
    id return 1 exit status
    quelqu'un aurais t'il une réponse merci
    0
  13. Géca Messages postés 822 Statut Contributeur 106
     
    Vu que c'est du C++ utilise plutôt cin et cout plutôt que scanf et printf. il faut inclure la librairie iostream : #include <iostream>.
    0
  14. ichigo
     
    #include<stdio.h>
    main ()
    {
    int i,j,x,y;
    printf ( "entrez un nombre svp: " );
    scanf ( "%i", &x );
    printf( "entrez un nombre svp: " );
    scanf( "%j", &y );
    i=1;
    while ( i<=x );
    {
    j=1;
    while ( j<=y );
    {
    printf ("x");
    j=j+1;
    }
    printf("\n");
    i=i+1;
    }
    getchar();
    }
    et ca pk ca ne fonctionne pas ca devrait pourtt maffiche:
    xxx
    xxx
    xxx
    xxx
    xxx
    pour x =5 et y=3
    or ca me demande bien les valeurs mais on dirait ke les whiles ne fonctionnes pas
    merci pour les rep
    0
  15. maroc
     
    salut
    le probleme n'est dans votre programme ni dan votre IDE
    il faut savoire tout simplement que devc++ est un ancien IDE et il considere la fonction main comme une fonction qui returne un entier(tu dois obligatoirement donner le type de main)

    int main()
    et ca va marchè
    desolè pour mon niveau en francais
    0
  16. istaK
     
    Salut, pareil je peux compiler mais ça ne s'execute pas... j'ai un message d'erreur qui sort sous windows, et ça dit "name.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru." je sais pas comment faire et je suis pas douée en prog
    0
    1. SmallFitz Messages postés 358 Date d'inscription   Statut Membre Dernière intervention   189
       
      Salut !

      Essais donc avec CodeBlocks ;)
      0
    2. LAYTO_888
       
      salutation , ^ ^
      dit nous juste kel é ton programme et en kel langage tu veu le codé ?
      0
  17. Samah
     
    Vous devez ajouté
    #include <conio.h> pour ke ca fonctione
    0
  18. Samah
     
    #include <stdio.h>
    #include <conio.h>
    main (void){
    int choix;
    clrscr ();
    printf (" *******************************************\n");
    printf (" * programme fais spécialement pr Med.amine*\n");
    printf (" *******************************************\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("##############################################################################\n");
    printf("# salu ts le monde j'aimerai porté a votre savoir que ce programme est fais #\n# spécialement pour une personne qui s'appel AMINE et que j'aime tant #\n");
    printf("##############################################################################\n");
    printf("\n");
    printf("\n");
    printf("puije savoir quel est votre nom SVP :\n");
    printf("\n");
    printf("taper 1 Si cé mohamed amine\n");
    printf("Si AUTRE taper 2 \n");
    printf("\n");
    printf("Veuillez entrez le numéro du choix qui vous convient \n");
    scanf("%d",&choix);
    if (choix == 1){
    printf("\n");
    printf(" ******* *** *** * * *** * * **** ****\n");
    printf(" * ***** ***** * * * * * * * * * *\n");
    printf(" * ********* * * * * * * * * * *\n");
    printf(" * ******* * * * * * ***** *****\n");
    printf(" * ***** * * * * * * * * *\n");
    printf(" * *** * * * * * * * * *\n");
    printf(" ******* * * *** ** **** ****\n");
    printf("\n");
    printf("******* ******* ******* ****** * * ***** * * ******* ******\n");
    printf(" * * * * * * * * * * * * * *\n");
    printf(" * * * * * * * * * * * * * *\n");
    printf(" * * * ****** * * * ******* * * * ******\n");
    printf(" * * * * * * * * * * * *\n");
    printf(" * * * * * * * * * * * *\n");
    printf(" * * * ****** * * * * * ******* ******\n");
    printf(" ");
    }
    if(choix == 2 ){
    printf(" ****\n");
    printf(" * **\n");
    printf(" * **\n");
    printf(" * **\n");
    printf(" * **\n");
    printf(" * * ****\n");
    printf(" **** *** * * **\n");
    printf(" * * ** * * * ****\n");
    printf(" * * ** * *** ** ***\n");
    printf(" * ********** * * ***** **\n");
    printf(" * * ** * ** **** **\n");
    printf(" * *** *** **\n");
    printf(" * **\n");
    printf(" * **\n");
    printf(" * **\n");
    }
    getch ();
    }
    0