
| Page Précédente 1 2 3 ... 12 13 14 15 16 Suivante | |||
| Pseudo | Commentaire | ||
|---|---|---|---|
| Page Précédente 1 2 3 ... 12 13 14 15 16 Suivante | |||
Wevo0
|
# Posté le 19/01/2010 à 13:26:32 | ||
|
|
Merci beaucoup mais pourrais-tu m'expliquer où les placer en général car je ne sais seulement qu'on les mets pour chaque fonction. EDIT D'ailleurs sa ne marche pas ils me disent 75 c'est moins et 74 c'est plus... |
||
yannolecool
|
# Posté le 21/01/2010 à 23:38:43 | ||
|
|
Voici mon probleme, nom programme marche a la perfection si se n'est qu'il m'arrete deux fois durant l'éxécution en m'envoyant des message d'erreur tel que celui-ci: Run-Time Check Failure #2 - Stack around the variable 'difficulte' was corrupted. Si j'ignore ces erreurs le programme s'execute correctement. Je code sous Visual C++ 2008 express. J'espere que quelqu'un pourra trouver mon probleme. Probleme résolu |
||
aminovich04
|
# Posté le 23/01/2010 à 12:11:06 | ||
|
|
J'ai un petit problème concernant mon code source;lorsque je l'exécute il m'affiche juste le menu du choix du niveau de difficulté, après il me retourne: Process returned... Voici mon code source: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { const int min=1; int max,nombreEntre,nombreMystere,compteur=0,nombreJoueurs,continuerPartie=1,niveau; do // condition sur le booléen pour jouer une nouvelle partie { printf("\t*** Jeu du nombre mystere *** \n\n\n"); printf("Choisissez le niveau de difficulté \n"); printf("1. Niveau 1 \n 2. Niveau 2 \n 3. Niveau 3\n"); scanf("%d",niveau); printf("Veuillez entrer le mode de jeu \n 1. Joueur Solo \n 2.Jouer à 2\n"); scanf("%d",&nombreJoueurs); switch(niveau)//choix du niveau de difficulté { case 1: max=100; break; case 2: max=1000; break; case 3: max=10000; break; default: printf("Ce choix ne figure pas sur le menu \n"); break; } if(nombreJoueurs = 2) { printf("Joueur 1,Veuillez entrer le nombre à deviner \n"); scanf("%d",&nombreMystere); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf("Joeuru 2,Veuillez saisir le nombre Mystere \n"); scanf("%d",nombreEntre); while(nombreEntre>nombreMystere) { compteur++; printf("C'est moins!!\n"); } while(nombreEntre<nombreMystere) { compteur++; printf("C'est plus !!\n"); } while(nombreEntre=nombreMystere) { compteur++; printf("Bravo, vous avez trouve le nombre mystere en %d coups",compteur); } } else if (nombreJoueurs=1) { srand(time(NULL)); nombreMystere=(rand()%(max-min+1))+min; printf("Entrez le nombre mystere\n"); scanf("%d",&nombreEntre); while(nombreEntre > nombreMystere) { compteur++; printf("C'est moins !!\n"); } while(nombreEntre<nombreMystere) { compteur++; printf("C'est plus !!\n"); } while(nombreEntre=nombreMystere) { compteur++; printf("Bravo,vous avez trouve le nombre mystere en %d coups",compteur); } } else { printf("Desole,pas de mode correspondant à ce numero \n"); } printf("Voulez-vous jouer une nouvelle partie? \n"); printf("1. Oui \n 2. Non \n"); scanf("%d",continuerPartie); } while(continuerPartie!=2); return 0; } J'avais un problème concernant la boucle FOR, alors je l'ai enlevé défnitivement. Merci de votre aide |
||
eeeple
|
# Posté le 24/01/2010 à 00:14:58 | ||
|
|
Ligne 15, tu as un léger souci sur ton scanf "scanf("%d",niveau);" Il te manque le & avant niveau : scanf("%d", &niveau); Ca devrait déjà aller mieux
|
||
Lafrayeur
|
# Posté le 28/01/2010 à 20:07:54 | ||
![]()
|
Bonjour, c'est que j'ai un petit problème avec mon programme. J'ai commencé par faire le TP normalement et, voyant que j'y arrivais sans trop de difficulté( oh l'hypocrite!!!) je me suis lancé à l'assaut des améliorations. J'y arrivais sans aucun problème jusqu'au mode 1/2 joueurs. Là Code Blocks me lance normalement le programme et je me rend compte qu'il n'a pas sauté de ligne où je lui disais(le vilain).Mais pire, lorsque j'arrivais au scanf pour choisir le nombre de joueur, il lachait tout:je met le nombre, appuie sur entrée...et il me saute une ligne!Donc je ferme le programme mais je ne peux pas le re-compiler, l'icone est grisée.Tout ça pour dire que si quelqu'un avait une solution, ça m'aiderait beaucoup.Voici mon code source(il est long et barbare): #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int compteur=0; int player=0; printf("Voici un petit jeu appele plus ou moins.Pour y jouer, c'est simple: il suffit de trouver le nombre mystere qui est compris entre 1 et 100.\nVoulez vous jouez a 1 ou a 2: a 1, le nombre est genere aleatoirement par l'ordinateur tandis qu'a deux, l'un des deux joueurs choisi le nombre et l'autre essaye de le deviner.\nSi vous voulez jouer a 1, tapez 1, puis entree, si vous voulez jouer a 2, tapez 2, puis entree!"); scanf("%d", &player); printf("\n\n %d joueur!Tres bien", player); int nombreMystere=0, nombreEntre=0; int MAX=100, MIN=1; int nouvellePartie=0; do { if(player==1) { srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; do { printf("Quel est le nombre?"); scanf("%d", &nombreEntre); compteur++; if(nombreEntre<nombreMystere) { printf("C'est plus!\n\n"); } else if(nombreEntre>nombreMystere) { printf("C'est moins!\n\n"); } else { printf("Bravo!Vous avez trouve le nombre mystere en %d coup!\n\n", compteur); } }while (nombreMystere != nombreEntre); } else if(player==2) { printf("Joueur 2, tapez le nombre mystere"); scanf("%d", &nombreMystere); do { printf("Quel est le nombre?"); scanf("%d", &nombreEntre); compteur++; if(nombreEntre<nombreMystere) { printf("C'est plus!\n\n"); } else if(nombreEntre>nombreMystere) { printf("C'est moins!\n\n"); } else { printf("Bravo!Vous avez trouve le nombre mystere en %d coup!\n\n", compteur); } }while(nombreMystere!=nombreEntre); } else { printf("Il fallait taper 1 ou 2!Si vous voulez jouer, fermer le programme et relancer le."); } printf("Voulez vous faire une nouvelle partie?Si vous voulez faire une nouvelle partie, tapez 1, puis entree.Sinon tapez n'importe quelle entre autre touche, puis entree.\n\n"); scanf("%d", &nouvellePartie); }while(nouvellePartie==1); return 0; } |
||
spika
|
# Posté le 28/01/2010 à 20:45:57 | ||
![]()
|
Bonjour tout le monde ! Pour le jeu, apres avoir appliqué la consigne, je me suis mis comme vous à l'améliorer j'ai inclus plusieurs niveaux de difficultés, un mode personnalisable, et j'ai notamment mis une Decrementation à une variable " NombreDeCoupsRestants " qui pimente un peu le jeu Je m'attaque maintenant au MODE 2 JOUEURS, a ce propos, j'aimerais savoir : Existe-t-il une fonction permettant de "vider" l'ecran ? Afin que le 2e joueur ne triche pas ? parce que mettre un printf avec une vingtaine de " \n ", c'est une solution, mais c'est pas super super... Alors si quelqu'un connait la fonction... Merci d'avance Au fait ce site est vraiment super les tutos sont très explicites, et ma seule inquiétude et qu'ils disparaissent un jour Un Grand MERCI (en majuscules) a Mateo !!! |
||
ertras
|
# Posté le 31/01/2010 à 03:20:12 | ||
![]()
Ville : Saint augustin |
Pour spika, oui tu peux vider ton écran avec : "system("cls");", il y a d'autres options avec system. En fait tu peux mettre les commandes utilisées avec MS-DOS, si tu veux en savoir plus va voir le tutoriel sur les bases du MS-DOS. | ||
spika
|
# Posté le 31/01/2010 à 16:45:09 | ||
![]()
|
Ok, je vais essayer, merci beaucoup de tes conseils
|
||
blatman100
|
# Posté le 31/01/2010 à 18:47:02 | ||
|
|
Bonjour à tous, j'ai modifié un peu le code donné pour avoir une variable "nombre de coups restants" mais j'aimerais que quand celle ci arrive à 0 le programme affiche "perdu" et s'arrête. Quelqu'un pourrait-il m'indiquer comment faire ? Merci d'avance. |
||
blatman100
|
# Posté le 31/01/2010 à 20:29:26 | ||
|
|
Finalement j'ai trouvé la solution, c'était pas bien compliqué en fait ^^. | ||
petironaldo
|
# Posté le 02/02/2010 à 19:32:54 | ||
|
|
salut ! mon probleme c'est quand je tape un nombre plus grand que 100 ou moin que 0 sa m'affiche pas "tape un nombre valide" Code : C
|
||
nakim
|
# Posté le 05/02/2010 à 20:51:16 | ||
|
|
Tu n'as pas bien lu le fonctionnement de la boucle while ! si la condition du while est respectée, tu rentres dans la boucle. les conditions seront évaluée dans l'ordre dont tu les as codé. Lorsqu'une condition dans ton while est vérifiée, les autres ne sont plus traitées donc la première condition à être vérifiée est : else if(nbrMystere < nbrEntrer) et même si le nombre entré est supérieur à 100 ... ta derniere condition ne sera donc jamais testé solution : tu peux mettre cette dernière condition en premier lieux Xavier |
||
petironaldo
|
# Posté le 06/02/2010 à 10:23:05 | ||
|
|
Merci beaucoup nakim | ||
matmat76610
|
# Posté le 07/02/2010 à 20:43:36 | ||
|
|
Bonjour, voila comment j'ai rediger mon programme pour le TP. Le probleme que j'ai c'est au niveau de rajouter "plusieurs niveau de difficulté". Je n'y arrive pas...j'ai essayer de plusieur façon...en fait c'est avec le générateur du chiffre aléatoire que cela pose un probleme. Ma question serait "Es ce que quelqu'un peut me dire ou et comment il placerait le programme pour pouvoir choisir le niveau de difficulter?". Merci #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]) { int nombreMystere = 0, nombreEntre = 0, coups = 1, continuerPartie = 1, choixDuMenu = 0, choixDuNiveau = 1; const int MAX = 100, MIN = 1; srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) +MIN; while (continuerPartie) { printf("<<< MENU >>>\n\n"); printf("1 . Mode 1 joueur.\n"); printf("2 . Mode 2 joueurs.\n\n"); printf("Quelle est votre choix ?\n"); scanf("%d", &choixDuMenu); if (choixDuMenu == 1) { do { printf("Quel est le nombre ?"); scanf("%d", &nombreEntre); if (nombreMystere > nombreEntre) printf("C'est plus !\n\n"); else if (nombreMystere < nombreEntre) printf("C'est moins !\n\n"); else printf("Bravo, vous avez trouve le nombre mystere en %d coups !!!\n\n", coups); coups++; }while (nombreEntre != nombreMystere); printf("Voulez-vous rejouer ? (Tapez 1 pour Oui sinon tapez 0 pour Non)\n\n"); printf("Oui ou Non\n\n"); scanf("%d", &continuerPartie); if (continuerPartie == 1) printf("Super, c'est reparti pour un tour !\n\n"); else printf("dommage ! A une prochaine fois peut etre\n\n"); } else { printf("Joueur 1, veuillez choisir un nombre mystere !\n"); scanf("%d", &nombreMystere); printf("\n\n"); do { printf("Joueur 2, vous devez trouver le chiffre mystere du joueur 1 !\n\n"); scanf("%d", &nombreEntre); if (nombreEntre < nombreMystere) printf("C'est plus !\n\n"); else if (nombreEntre > nombreMystere) printf("C'est moins !\n\n"); else printf("Bravo, vous avez gagnez en %d coups !\n\n", coups); coups++; }while(nombreEntre != nombreMystere); printf("Voulez vous rejouer ? (Tapez 1 pour Oui sinon tapez 2 pour Non\n\n"); printf("Oui ou Non\n\n"); scanf("%d", &continuerPartie); if (continuerPartie == 1) printf("super, c'est reparti pour un tour !\n\n"); else printf("Dommage ! A une prochaine fois peut etre !\n"); } } return 0; } |
||
jja
|
# Posté le 09/02/2010 à 10:59:20 | ||
![]()
|
Bonjour à tous j'ai comme un problème avec la declaration de Max je déclare et je vérifie la valeur : int Max=100; printf("%d",&Max); et le printf me donne : 22933608 comme valeur de Max ! je suis dessus , j'ai démonter le jeu ligne par ligne pour finir par copier la solution du tp mais ho joie, quand je vire la constante MAX pour la déclarer en int Max ben çà recommence. quelqu'un a une idée de ce que c'est que ce @?&%@#!! merci sinon le tuto vraiment génial, j'ai presque tout compris. |
||
jja
|
# Posté le 09/02/2010 à 11:17:15 | ||
![]()
|
ouvrant les yeux et après une pause j'ai trouvé l'erreur printf("%d",Max); et pas printf("%d",&Max); |
||
Steff29
|
# Posté le 09/02/2010 à 12:24:54 | ||
![]()
Ville : Saint sauveur |
Salut, Voici un code qui gere 1 ou 2 joueurs le niveau de difficulte le record du nombre de coups si on veut rejouer la meme partie si on veut rejouer une autre partie Un grand bravo a m@teo pour son tutoriel - je debute et ca va tout seul! (pour l'instant!) (Ca aidera peut etre matmat76610...) Code : C
|
||
Oskawa
|
# Posté le 12/02/2010 à 01:32:54 | ||
|
|
Bonsoir! J'aurais voulu vous demander un petit truc: je fait le programme basique et quand je le met en marche il ne m'affiche rien et me met "press enter to continue". Et pourtant il n'y a rien de faux... Auriez vous une explication* | ||
Steff29
|
# Posté le 12/02/2010 à 10:45:42 | ||
![]()
Ville : Saint sauveur |
Salut, If faudrait que tu poste ton code, ca sera plus facile !
|
||
pegaz
|
# Posté le 12/02/2010 à 11:13:03 | ||
|
|
Bonjour a tous! Steff29 une question importante sur le programme de m@teo. Au niveau du choix de la difficulte je ne comprend pas comment juste avec sa cela nous permet de choisir le niveau de difficulte. do // Deuxieme boucle : Selection du niveau de difficulte { printf("\nNiveau de difficulte\n\n"); printf(" 1- nombre entre 1 et 10\n"); printf(" 2- nombre entre 1 et 100\n"); printf(" 3- nombre entre 1 et 1000\n\n"); printf("Entrer votre choix : "); scanf("%d",&difficulte); } while ( difficulte<1 || difficulte>3 ); record=10000; Ou est la declaration du MAX ? Et a quoi sert le "record" ? Merci pour les reponses. |
||
Oskawa
|
# Posté le 12/02/2010 à 13:18:51 | ||
|
|
Voila le code par rapport à mon message plus haut Et jpeux jamais faire d'espace Jsuis obligé d'utiliser la touche tab. C'est normal* ![]() #include <stdlib.h> #include <stdio.h> #include <time.h> int main() { int main ( int argc, char** argv ) { int nombreMystere = 0, nombreEntre = 0; const int MAX = 100, MIN = 1; srand(clock()); int nb = ((float)rand()/RAND_MAX)*(MAX-MIN+1)+MIN; while(nombreEntre != nombreMystere) { printf("===Plus ou Moins===\n"); printf("\n"); printf("Trouver le chiffre"); scanf("%d", &nombreEntre); if (nombreMystere > nombreEntre) printf("C'est plus !\n"); else if (nombreMystere < nombreEntre) printf("C'est moins !\n"); else printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n"); } return 0; } } |
||
pegaz
|
# Posté le 12/02/2010 à 13:32:27 | ||
|
|
ok 2 choses 1: tu a des int main redondants quel en est l'utilite? 2: comme petironaldo tu n'as peut-etre pas bien compris le systeme du "while" et du "do....while" Je pense que je dois te laisser trouver par toi meme et si vraiment tu ne me comprend pas ou tu ne trouve pas je serais ravi de t'aider pour ce pb. |
||
Oskawa
|
# Posté le 12/02/2010 à 14:01:52 | ||
|
|
J'ai relu ce que Mateo avait fait donc j'ai pris son modèle et sa marche mais maintenant il ne choisit que le chiffre 0... Pourtant j'ai bien mis les nombres aléatoires. C'est quoi le problème* ![]() #include <stdlib.h> #include <stdio.h> #include <time.h> int main() { int nombreMystere = 0, nombreEntre = 0; const int MAX = 100, MIN = 1; srand(clock()); int nb = ((float)rand()/RAND_MAX)*(MAX-MIN+1)+MIN; printf("===Plus ou Moins===\n"); do { printf("\n"); printf("Trouver le chiffre mystère:"); scanf("%d", &nombreEntre); if (nombreMystere > nombreEntre) printf("C'est plus !\n"); else if (nombreMystere < nombreEntre) printf("C'est moins !\n"); else printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n"); } while (nombreEntre != nombreMystere); } |
||
pegaz
|
# Posté le 12/02/2010 à 14:15:55 | ||
|
|
srand(clock()); int nb = ((float)rand()/RAND_MAX)*(MAX-MIN+1)+MIN; Ton pb c que tu declare ton rand dans un int. Puis si tu le retire de ton int, "nb" n'est plus declarer. hors on cherche nombreMystere et pas nb. Ensuite le srand je ne connais pas cette facon de l'ecrire mais dans l'enonce ce n'est pas ecrit de cette facon. test plutot cela srand(time(NULL)); nombreMystere = ((float)rand()/RAND_MAX)*(MAX-MIN+1)+MIN; |
||
pegaz
|
# Posté le 12/02/2010 à 14:17:15 | ||
|
|
meme si dans l'enonce ce n'est ecrit exactement de la meme maniere. Ou a tu eu cette ecriture? | ||
Oskawa
|
# Posté le 12/02/2010 à 14:53:36 | ||
|
|
Ah oui... Je n'avais pas remarqué, en fait je sais pas ou j'ai eu sa, sa doit être une mauvaise manip avec le logiciel, je ne sais pas du tout pourquoi il y a cette formule... Merci beaucoup, j'espère que sa va marcher
|
||
Steff29
|
# Posté le 12/02/2010 à 18:09:02 | ||
![]()
Ville : Saint sauveur |
Bonjour! Pour Pegaz: - la boucle en elle meme ne sert qu'a initialiser la variable 'difficulte' sur 1,2 ou 3. le calcul du maxi se fait quelques lignes plus loin, dans la boucle de jeu : Code : C
- Pour chaque partie jouee, je compare le nombre de coups au record je memorise le nombre minimum dans record. Si j'avais initialiser le record sur 0, il aurait ete imbattatable ! (car il faut au minimum 1 coup pour trouver le nombre. Du coup je l'ai mis sur une valeur assez haute pour etre sur qu'il soit battu. (j'espere que personne ne mets plus de 10000 coups pour trouver le nombre )Il est place la pour etre remis a 0 (10000!) pour chaque nouvelle partie.
|
||
james d'esterbrook
|
# Posté le 15/02/2010 à 19:09:55 | ||
![]()
|
bonjour^^ moi, fait mon code source normalement,( enfin je penseXD) et au moment de faire "build and run" il me dit qu'il y a une erreur et me marque "undefined reference to'_winMain@16'" si quelqu'un pouvais m'expliquer ce que je dois faire ce serais très gentil^^ si c'est utile, j'utilise code::blocks |
||
pegaz
|
# Posté le 17/02/2010 à 18:01:27 | ||
|
|
okok! Mon tout premier programme en 23 ans. Moi qui haissais la programmation car je n'y comprenais strictement rien et avais des profs vraiment incompetents d'apres ce que je vois. Merci le Site de Zero ainsi que ses "Professeurs". Voici mon programme. Tout d'abord il fonctionnait pour 1 joueurs et 2 joueurs l'un contre l'autre. Je l'ai modifie en voyant l'autre methode du mode 2 joueurs. J'ai vraiment eu du mal a tout adapte en gardant mes caracteristique de depart. Donc si vous voyez quelque chose d'inutile, de stupide, d'excelent(lol), enfin n'importe quoi, n'hesitez pas merci a tous. Et si mon programme a peut aide quelqu'un j'en tirerais une joie inimaginable. Bouteille de champagne ouverte for my first programme....... Code : C
|
||
Vasiliz
|
# Posté le 17/02/2010 à 22:58:19 | ||
|
|
Ton programme assure bien ( je suis débutant aussi j'ai commencé à programmer y a 3 jours) donc comparé au mieu de jeu le tien déchire... J'ai quand meme reperé un souci lorsque tu demandes le nombre de joueur et que je choisi ( par erreur) 7 la phrase suivant est: Vous allez jouer à 7 joueurs ( impossible) puis on recommence a la selection erronnée tu devrais mettre un else if plus petit que 3 max , sinon (else) et la tu recommence au debut ? (donc on ne devra pas confirmer les 7 joueurs impossible ... J'espere que tu m'as compris sinon vraiment bon. D'ailleur tu m'as appris la fonction system("Cls"); A bientot |
||
Le Site du Zéro vous proposera bientôt de nouveaux cours partant de Zéro dans d'autres domaines que l'informatique !

