Jeux plus et moins

Fermé
mrci - Modifié le 10 févr. 2019 à 00:34
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 15 févr. 2019 à 10:01
Bonjour,
je traiter programme de jeux plus et mois
en donne ordinateur choisi numéro soit cas 1 (0 a 100) ,cas 2(0 a 1000),cas 3 (0 a 10000)
mais pas exécutée quelle ou le problème s"il veut plait
le progarmme:


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int menu(){
 int choix=0;
 while (choix<1 || choix>3){
  printf ("1: le numero choisi per ordinateur compri entre 0 et 100\n");
  printf ("2: le numero choisi per ordinateur compri entre 0 et 1000\n");
  printf ("3: le numero choisi per ordinateur compri entre 0 et 10000\n");
  printf ("votre choix :\n");
  scanf ("%d",&choix);
 }
 return menu ;
}
int main (){
 int x,n;
 switch (menu()){
  case 1 : printf ("choisi numero compris entre 0 et 100\n");
  srand(time(NULL));
  x=rand()%100;
   systeme ("cls");
           break ;
  case 2 : printf ("choisi numero compris entre 0 et 1000\n");
  srand(time(NULL));
  x=rand()%1000;
   systeme ("cls");
           break ;
  case 3 : printf ("choisi numero compris entre 0 et 10000\n");
  srand(time(NULL));
  x=rand()%10000;
   systeme ("cls");
           break ;
 }
 
 do {
  printf ("entrer nombre chercher:\n");
  scanf ("%d",&n);
  if(n>x) printf ("nombre d'ordinateur est moins :\n");
  else if (n<x) printf (" nombre d'ordinateur est plus :\n");
  else printf ("barvo c'est le nombre est vrai :\n");
 }
 while (n!=x);
 return 0;
}
A voir également:

3 réponses

Juuli Messages postés 34 Date d'inscription vendredi 3 février 2012 Statut Membre Dernière intervention 12 février 2019 5
10 févr. 2019 à 01:11
Bonsoir,
Dans la fonction
menu()
, tu retournes
menu
alors que ce devrait être
choix
.
0
merci pour réponse
mais votre réponse pas claire
0
Traxmix Messages postés 463 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 8 janvier 2020 173
Modifié le 11 févr. 2019 à 00:53
Comme dit: dans ta fonction "menu()" tu retourne menu ("return menu ;") alors que tu devrais retourner "choix" ("return choix;"). En gros la tu retourne menu sur menu. Ca lui donne aucune valeur (ou 0 mais j'ai un doute).
Après j'ai un second doute sur ta boucle de menu', les conditions sont prisent en compte ?

0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié le 15 févr. 2019 à 10:07
Salut mrci,

Comme déjà dit par les deux personnes ayant répondu ton code ne retourne pas la valeur de "choix" tapée par l'utilisateur, mais autre chose (il retourne l'adresse de la fonction menu, ce qui n'est pas du tout ce que tu cherches à tester avec ton switch/case auquel tu fournit directement le résultat de la fonction).

Il y a aussi les deux autres problèmes suivants dans ton code :

-
x=rand()%100;
ne va te permettre d'obtenir que des nombres de 0 à 99, si tu veux des nombres de 0 à 100 comme l'indique ton programme, tu dois faire
x = rand() % 101;
...
- tu as mal orthographié la commande
systeme("cls");
, c'est l'orthographe anglaise qui doit être utilisée :
system("cls");
(sans "e" à la fin)

Note que 2 de ces problèmes t'étaient signalés par ton compilateur si tu compiles avec les warnings :

$ gcc -Wall 35859388.c
35859388.c: In function ‘menu’:
35859388.c:14:9: warning: return makes integer from pointer without a cast [-Wint-conversion]
  return menu ;
         ^~~~
35859388.c: In function ‘main’:
35859388.c:22:6: warning: implicit declaration of function ‘systeme’ [-Wimplicit-function-declaration]
      systeme ("cls");
      ^~~~~~~
/tmp/cctRXJZs.o : Dans la fonction « main » :
35859388.c:(.text+0x133) : référence indéfinie vers « systeme »
35859388.c:(.text+0x1a4) : référence indéfinie vers « systeme »
35859388.c:(.text+0x212) : référence indéfinie vers « systeme »
collect2: error: ld returned 1 exit status
$

Enfin, ce n'est pas réellement un bogue, mais tu n'as pas besoin de l'entête
#include <math.h>
dans ton code pour ce que tu fais, et tu pourrais le supprimer.

Dal
0