numbers.c
author Markus Bröker <mbroeker@largo.dyndns.tv>
Tue, 09 Feb 2010 08:38:01 +0100
changeset 109 3d84eda3f16f
parent 86 86b83a979d9e
child 140 05d42a3737a4
permissions -rw-r--r--
Derby uses float values here committer: Markus Bröker <mbroeker@largo.homelinux.org>

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

#define getrandom(max) (1+(int)((float)(max)*rand()/RAND_MAX+1.0))

int main (void)
{
    while (1) {
        int guess = -1, value = getrandom (100), count = 0;
        do {
            printf ("Enter a number: ");
            if (scanf ("%d", &guess) < 0)
                (void)getchar ();
            else
                count++;
            if (guess != value)
                printf ("X is %s than %d\n", (value > guess) ? "higher" : "lower", guess);
        } while (value != guess);
        printf ("SUCCESS: You got it after %d attempts\n", count);
    }
    return EXIT_SUCCESS;
}