Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C]Problème sous windows

Premier Tp avec amélioration .

Sujet résolu
    29 avril 2006 à 11:52:39

    Bonjour à tous ,

    J'ai commencé à apprendre la prorammation en C avec les cours du site du zéro , je suis arrivé au premier TP que j'ai réalisé sans problème :-° , j'ai ensuite continuer à suivre les cours tout en améliorant mon TP au fur et à mesure avec les petites chose que j'apprenais :D .
    Je suis arrivé aux chaines de caractère .
    J'ai donc décidé d'accueillir plus amicalement les personnes jouant à mon petit jeu en leur demandant leur prénom :) .
    Au début tout à planter , donc j'ai dus réécrire tout mon TP . :p
    Et me voici arriver enfin au bout , je corrige les quelques petites erreur qui traine ( oubli de ; etc ...)
    Je lance la compilation , et j'essaie :euh: .

    Le programme me demande mon nom , je le lui met .
    Il me dit bonjour etc ... , puis me demande quel niveau je souhaite . Je lui met niveau 3 et là ......
    BOUM , project1.exe a rencontré un problème etc ...
    o_O Je me demande quoi depuis ce temps . N'étant pas encore un super zéro en programmation , je suis incapable de savoir d'ou vient l'erreur :( .
    Je fais donc appel à vous pour m'aider .


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

    int main ( int argc, char** argv )
    {
        char prenom[30];
        printf("Comment t'appelles tu ?");
        scanf("%s",prenom);
       
        long niveau=0;
        printf("Bonjour %s , choisis ton niveau de difficulte:\n 1. Facile\n 2. Moyen\n 3. Difficile\n 4. Bonne chance!!!\n", prenom);
        scanf ("%ld" , niveau);
       
        if (niveau==1)
        {
        long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 100, MIN = 1;

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {
            printf("Quel est le nombre entre 1 et 100 ? ");
            scanf("%ld", &nombreEntre);

            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, tu as trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
    }

    else if (niveau==2)
    {
         long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 1000, MIN = 1;

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {
            printf("Quel est le nombre entre 1 et 1000 ? ");
            scanf("%ld", &nombreEntre);

            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, tu as trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
    }
       
    else if (niveau==3)
        {
             long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 10000, MIN = 1;

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {
            printf("Quel est le nombre entre 1 et 10 000 ? ");
            scanf("%ld", &nombreEntre);

            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, tu as trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
    }
       
        else if(niveau==4)
        {
             long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 1000000, MIN = 1;

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {
            printf("Quel est le nombre entre 1 et 1 000 000 ? ");
            scanf("%ld", &nombreEntre);

            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, tu as trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
             }
             
         
        system("PAUSE");
    }


    Merci d'avance pour votre aide .

    PS: je sais que j'ai des include qui ne serve à rien tel que math.h etc ... mais je ne pense pas que cela pose problème .
    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2006 à 11:57:25

      Bonjour,
      Il y a une petit erreur dans ton code :

      long niveau=0;
          printf("Bonjour %s , choisis ton niveau de difficulte:\n 1. Facile\n 2. Moyen\n 3. Difficile\n 4. Bonne chance!!!\n", prenom);
          scanf ("%ld" , niveau);


      Tu as oublié le & devant niveau
      • Partager sur Facebook
      • Partager sur Twitter
        29 avril 2006 à 11:59:38

        Merci beaucoup!!!

        N'étant qu'un débutant je fais encore des oubli . Comme je viens de voir les chaine de caractère ou il ne faut pas & parce que c'ets un tableau et bien je l'ai oublier dans mon long .

        Merci encore et encore ^^
        • Partager sur Facebook
        • Partager sur Twitter
          29 avril 2006 à 12:14:48

          Tu pourrais crée des fonctions ; switch c'est pratique ;) ; Puis tu pourrais m'expliquer pourquoi tu inclus math.h et string.h ?
          • Partager sur Facebook
          • Partager sur Twitter

          [C]Problème sous windows

          × 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