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

Question sur C, erreur dans mon code?

DSlink
DSlink
Niveau 10
29 juin 2008 à 23:59:13

:salut:
voila, je bloque depuis 10 minutes sur ce code fais moi-même:

  1. include <stdio.h> // libraries
  2. include <stdlib.h>
  3. include <math.h> // librarie de maths "avancées", du genre floor (arrondir vers bas), pow (puissance), ou ceil (arrondir vers haut), sqrt (racine carrée)
  4. include <time.h> // pr les chiffres au hasard

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

{
const long chiffreMax = 100;
const long chiffreMin = 1; // chifre max & min
long nombreMystere;
long nombreRentre;

nombreMystere = 0;
nombreRentre = 0;

// sellection au hasard
srand(time(NULL));
nombreMystere = (rand() % (chiffreMax - chiffreMin + 1)) + chiffreMin;
do
{
printf ("Rentrez un nombre\n\n");

scanf ("%ld", &nombreRentre); // scan du nombre rentré

if (nombreRentre = nombreMystere)
{
printf (" Bien joue, vous avez le bon chiffre !\n\n");
}
else if (nombreRentre > nombreMystere)
{
printf (" Le nombre mystere est plus eleve\n\n");
}
else if (nombreRentre < nombreMystere)
{
printf (" Cherchez plus bas pour le nombre Mystere\n\n");
}
else if (nombreRentre > chiffreMax)
{
printf (" Le numero n'est pas valable..\n\n");
}
else
{
printf ("si vous voyez ce texte, prevenez moi et expliquez moi comment vous y etes arrives\n\n");
}

} while (nombreMystere != nombreRentre);

system ("PAUSE");
return 0;
}

Vous savez ou se trouve l'erreur? :s
quand je lance, je rentre le chiffre, enter, puis plus rien..

Merci

guyver2
guyver2
Niveau 10
30 juin 2008 à 00:04:27

ton test d'egalité n'est pas bon :
if (nombreRentre = nombreMystere)
ca c'est une affectation et pas un test
essaye avec ça :
if (nombreRentre == nombreMystere)

et puis, la prochaine fois essaye d'etre plus clair :
- qu'est ce que tu essayes de faire ?
- qu'est ce qui ne marche pas ?
- qu'est ce qui se passe ?

et pour mettre du code, passe plutot par ici : http://rafb.net/paste/
car comme tu peux le voire, le forum supprime l'indentation.

DSlink
DSlink
Niveau 10
30 juin 2008 à 00:10:02

Merci pour ta rapidité :)
Donc pour être un peu plus clair, le but c'est de deviner le chiffre que l'ordi a en mémoire.
Le programme ne réagissait plus après avoir rentré le chiffre dans "chiffreRentre".
Merci encore une fois, je vais tester ta soluce tout de suite.

DSlink
DSlink
Niveau 10
30 juin 2008 à 00:11:35

Nouveau problème:
Je rentre les chiffres, mais ça me mets à chaque fois que le chiffre que l'ordi a en mémoire est plus bas.
Ensuite, j'essaye pour voir de mettre un chiffre trop haut (110), et ça me fait que le chiffre en mémoire est plus haut o_O
puis, alors, je rentre un chiffre négatif, et une boucle infinie apparait :/
merci

DSlink
DSlink
Niveau 10
30 juin 2008 à 00:15:15

j'ai légèrement modifié le code au niveau du numéro pas valable:

  1. include <stdio.h> // libraries
  2. include <stdlib.h>
  3. include <math.h> // librarie de maths "avancées", du genre floor (arrondir vers bas), pow (puissance), ou ceil (arrondir vers haut), sqrt (racine carrée)
  4. include <time.h> // pr les chiffres au hasard

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

{
const long chiffreMax = 100;
const long chiffreMin = 1; // chifre max & min
long nombreMystere;
long nombreRentre;

nombreMystere = 0;
nombreRentre = 0;

// sellection au hasard
srand(time(NULL));
nombreMystere = (rand() % (chiffreMax - chiffreMin + 1)) + chiffreMin;
do
{
printf ("Rentrez un nombre\n\n");

scanf ("%ld", &nombreRentre); // scan du nombre rentré

if (nombreRentre == nombreMystere)
{
printf (" Bien joue, vous avez le bon chiffre !\n\n");
}
else if (nombreRentre > nombreMystere)
{
printf ("Le nombre mystere est plus eleve\n\n");
}
else if (nombreRentre < nombreMystere)
{
printf ("Le nombre mystere est moins eleve\n\n");
}
else if (nombreRentre > chiffreMax || nombreRentre < chiffreMin)
{
printf ("Le numero n'est pas valable..\n\n");
}
else
{
printf ("si vous voyez ce texte, prevenez moi et expliquez moi comment vous y etes arrives\n\n");
}

} while (nombreMystere != nombreRentre);

system ("PAUSE");
return 0;
}

guyver2
guyver2
Niveau 10
30 juin 2008 à 00:25:00

deja tu te trompe dans les message a afficher...

if (nombreRentre > nombreMystere)
{
printf ("Le nombre mystere est plus eleve\n\n");
}

cette condition est vraie si le nombre que tu rentre est suppérieur au nombre mystere, et tu affiche l'inverse. ca perturbe le joueur.

guyver2
guyver2
Niveau 10
30 juin 2008 à 00:26:58

j'ai testé, ca marche nickel, tu avais juste inversé les deux messages.

Bonne chance pour la suite

DSlink
DSlink
Niveau 10
30 juin 2008 à 00:38:09

merci ^^
quel idiot que je suis :p
enfin, bon, je viens de commencer il y a quelques jours sur le site du zéro.

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