Bonjour svpp aidez moi j'ai pas su ma fauteee

Fermé
soltanamrad Messages postés 3 Date d'inscription dimanche 2 octobre 2016 Statut Membre Dernière intervention 2 octobre 2016 - Modifié par NHenry le 2/10/2016 à 12:07
soltanamrad Messages postés 3 Date d'inscription dimanche 2 octobre 2016 Statut Membre Dernière intervention 2 octobre 2016 - 2 oct. 2016 à 16:05
exercice :
Réalisez le jeu de tire de bâtons. Le principe du jeu est simple :

Deux joueurs choisissent à tour de rôle un nombre de bâtons à tirer parmi une liste de

bâtons affichés à l’écran. Le nombre de bâtons à tirer doit être compris entre 1 et 3 bâtons.

Le joueur qui tire le dernier bâton perd la manche.

Voici un exemple d’exécution du jeu :

IIIIIIIIIIIIIIIIIIIIIIII

Joueur 1, entrez le nombre de bâtons à tirer : 2

IIIIIIIIIIIIIIIIIIIIII

joueur 2, entrez le nombre de bâtons à tirer : 3

IIIIIIIIIIIIIIIIIII




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

int main()
{
int nb=25, i,nb1 ,nb2;
for (i=0;i<25;i++)
    printf("|") ;
   do
    {
        printf("joueur1 entrer le nbre de batons à tirer ");
        scanf("%d",&nb1) ;
        (nb=nb-nb1);
        printf("joueur2 entrer le nbre de batons à tirer ");
        scanf("%d",&nb2);
        (nb=nb-nb2);
        i-- ;
    }
    while(nb!=0);
    if (nb-nb1=0)
        printf("le joueur 1 a gagné");
    else printf("le joueur 2 a gagné");


    return 0;
}

merci d'avance

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
Modifié par NHenry le 2/10/2016 à 12:11
Ton soucis est dû au tests :
while(nb!=0);
if (nb-nb1=0)

Si nb==0, nb-nb1 est forcément négatif.

De plus tu ne borne pas la saisie le joueur 1 peut mettre 24 et c'est terminé.

Tu dois séparer les 2 saisies :
Joueur1 joue
Affichage batons restants
Test fin de partie
Joueur2 joue
Affichage batons restants
Test fin de partie
Recommencer jusqu'à plus de batons

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
2
soltanamrad Messages postés 3 Date d'inscription dimanche 2 octobre 2016 Statut Membre Dernière intervention 2 octobre 2016
2 oct. 2016 à 16:05
maintenant j'ai presque tt corrigé mais il y'a ne faute au niveau du 22 eme ligne 2eme if
#include <stdio.h>
#include <stdlib.h>

int main()
{
int nb=25, i,nb1 ,nb2;
for (i=0;i<25;i++)
printf("|") ;

while (nb!=0)
{i=25;
printf("joueur1 entrer le nbre de batons à tirer : il faut qu'il soit <3 ");
scanf("%d",&nb1) ;
(nb-=nb1);
printf("le nombre restant est %d",nb );
printf("joueur2 entrer le nbre de batons à tirer : il faut qu'il soit <3 ");
scanf("%d",&nb2);
(nb-=nb2);
printf("le nombre restant est %d",nb);
i--;
}
{

if (nb-nb2=0)
printf("joueur 1 a gagné");
else printf("joueur 2");}



return 0;
0
Letrollien Messages postés 3898 Date d'inscription dimanche 21 février 2016 Statut Membre Dernière intervention 20 novembre 2016 1 738
2 oct. 2016 à 11:37
Bonjour aussi, ça peut servir…

Comme vous vous adressez à des personnes, il serait plus convivial pour vous, d'utiliser les formules de politesse préconisées entre personnes polies de type "bonjour" et "merci".

Tout est expliqué ici pour les personnes qui auraient oublié ces règles élémentaires :
https://www.commentcamarche.net/infos/25855-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui/

Merci.


Pour le reste, nous ne faisons pas vos devoirs à votre place.
0
soltanamrad Messages postés 3 Date d'inscription dimanche 2 octobre 2016 Statut Membre Dernière intervention 2 octobre 2016
2 oct. 2016 à 11:45
bonne journée ,je suis vraiment désolée , mais j'ai faits mon devoir et j'ai pas demandé que vous les feriez j'ai voulu juste savoir ma faute et MERCI BEAUCOUP :)
0
Letrollien Messages postés 3898 Date d'inscription dimanche 21 février 2016 Statut Membre Dernière intervention 20 novembre 2016 1 738
2 oct. 2016 à 11:58
Ben non !
0
Utilisateur anonyme
2 oct. 2016 à 12:35
Bonjour et en plus ton code c'est pas du C#....
0