Jeu de casino

Fermé
Lea300 Messages postés 5 Date d'inscription vendredi 6 novembre 2015 Statut Membre Dernière intervention 8 novembre 2015 - 6 nov. 2015 à 16:55
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 6 nov. 2015 à 19:16
Bonjour j'aurais besoin d'aide sur cet exercice quelqu'un pourrait m'aider svp et me dire mes erreurs et me corriger si possible svp merci d'avance. (Je suis nulle en info).

Jeu de casino :

L'objectif de cet exercice est d'écrire un programme qui simule une partie de casino, en se conformant
aux règles du jeu décrites ci-dessous.
Le joueur dispose au départ d'une quantité d'argent égale à M = 100 € et va miser une partie de
cet argent (le montant S) sur un numéro n de son choix parmi les valeurs {0, 1, 2, 3, 4, 5}. Le tirage
aléatoire a ensuite lieu : soit x le numéro qui a été tiré.
Deux cas de figure peuvent se présenter :
- Si n = x : le joueur a gagné. Il récupère la somme S qu'il a misée et gagne autant. La somme dont
il dispose pour continuer à jouer est donc égale `à M + S.
- Si n 6= x : le joueur a perdu. Il perd la somme S qu'il a misée sur le nombre n. La somme dont il
dispose pour continuer à jouer est donc égale à M ? S.
Le joueur peut ensuite recommencer `a jouer s'il le souhaite (et à condition qu'il ait encore de l'argent,
c'est-`a-dire si M > 0) ou bien décider d'arrêter de jouer.
Lorsque le joueur décide d'arrêter de jouer ou bien lorsqu'il n'a plus d'argent, le programme affiche le
bilan du jeu :
- Si M > 100 €, le programme affiche : "Vous avez gagné de l'argent !"
- Si M = 100 €, le programme affiche : "Vous n'avez pas perdu d'argent"
- Si M < 100 €, le programme affiche : "Vous avez perdu de l'argent !"
- Si M = 0 €, le programme affiche : "Vous êtes ruiné !"


#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int M,S,n,x,somme;
srand(time(0));
n=rand() %5;
M=100;
if(n=x)
{
printf(« le joueur a gagné et récupère la somme S qu'il a misée et gagne autant»);
}
else
{
printf(« le joueur a perdu et perd la somme S qu'il a misée sur le nombre n»);
}
somme = M-S ou somme = M=S;
while(M>0)
{
printf(« Vous pouvez continuer à jouer «);
}
else
{
printf(« Vous ne pouvez plus jouer «);
}
if(M>100)
{
printf(« Vous avez gagné de l'argent »);
}
if(M=100)
{
printf(« Vous n'avez pas perdu d'argent»);
}
if(M<100)
{
printf(« Vous avez perdu de l'argent»);
}
else
{
printf(« Vous êtes ruiné »);
return 0;
}

2 réponses

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 094
6 nov. 2015 à 17:44
Salut Lea300,

Si tu as essayé de compiler ce code avec les warnings (option -Wall sur gcc) tu dois avoir des messages d'erreurs et avertissements.

Corrige et rectifie la cause du premier message d'erreur ou avertissement et recompile. Répète cela jusqu'à ce qu'il ne reste plus aucun message d'erreur ou avertissement.

Si tu ne comprends pas la signification ou la raison d'un message, documente toi, et si tu ne trouves toujours pas, demande nous en postant ton code corrigé (indenté et avec la coloration syntaxique du forum), en indiquant le message d'erreur, la ligne concernée.

En vrac voilà quelques indications additionnelles pour t'aider :

- sur ton message on voit des guillemets typographiques
«
ou
»
... ces caractères viennent habituellement de traitements de texte, et ne sont pas compris par les compilateurs comme des délimiteurs de chaînes, il faut utiliser
"
... rassures moi, tu n'écris pas ce code dans un traitement de texte ?
- ton code n'est pas indenté, il est dès lors peu lisible et tu ne vois pas, par exemple, qu'il manque une accolade fermante à ta fonction
main()

- l'opérateur d'égalité en C est
==
(deux signes égal à la suite) pas
=
qui est un opérateur d'affectation
-
#include <time.h>
devrait être ajouté, sinon tu ne peux pas utiliser la fonction
time()
...
-
somme = M-S ou somme = M=S;
n'est pas une syntaxe valable en C
- à aucun moment tu ne demandes à l'utilisateur de saisir sa mise
- la logique de ton programme est erronée

Traduit l'énoncé en étapes simples, logiques en décomposant la chronologie du déroulement du programme.

Par exemple (non exhaustif) :

1- Mise du joueur
2- Tirage
3- Si l'utilisateur a perdu : débiter sa mise
4- Si l'utilisateur a gagné : créditer son gain
5- S'il ne lui reste plus d'argent ou si l'utilisateur souhaite arrêter de jouer, afficher le résultat
6- sinon, repartir sur 1

Dal
0
Lea300 Messages postés 5 Date d'inscription vendredi 6 novembre 2015 Statut Membre Dernière intervention 8 novembre 2015
6 nov. 2015 à 17:52
Merci beaucoup mais mon problème c'est que je ne peux pas compiler j'ai un ordinateur qui ne me permet pas de faire ca fin je n'ai meme pas linux ou quoi du coup je ne sais pas si ce que je fais c'est bon. Je vais essayer de reprendre ca je vous renvoie après mon programme.
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 094
Modifié par [Dal] le 6/11/2015 à 19:26
Si tu as Windows et que tu peux installer des logiciels dessus, tu peux installer sur ta machine l'environnement de développement Codeblocks avec gcc pour Windows, qui te permettra de programmer en C et de disposer d'un éditeur qui va indenter ton code, te permettre de le compiler et de l'exécuter.

Comme tu codes du C standard, il s'exécutera de la même façon sous Windows que sous Linux.

C'est indispensable pour mettre au point un programme de pouvoir le compiler et l'exécuter.

http://www.codeblocks.org/downloads/26

Clique sur le lien "Sourceforge" de codeblocks-13.12mingw-setup.exe et installe Codeblocks.

Lorsque tu exécutes Codeblocks crée un nouveau projet de type "Console application" et sauvegarde ton projet dans un répertoire dans lequel tu as des droits (Mes documents, ou autre).

Met ton code dans le main.c créé automatiquement, compile et exécute avec les boutons ou menus de l'application.

Et si vraiment tu ne peux rien installer car tu n'as pas le droits, tu peux utiliser des compilateurs en ligne comme https://ideone.com/ (sélectionne C et "secret") pour taper ton code et le tester... mais rien ne vaut un vrai environnement de développement.


Dal
0