DEV/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c

36 lines
1017 B
C
Raw Permalink Normal View History

2024-02-01 13:55:03 +01:00
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int resultat_lancer;
unsigned char valeur_aleatoire;
size_t octet_lu;
/* On ouvre le fichier /dev/random */
FILE* fichier_random = fopen("/dev/random", "r");
/* On vérifie qu'il s'ouvre bien*/
if (fichier_random == NULL) {
fputs("Erreur lors de l'ouverture de /dev/random", stderr);
return EXIT_FAILURE;
}
/* On lit un octet depuis /dev/random */
octet_lu = fread(&valeur_aleatoire, sizeof(valeur_aleatoire), 1, fichier_random);
/*On vérifie l'octet lu */
if (octet_lu != 1) {
fputs("Erreur lors de la lecture depuis /dev/random", stderr);
fclose(fichier_random);
return EXIT_FAILURE;
}
/* On ferme le fichier /dev/random */
fclose(fichier_random);
/* On calcule le résultat du dé (entre 1 et 6) */
resultat_lancer = (valeur_aleatoire % 6) + 1;
/* On affiche le résultat */
printf("%d\n", resultat_lancer);
return EXIT_SUCCESS;
}