Problème langage C
Fermé
Utilisateur anonyme
-
Modifié par géo trouve-tout le 6/04/2012 à 19:18
UbuntuPR Messages postés 89 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 1 août 2013 - 9 avril 2012 à 15:29
UbuntuPR Messages postés 89 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 1 août 2013 - 9 avril 2012 à 15:29
A voir également:
- Problème langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
4 réponses
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
6 avril 2012 à 19:40
6 avril 2012 à 19:40
salut
1) envoie ton code avec les balises "code" du forum, comme ça les espaces de début restent et c'est plus lisible
2) peux-tu nous dire directement quel est le problème ?si erreur de compilation, le message d'erreur par exemple ?
1) envoie ton code avec les balises "code" du forum, comme ça les espaces de début restent et c'est plus lisible
2) peux-tu nous dire directement quel est le problème ?si erreur de compilation, le message d'erreur par exemple ?
Utilisateur anonyme
Modifié par géo trouve-tout le 6/04/2012 à 19:52
Modifié par géo trouve-tout le 6/04/2012 à 19:52
déjà aucun message d'erreur ca complie normallement. Des que je choisis 1 joueur ca fonctionne ensuite si je ferme que je redemarre et que je chosis le mode 2 joueurs et ben la ca met Propose un nombre enfin ca va jusqu'à propose un nombre etla il y a le curseur qui clignote pour que j'entre le chiffre puis dès que j'appuie sur entrer j'ai un mesage windows qui dit que le programme a eu un probleme ert doit fermer et ca s'arrete brisquement au deuxieme joueur.
Tiens voilà le script en code :
Même si ce sont des professionels,Que ce soit à n'importe quel âge, si on est motivé, on peut faire des ravages, et tous les dépasser!
Tiens voilà le script en code :
#include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char** argv ) { int nombreMystere = 0, nombreEntre = 0, nombre_de_coups = 1, reponse =1, nombre_de_joueurs =0; const int MAX = 100, MIN = 1; srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; printf("Bonjour! Nous allons jouer au jeu de + et du -"); printf("Combien de joueurs vont jouer ? Nombre max autorise : 2\n"); scanf("%d", &nombre_de_joueurs); if (nombre_de_joueurs== 1) { do { printf("Tres bien vous avez choisi le mode 1 joueur\n"); printf("Dis moi un nombre\n"); scanf("%d", &nombreEntre); if (nombreEntre < nombreMystere) { printf("C'est plus!\n"); nombre_de_coups ++; } else if (nombreEntre > nombreMystere) { printf ("C'est moins!\n"); nombre_de_coups ++; } else { printf("Bravo! T'as trouvé en %d fois, nom d'une Roberta!", nombre_de_coups); printf("Tu veux recommencer ? Tapes 1 pour oui \n Sinon quittes!"); scanf ("%d", &reponse); } } while (nombreEntre != nombreMystere || reponse ==1); } else if (nombre_de_joueurs ==2) do { printf("Mode 2 joueurs \n"); printf("Le nombre est compris entre 0 et 100\n"); printf("Joueur 1 à toi! Propose un nombre\n"); scanf("%d", nombreEntre); if (nombreEntre < nombreMystere) { printf("C'est plus\n"); nombre_de_coups++; } else if (nombreEntre > nombreMystere) { printf("C'est moins.\n"); nombre_de_coups++; } else { printf("Bravo! Tu as trouvé en %d coups\n", nombre_de_coups); printf("Joueur maintenant! Pareil! Choisis un nombre!"); scanf("%d", nombreEntre); } if (nombreEntre < nombreMystere) { printf("C'est plus\n"); nombre_de_coups++; } else if (nombreEntre > nombreMystere) { printf("C'est moins.\n"); nombre_de_coups++; } else { printf("Bravo! Tu as trouvé en %d coups\n", nombre_de_coups); printf("Veux-tu refaire une partie?\n"); printf("Pour oui tapes 1 sinon quittes!\n"); scanf("%d", &reponse); } } while (nombreEntre != nombreMystere || reponse ==1); return 0; }
Même si ce sont des professionels,Que ce soit à n'importe quel âge, si on est motivé, on peut faire des ravages, et tous les dépasser!
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
Modifié par Pacorabanix le 6/04/2012 à 20:23
Modifié par Pacorabanix le 6/04/2012 à 20:23
ahhh avec tes précisions j'ai trouvé.
erreur minuscule, mais terrible de conséquences ^^ :
scanf("%d", nombreEntre);
tu as oublié le " & " sur nombreEntre dans la partie pour 2 joueurs.
erreur minuscule, mais terrible de conséquences ^^ :
scanf("%d", nombreEntre);
tu as oublié le " & " sur nombreEntre dans la partie pour 2 joueurs.
Utilisateur anonyme
6 avril 2012 à 21:52
6 avril 2012 à 21:52
Alors j'ai testé la le nombre s'enregistre mais ca plante aussitot après
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
7 avril 2012 à 18:09
7 avril 2012 à 18:09
tu as vu qu'il y avait un autre scanf après celui-là où tu as oublié le "&" ?
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
9 avril 2012 à 13:32
9 avril 2012 à 13:32
je te retourne la question : comment veux-tu que ce jeu se joue à 2 joueurs ?
il y a plusieurs possibilités.
il y a plusieurs possibilités.
UbuntuPR
Messages postés
89
Date d'inscription
mercredi 22 juin 2011
Statut
Membre
Dernière intervention
1 août 2013
10
9 avril 2012 à 15:29
9 avril 2012 à 15:29
Il manque un "&" a un des tes scanf effectivement et si tu veux que ça affiche les bon joueurs initialise une variable numero_joueur par exemple, une autre coup_deux_joueurs qui quand son modulo de deux est nul (
ton code devrait ressembler à ça :
on initialise les variables :
ensuite le code du mode deux joueurs :
Ensuite tu as trop de chose dans ton
en espérant t'avoir aidé.
coup_deux_joueurs%2) c'est au deuxième joueur de joué, et si il est différent de zéro c'est au premier.
ton code devrait ressembler à ça :
on initialise les variables :
int nombreMystere = 0, nombreEntre = 0, nombre_de_coups = 1, reponse =1, nombre_de_joueurs =0,numero_joueurs=1,coups_deux_joueurs=1;
ensuite le code du mode deux joueurs :
else if (nombre_de_joueurs ==2) do { printf("Mode 2 joueurs \n"); printf("Le nombre est compris entre 0 et 100\n"); printf("Joueur %i à toi! Propose un nombre\n",numero_joueurs); scanf("%d", &nombreEntre); coups_deux_joueurs++; if(coups_deux_joueurs%2 ==0) { numero_joueurs = 2; } else { numero_joueurs = 1; } if (nombreEntre < nombreMystere) { printf("C'est plus\n"); nombre_de_coups++; } else if (nombreEntre > nombreMystere) { printf("C'est moins.\n"); nombre_de_coups++; } else { printf("Bravo! Tu as trouvé en %d coups\n", nombre_de_coups); printf("Joueur maintenant! Pareil! Choisis un nombre!"); scanf("%d", nombreEntre); } } while (nombreEntre != nombreMystere || reponse ==1); return 0;
Ensuite tu as trop de chose dans ton
do{}en effet tu devrais sortir
printf("Mode 2 joueurs \n"); printf("Le nombre est compris entre 0 et 100\n");pour que ce soit plus agréable à lire.
en espérant t'avoir aidé.