Problème génération de nombre aléatoire. [C]
Résolu
magoadu42
-
magoadu42 -
magoadu42 -
Bonjour,
Alors voilà, cela fait quelques temps que je fait de la programmation en langage C et j'ai voulu créer un programme. Le but est de lancer 2 dé. Si les deux dé on un résultat identique alors le joueur gagne 10euros, sinon il perd la la différence de la valeur absolue des résultats des deux dé. (Soit résultat=|de1-de2|).
Jusque la tout va bien mais il y a un problème: en effet, lorsque je lance le programme à chaque fois les deux résultat sont identiques (ce qui est intéressant pour le joueur mais ce n'est pas le but du programme ^^).
Ainsi je fait appel a vos connaissance pour savoir ce qui ne va pas dans le programme dont voici le code source:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
printf("Ce jeu lance deux dé.\n");
printf("Si les resultats sont identique vous gagner 10euros.\n");
printf("Si les resulats sont differents vous perdez la valeur absolue de la difference entre les deux resultats.\n\n");
int de1 = 0, de2 = 0;
int resultat = 0;
srand(time(NULL));
de1 = rand() % 6;
srand(time(NULL));
de2 = rand() % 6;
if (de1 == de2)
{
resultat = 10;
}
else
{
resultat = fabs(de1 - de2);
}
printf("Premier de: %d\n", de1);
printf("Deuxieme de: %d\n", de2);
printf("Vos gains sont de %d euros\n\n", resultat);
return 0;
}
Je n'ai pas encore creé la boucle qui permettra a l'utilisateur de jouer plusieurs partie a la suite mais je ne pense pas que cela me pose de problème !
Pour info j'utilise code:blocks sous Windows XP
Alors voilà, cela fait quelques temps que je fait de la programmation en langage C et j'ai voulu créer un programme. Le but est de lancer 2 dé. Si les deux dé on un résultat identique alors le joueur gagne 10euros, sinon il perd la la différence de la valeur absolue des résultats des deux dé. (Soit résultat=|de1-de2|).
Jusque la tout va bien mais il y a un problème: en effet, lorsque je lance le programme à chaque fois les deux résultat sont identiques (ce qui est intéressant pour le joueur mais ce n'est pas le but du programme ^^).
Ainsi je fait appel a vos connaissance pour savoir ce qui ne va pas dans le programme dont voici le code source:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
printf("Ce jeu lance deux dé.\n");
printf("Si les resultats sont identique vous gagner 10euros.\n");
printf("Si les resulats sont differents vous perdez la valeur absolue de la difference entre les deux resultats.\n\n");
int de1 = 0, de2 = 0;
int resultat = 0;
srand(time(NULL));
de1 = rand() % 6;
srand(time(NULL));
de2 = rand() % 6;
if (de1 == de2)
{
resultat = 10;
}
else
{
resultat = fabs(de1 - de2);
}
printf("Premier de: %d\n", de1);
printf("Deuxieme de: %d\n", de2);
printf("Vos gains sont de %d euros\n\n", resultat);
return 0;
}
Je n'ai pas encore creé la boucle qui permettra a l'utilisateur de jouer plusieurs partie a la suite mais je ne pense pas que cela me pose de problème !
Pour info j'utilise code:blocks sous Windows XP
A voir également:
- Problème génération de nombre aléatoire. [C]
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Generation ryzen - Guide
- Generateur mot de passe - Télécharger - Sécurité
1 réponse
Tadaaaa :
Google is your best friend
VB.NET is good ... VB6 is better !
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int de1, de2; int resultat; printf("Ce jeu lance deux des. Si les resultats sont identique vous gagner 10 euros.\n"); printf("Sinon, vous perdez la valeur absolue de la difference entre les deux resultats.\n\n"); srand(time(NULL)); //de1 = rand() % 6; //de2 = rand() % 6; de1 = 1 + rand()%5; de2 = 1 + rand()%5; if (de1 == de2) resultat = 10; else resultat = abs(de1-de2); printf("Premier de: %d\n", de1); printf("Deuxieme de: %d\n", de2); printf("Vos gains sont de %d euros\n\n", resultat); system("pause"); return 0; }
Google is your best friend
VB.NET is good ... VB6 is better !
magoadu42
Merci beaucoup, maintenant le programme fonctionne comme je voulais ! Même si je dois encore lui ajouter quelques modification avant qu'il soit terminé ^^