Metagames

Metagames (https://www.metagames-eu.com/forums/)
-   Informatique (https://www.metagames-eu.com/forums/informatique/)
-   -   Probleme code (https://www.metagames-eu.com/forums/informatique/probleme-code-86890.html)

rouge 13 06/05/2007 21h32

Probleme code
 
Bonjour.
Je commence à apprendre le language C en suivant ces super cours http://www.siteduzero.com/tuto-3-8-0...mmer-en-c.html
mais voila le probleme:
Code:

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

int main ( int argc, char** argv )
{
    long nombreMystere = 0, nombreEntre = 0;
    const long MAX = 100, MIN = 1;

    // Génération du nombre aléatoire
    nombreMystere = genereNombre(MIN, MAX);

    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */

    do
    {
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%ld", &nombreEntre);

        // On compare le nombre entré avec le nombre mystère
        compareNombres(nombreEntre, nombreMystere);

    } while (nombreEntre != nombreMystere);


    system("PAUSE");
}


"A vous de créer les 2 fonctions qu'elle utilise : genereNombre (qui génère un nombre aléatoire compris entre MIN et MAX) et compareNombres qui compare le nombre entré au nombre mystère et affiche si c'est plus, si c'est moins, ou si c'est le bon résultat http://www.siteduzero.com/Templates/...ilies/clin.png ."





Voici ce que j'ai fait:


Code:

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

long genereNombre( long MIN, long MAX)
{
    long nombreMystere = 0
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    return nombreMystere;
}
long compareNombre (long nombreEntre, long nombreMystere)
{
    if (nombreEntre < nombreMystere)
    {
    printf ("Plus grand\n");
    return nombreEntre != nombreMystere;
    }
    else if (nombreEntre > nombreMystere)
    {
        printf ("Plus petit\n");
    return nombreEntre != nombreMystere;
    }
    else if (nombreEntre == nombreMystere)
    {
        printf ("BRAVO!!!\n");
    return nombreEntre == nombreMystere;
    }
}


int main ( int argc, char** argv )
{
    long nombreMystere = 0, nombreEntre = 0;
    const long MAX = 100, MIN = 1;

    // Génération du nombre aléatoire
    nombreMystere = genereNombre(MIN, MAX);

    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */

    do
    {
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%ld", &nombreEntre);

        // On compare le nombre entré avec le nombre mystère
        compareNombres(nombreEntre, nombreMystere);

    } while (nombreEntre != nombreMystere);


    system("PAUSE");
}

le debbuger me dit 2 erreurs:
-lingne 8 error syntax before "srand"
-ligne 55 error syntax at the end of input

J'ai chercher mais pas moyen de trouver le probleme... Quelqu'un peut m'aider?
merci

soksam 07/05/2007 15h38

Première erreur: PANPAN CUL CUL mon gars :D ! Après une instruction on met quoi ???? (fait pas genre de quoi ^^)

Deuxième erreur: essaie sauter une ligne après ton }. Et puis aussi une fonction en général ca renvoie qq chose :P
Enfin la c'est surtout qui y a rien qui te fait sortir de ta fonction

rouge 13 07/05/2007 17h30

ok merci.
Bon j"ai fait quelque modif et voici le code:
Code:

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

long genereNombre( long MIN, long MAX)
{
    long nombreMystere = 0;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    return nombreMystere;
}

long compareNombre (long nombreEntre, long nombreMystere)
{
   
long bon = 1;
    if (nombreEntre < nombreMystere)
    {
        printf ("Plus grand\n");
        bon = 1;
    }
    else if (nombreEntre > nombreMystere)
    {
        printf ("Plus petit\n");
        bon = 1;
    }
    else if (nombreEntre == nombreMystere)
    {
        printf ("BRAVO!!!\n");
        bon = 0;
   
    }
    return bon;
   
}


int main ( int argc, char** argv )
{
    long nombreMystere = 0, bon = 1, nombreEntre = 0;
    const long MAX = 100, MIN = 1;

    // Génération du nombre aléatoire
    nombreMystere = genereNombre(MIN, MAX);

    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */

    do
    {
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%ld", &nombreEntre);

        // On compare le nombre entré avec le nombre mystère
        compareNombres(nombreEntre, nombreMystere);

    } while (bon == 1);

    system("PAUSE");
}

mais il y a encore une erreur que je ne comprend pas:
[Linker error] undefined reference to `compareNombres' ld returned 1 exit status
tu peut m'aider stp:)

soksam 07/05/2007 18h07

Ah après un peu de réflection j'ai trouvé :P

Remplace ca:
compareNombres(nombreEntre, nombreMystere);
Par ca:
bon = compareNombres(nombreEntre, nombreMystere);

rouge 13 07/05/2007 18h49

ca ne marche toujours pas... toujours la même erreur

jack 07/05/2007 20h16

La fonction compareNombres que tu appelle dans le main n'existe simplement pas :D

Car d'un coté tu appelles compareNombres ... et de l'autre tu as crée une fonction compareNombre ...

rouge 13 08/05/2007 08h33

Ah c'était aussi bidon que sa... Merci beaucoup:hello:


Fuseau horaire GMT +1. Il est actuellement 22h47.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

Integrated by BBpixel ©2004-2024, jvbPlugin

Version française #23 par l'association vBulletin francophone
© 2003-2018 MetaGames. Tous droits réservés.