Fonction rand

Entête à inclure

#include <stdlib.h>  // <cstdlib> en C++

Fonction rand

int rand();

Cette fonction renvoie une valeur aléatoirement. Pour fonctionner correctement, le générateur de nombres aléatoires a besoin d'être initalisé via la fonction srand.

La valeur calculée est comprise entre 0 et RAND_MAX. Cette dernière valeur est elle aussi définie dans l'entête <stdlib.h>.

Paramètres

Cette fonction ne nécessite aucun paramètre.

Valeur de retour

La nouvelle valeur aléatoire calculée.

Exemple de code

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

#define true 1      /* Préferrez <stdbool> en C ISO 2011. */

int main() {

    /* 1 fois pour toute : il faut initialiser le générateur */
    srand( time( NULL ) );

    while( true ) {
        /* Tirer une valeur aléatoire entre 0 et 100. */
        int searchedValue = rand() % 101;       /* % => Reste de la division entière */
        int editedValue;
        int score = 0;
        printf( "MegaGame V1.0 - Valeur secrète == %d\n", searchedValue );

        while( true ) {
            printf( "Veuillez saisir un entier (entre 0 et 100) : " );
            fflush( stdout );
            scanf( "%d", & editedValue );
            score++;

            if ( editedValue == searchedValue ) {
                printf( "Félicitation : trouvé en %d coups !\n", score );
                break;      /* intérrompre la boucle des manches (pas celle des parties) */
            }
            if ( editedValue < searchedValue ) {
                printf( "La valeur à trouver est plus grande.\n" );
            } else {
                printf( "La valeur à trouver est plus petite.\n" );
            }
        }

        printf( "Souhaitez-vous recommencer une partie (0 Non / 1 Oui) : " );
        fflush( stdout );
        scanf( "%d", & editedValue );
        if ( editedValue == 0 ) break;
    }

    printf( "Bye bye !\n" );

    return EXIT_SUCCESS;
}

Sujets connexes

<stdlib.h>
srand