Besoin d'aide pour un petit probleme dans mon programme
ilyessils
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai besoin d'aide s'il vous plait ; ca m'affiche tout le temps que j'ai perdu !!
j'ai besoin d'aide s'il vous plait ; ca m'affiche tout le temps que j'ai perdu !!
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<time.h> int main () { int couleur; // pour le choix des couleurs int choix ; // pour le choix des mises int i ; int rouge[18]={1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36}; int noir[18]={2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35}; int nb_aleatoire ; printf("1-noir \t 2-rouge"); printf("\nVotre choix est : "); scanf("%d",&couleur); switch(couleur) { case 1 :{ // afficher le numero aleatoire { srand (time (NULL)); nb_aleatoire = rand () % 36 ; printf("\nle nombre est : %d",nb_aleatoire); } noir[i]=0; for(i=0;i<=18;i++){ if(nb_aleatoire==noir[i]) { printf("\nvous avez gagne"); break; } else printf("\nvous avez perdu1"); break; } break; } case 2 :{ // afficher le numero aleatoire { srand (time (NULL)); nb_aleatoire = rand () % 36 ; printf("\nle nombre est : %d",nb_aleatoire); } rouge[i]=0; for(i=0;i<=18;i++){ if(nb_aleatoire==rouge[i]) printf("\nvous avez gagne"); else printf("\nvous avez perdu2"); break; } break; } default: printf("ce choix n'existe pas'"); } }
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Besoin d'aide pour un petit probleme dans mon programme
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Trier du plus petit au plus grand excel - Guide
2 réponses
Bonjour,
Je ne fais pas de "C" .. mais .... je doute que tes doubles accolades ouvrantes soient bonnes...
La bonne syntaxe pour un SWITCH en C étant :
Je ne fais pas de "C" .. mais .... je doute que tes doubles accolades ouvrantes soient bonnes...
{ // afficher le numero aleatoire {
case 2 :{ // afficher le numero aleatoire {
La bonne syntaxe pour un SWITCH en C étant :
switch (Variable) { case Valeur1 : Liste d'instructions; break; case Valeur2 : Liste d'instructions; break; default: Liste d'instructions; }
Utilisateur anonyme
Il n'y a pas de problème à utiliser un bloc d'instructions { } là où une instruction est attendue, dès lors que les blocs sont correctement imbriqués. On peut ouvrir autant d'accolades qu'on veut derrière un case, pourvu qu'on les referme convenablement.
Bonsoir
Tu as plusieurs problèmes.
Tu initialises noir[i] ou rouge[i] avant le début de la boucle for : quelle est la valeur de i ? Qu'est-tu en train d'initialiser ? Tu avais déjà initialisé au départ les tableaux rouge[] et noir[] et c'était (presque) bien.
Tu as initialisé les tableaux avec des valeurs de 1 à 36 mais rand() % 36, ça va de 0 à 35
Tu fais une boucle for, mais dès le premier passage (i=0) que le test soit bon ou pas, tu affiches un résultat et tu quittes ta boucle. Tu ne devrais la quitter que si le test est bon ; s'il est mauvais, tu devrais continuer pour tester les autres valeurs avant de dire que c'est perdu.
Tu as plusieurs problèmes.
Tu initialises noir[i] ou rouge[i] avant le début de la boucle for : quelle est la valeur de i ? Qu'est-tu en train d'initialiser ? Tu avais déjà initialisé au départ les tableaux rouge[] et noir[] et c'était (presque) bien.
Tu as initialisé les tableaux avec des valeurs de 1 à 36 mais rand() % 36, ça va de 0 à 35
Tu fais une boucle for, mais dès le premier passage (i=0) que le test soit bon ou pas, tu affiches un résultat et tu quittes ta boucle. Tu ne devrais la quitter que si le test est bon ; s'il est mauvais, tu devrais continuer pour tester les autres valeurs avant de dire que c'est perdu.