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

bug sur un " + ou - "

gIooence
gIooence
Niveau 9
30 janvier 2012 à 20:05:37

bonjour a tous :)
alors voila, je me suis mis en tête d'apprendre a programmer en C++ mais je commence d'abord par apprendre le C, j'en suis actuellement au boucle et j'ai déjà fais les conditions, j'ai décider pour m’entraîner avec ça par faire un petit jeu sur console, un plus ou mois, on entre un chiffre entre 1 & 1000 et le programme nous dit si on est en dessous ou en dessus d'un chiffre déterminée aléatoirement au préalable. Seulement cela fais deux jour que mon programme bug et je n'arrive pas a déceler l'erreur (il n'est pas forcement fini mais je voudrais savoir ce que ça donne pour le moment)
voici ce que j'ai fais :

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

int main(int argc, char *argv[])

{int nombreMystere = 0;
const int MAX = 1000;
const int MIN = 1;
int nombretaper = 0;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

while(nombretaper != nombreMystere)
{

printf("tapez un nombre entre 1 et 1000\n\n");
scanf("%d", &nombretaper);

if(nombreMystere = nombretaper)
{
printf("vous avez trouver le nombre mystere\n\n");
}
{
else if(nombretaper > nombreMystere)
}
{
printf("faux essaye encore c'est -\n\n");
}
{
else
}
{
printf("essaye encore c'est +\n\n");
}
}

si quelqun peu m'aidje lui en serait trés reconnaissant :)

gIooence
gIooence
Niveau 9
30 janvier 2012 à 20:09:07

j'ai oublier de préciser que c'est sur code::block et pour la console d'application :rouge:

Bunyan
Bunyan
Niveau 17
30 janvier 2012 à 20:55:07

Quel est le bug en question ? (je n'ai pas lu le code)

gIooence
gIooence
Niveau 9
30 janvier 2012 à 20:56:58

c'est justement ce que je voudrais savoir, car je ne le trouve pas, code::block refuse de compiler

Pocolo
Pocolo
Niveau 10
30 janvier 2012 à 21:00:34

Hormis l'erreur typique commise par 98% des gens qui utilisent un langage de la famille C pour la première fois (à savoir un seul = au lieu de deux) et qui n'est pas la cause de l'erreur de compilation, il y a aussi un surplus d'accolades.

gIooence
gIooence
Niveau 9
30 janvier 2012 à 21:04:10

un surplus d'accolade? comment ça, il faut en ouvrir une pour chque conditions, boucle ect non? :(
sinon merci pour le egal je me sens vraiment bête sur ce coup là :rouge:

Pocolo
Pocolo
Niveau 10
30 janvier 2012 à 21:05:51

Les "else" tu les mets en dehors, déjà.

godrik
godrik
Niveau 30
30 janvier 2012 à 21:06:41

accolade, else if => bug

revoie la syntaxe de if-then-else en C

gIooence
gIooence
Niveau 9
30 janvier 2012 à 21:08:38
  1. include <stdio.h>
  2. include <stdlib.h>
  3. include <time.h>

int main(int argc, char *argv[])

{int nombreMystere = 0;
const int MAX = 1000;
const int MIN = 1;
int nombretaper = 0;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

while(nombretaper != nombreMystere)
{

printf("tapez un nombre entre 1 et 1000\n\n");
scanf("%d", &nombretaper);

if(nombreMystere == nombretaper)
{
printf("vous avez trouver le nombre mystere\n\n");
}

else if(nombretaper > nombreMystere)

{
printf("faux essaye encore c'est -\n\n");
}

else

{
printf("essaye encore c'est +\n\n");
}
avec les elses dehors ça rend ça, mais il annonce un bug a la derniere accolade qui se ferme :(

Pocolo
Pocolo
Niveau 10
30 janvier 2012 à 21:20:28

As-tu bien fermé les accolades du while et du main?

gIooence
gIooence
Niveau 9
30 janvier 2012 à 21:24:25

oh merci ça marche :bave:
une question si je le lance hors de la console de code::block, le programme s'arrete des qu'il est fini (donc qu'on a trouver le nombre), y'a t'il un moyen pour que comme dans code::block il faillent appuyer sur n'importe quelle touche?

asxlife3
asxlife3
Niveau 9
30 janvier 2012 à 21:57:44

system("PAUSE");

ou getch();

anibale
anibale
Niveau 10
31 janvier 2012 à 08:59:17

La tu as 1000 nombres aléatoires donc ça peut mal mais si le nombre généré est 0 le jeu va dire qu'il a gagné alors que l'utilisateur n'a rien encore mis. Faut envisager un do while ou générer le nombre dans une boucle infinie qui s'arrête quand le nombre est trouvé

anibale
anibale
Niveau 10
31 janvier 2012 à 09:14:48

(j'ai rien dit)

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