CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

c , boucles

dk53
dk53
Niveau 9
05 janvier 2006 à 20:19:59

voila je ne comprend pas pourquoi dans mon programme l´instruction while (celle precedée d´un if == 1 (partie) ne se repete qu´une seule fois avant de plancher merci

  1. include <stdio.h>
  2. include <stdlib.h>
  3. include <time.h>

int main(int argc, char *argv[])
{long max = 100, min = 1, coups = 0;
long nombreMystere = 0, nombreEntre = 0, joueurs = 0,partie = 0;

printf("2.2 bienvenue dans le jeu + -combien de joueurs pour cette partie");
scanf("%d",&joueurs);

if (joueurs == 1)
{printf(" bienvenue dans le jeu plus ou moins version 2.2\nchoissisez votre niveau de difficulte entre 1 et ");
scanf("%d",&max);

srand(time(NULL));
nombreMystere = (rand() % (max - min + 1)) + min;

/* La boucle du programme. Elle se répète tant que l´utilisateur
n´a pas trouvé le nombre mystère */

do
{
// On demande le nombre
printf("choisissez donc un nombre entre 1 et %ld ? ",max);
scanf("%ld", &nombreEntre);

// On compare le nombre entré avec le nombre mystère

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 !! !\n\n");

coups++;
} while (nombreEntre != nombreMystere);
printf("vous avez trouve en %ld coups\n\n", coups);
printf ("\n\n\nle nombre mystere etait donc %ld\n",nombreMystere);
}

else if (joueurs == 2)

{ printf(" bienvenue dans le jeu plus ou moiuns version 2.2\nchoissisez votre niveau de difficulte entre 1 et ");
scanf("%d",&max);

printf("joueur 1 trouvez un nombre entre 1 et %ld pour le faire deviner a votre adversaire",max);
scanf("%ld",&nombreMystere);
do
{
// On demande le nombre
printf("choisissez donc un nombre entre 1 et %ld ? ",max);
scanf("%ld", &nombreEntre);

// On compare le nombre entré avec le nombre mystère

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 !! !\n\n");

coups++;
} while (nombreEntre != nombreMystere);
printf("vous avez trouve en %ld coups\n\n", coups);
printf ("\n\n\nle nombre mystere etait donc %ld\n",nombreMystere);}

printf("voulez vous faire une autre partie\navec plaisir-1\nnon ca va merci-2");
scanf("%d",&partie);//scanf pour la partie

if(partie == 1)
{while(partie != 0) //partie a recommencer tant que la condition n´est pas verifiee
{/* debut d´accolade*/printf("2*2 bienvenue dans le jeu + -combien de joueurs pour cette partie\n");
scanf("%d",&joueurs);

if (joueurs == 1)
{printf(" bienvenue dans le jeu plus ou moiuns version 2.2\nchoissisez votre niveau de difficulte entre 1 et ");
scanf("%d",&max);

srand(time(NULL));
nombreMystere = (rand() % (max - min + 1)) + min;

/* La boucle du programme. Elle se répète tant que l´utilisateur
n´a pas trouvé le nombre mystère */

do
{
// On demande le nombre
printf("choisissez donc un nombre entre 1 et %ld ? ",max);
scanf("%ld", &nombreEntre);

// On compare le nombre entré avec le nombre mystère

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 !! !\n\n");

coups++;
} while (nombreEntre != nombreMystere);
printf("vous avez trouve en %ld coups\n\n", coups);
printf ("\n\n\nle nombre mystere etait donc %ld\n",nombreMystere);
}

else if (joueurs == 2)

{ printf(" bienvenue dans le jeu plus ou moiuns version 2.2\nchoissisez votre niveau de difficulte entre 1 et ");
scanf("%d",&max);

printf("joueur 1 trouvez un nombre entre 1 et %ld pour le faire deviner a votre adversaire",max);
scanf("%ld",&nombreMystere);

printf("\n\n\n\n\n\n");
do
{
// On demande le nombre
printf("choisissez donc un nombre entre 1 et %ld ? ",max);
scanf("%ld", &nombreEntre);

// On compare le nombre entré avec le nombre mystère

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 !! !\n\n");

coups++;
} while (nombreEntre != nombreMystere);
printf("vous avez trouve en %ld coups\n\n", coups);
printf ("\n\n\nle nombre mystere etait donc %ld\n",nombreMystere);}

printf("voulez vous faire une autre partie\navec plaisir-1\nnon ca va merci-2");
scanf("%d",partie);}

}
else if (partie != 1)
system("PAUSE");
}

kikou81
kikou81
Niveau 9
05 janvier 2006 à 21:26:06

Ce serai pas le prog du site du zero???

Je n´arrive pas a lire ton code dsl mais je trouve que c´est sale!!

Tu repete tu repete...
On pourrais le faire plus cours...
Bon je ne suis pas fort je suis debutant mais bon ...

Ce n´est que l´avis d´un debutant mais bon...
Attend que l´on te reponde pour voir :ok:

dk53
dk53
Niveau 9
05 janvier 2006 à 21:32:47

si si c´est ca mais c´est vrai que ca fait - long sous dev c ++

kikou81
kikou81
Niveau 9
05 janvier 2006 à 21:48:39

Sinon tu as lu le chapitre sur la prog modulaire?

dk53
dk53
Niveau 9
05 janvier 2006 à 21:49:53

nan j´en suis au milieu des chapitres des fonctions

dnob700
dnob700
Niveau 10
05 janvier 2006 à 22:30:29

ça te dirait de nous indiquer où est-ce que ce trouve la boucle qui ne vas pas ? ton indication n´est pas très clair.

colle ton code sur un wall ( http://rafb.net/paste/ ) et mets un énorme commentaire bien visible (genre //// !! !!!ICI) pour que l´on sache où est-ce que ça ne vas pas du premier coup d´oeil.

J´en profite pour paser un appel : il y a quelques jours quelqu´un avait posté un code sur un wall dit "communautaire" parcequ´il perméttait de créer un code à partir d´un autre qui se trouvait déjà sur le site. Mais je n´ais pas retrouvé le post en question. Quelqu´un aurait l´adresse de ce site ? je n´arrive pas à remettre la main dessus et il était pas mal.

dk53
dk53
Niveau 9
05 janvier 2006 à 22:34:51

voila j´ai ecrit un c´est laaaaaaaaaaaaaaa en vert desolé avant ce n´etait pas tres clair j´espere que c´a l´&ai plus merci

dk53
dk53
Niveau 9
05 janvier 2006 à 22:35:37

http://rafb.net/paste/results/ksYGJI51.html

dsl j´ai oublié

dk53
dk53
Niveau 9
05 janvier 2006 à 22:36:32

en fait c´est l"´instruction while au dessus du c´est laaaa

dnob700
dnob700
Niveau 10
05 janvier 2006 à 23:48:04

sans indentation, c´est toujours aussi illisible. On ne sais pas où commence ou finissent les boucles.

Ecrire du code propre et proprement permet d´accélérer énormément ensuite l´utilisation de ce code. C´est donc un prérequis absolu pour écrire de bons programmes.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment