Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1429 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  erreur code jeu de nombre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur code jeu de nombre

n°1652694
indice2
Posté le 04-12-2007 à 15:51:14  profilanswer
 

bonjour, je suis en train de réaliser un code en c# mais j'ai quelques soucis dans le code, est-ce que quelqu'un saurait corriger mes erreurs ?
 

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace TPEUCLIDE {
  5.     public class Program {
  6.         public static void Main(string[] args) {
  7.            Console.Clear();
  8.            Console.WriteLine("- Menu -" ); 
  9.            Console.WriteLine();
  10.            Console.WriteLine("1 - Jeu sans limitation de tentatives." );
  11.            Console.WriteLine("2 - Jeu avec choix du nombre de tentatives." );
  12.            Console.WriteLine("3 - Demonstration." );
  13.            Console.WriteLine("4 - Quitter." );
  14.            Console.WriteLine();
  15.            Console.writeline("Choix :" );
  16.            int retour = -1;
  17.            while(retour < 0 || retour > 1000) {
  18.               Console.Write( "Choix du nombre [0..1000] : " );
  19.               string input = Console.ReadLine();
  20.               try {
  21.                  retour = Convert.ToInt32(input);
  22.               } catch {
  23.                  Console.WriteLine();
  24.                  Console.WriteLine("Valeur saisie incorrecte" );
  25.               }
  26.               if(retour < 0 || retour > 1000) {
  27.                  Console.WriteLine();
  28.                  Console.WriteLine("Valeur saisie incorrecte" );
  29.               }
  30.            }
  31. //JEU 1
  32. //variables
  33. int nb1, rep, essais;
  34. {
  35.   Console.Clear()
  36.   nb1=random(1000)
  37.   essais=1;
  38.   rep=saisie;
  39.   while (rep>nb1) do
  40.   {
  41.    if (rep>nb1)
  42.          Console.writeline("Trop haut, essai n°:",essais);
  43.        
  44.    else Console.writeline("Trop  bas, essai n°:",essais);
  45.      
  46.    essais=essais+1;
  47.     rep=saisie;
  48.   }
  49.   Console.writeline("Vous avez trouvé en ",essais,"essais" );
  50.  
  51. }
  52. //JEU 2
  53. //variables
  54. int nb1, rep, essais, nb_essais;
  55. {
  56.  
  57.   Console.Clear()
  58.   nb1=random(1000);
  59.   essais=1;
  60.   Console.write("Saisir le nombre d''essais désirés :" );
  61.   Console.readline(nb_essais);
  62.   rep=saisie;
  63.   while (rep!=nb1) && (essais!=nb_essais) do
  64.   {
  65.    if (rep>nb1)
  66.                  console.Writeline;(" Trop haut !  Il te reste : ",nb_essais-essais,"essais" );
  67.          else
  68.                 Console.writeline("Trop bas !  Il te reste : ",nb_essais-essais,"essais" );
  69.        essais=essais+1;
  70.        rep=saisie;
  71. }
  72.   If (essais==nb_essais)
  73.     Console.writeline ("Tu as perdu ; le nombre était : ",nb1);
  74.     else
  75.    
  76.      Console.writeline("Tu as gagné en ",essais,"coups." );
  77.  
  78. }
  79. ///JEU 3
  80. //Variables
  81. int nb1, haut, bas, rep, essais;
  82. {
  83.   Console.Clear()
  84.   nb1:random(1000);
  85.   essais=1;
  86.   bas=1;
  87.   haut=1000;
  88.   rep(bas+haut)/2;
  89.   while (rep!=nb1) do
  90.   {
  91.       Console.writeline("Le programme propose :",rep);
  92.       if (rep>nb1)
  93.         then
  94.       {
  95.           Console.writeline("Trop haut, essai n°:",essais);
  96.           haut=rep;
  97.       }
  98.         else
  99.         {
  100.           Console.writeline("Trop  bas, essai n°:",essais);
  101.           bas=rep;
  102.         }
  103.       essais=essais+1;
  104.       rep=(bas+haut)/2;
  105.   }
  106.       Console.writeline("Le programme a trouvé en ",essais,"essais." );
  107.       Console.writeline("" );
  108.       Console.writeline("La réponse était : ",rep);   
  109.       Console.writeline("" );
  110.      
  111. }
  112. //Variables
  113.   int choix;
  114.   bool fin;
  115.     {
  116.   randomize;
  117.   fin=false;
  118.   switch (choix)
  119.             { 
  120.  
  121.     case 1: Console.WriteLine("jeu1" );break;
  122.     case 2: Console.WriteLine("jeu2" );break;
  123.                 case 3: Console.WriteLine("jeu3" );break;
  124.     case 4: Console.WriteLine("fin"=true);break;
  125.        
  126.              }
  127.     else
  128.     {
  129.             Console.writeline ("Erreur de saisie." );
  130.            
  131.     }
  132.   }
  133.    
  134.   Console.writeline("Au revoir et à bientôt." );
  135.  
  136.         }
  137.     }
  138. }


 
 

mood
Publicité
Posté le 04-12-2007 à 15:51:14  profilanswer
 

n°1652711
MagicBuzz
Posté le 04-12-2007 à 16:17:31  profilanswer
 

1/ Au lieu de Int32.Convert(), utilise int.TryPase().
2/ Quelles sont tes erreurs ?
3/ C'est quoi tout le bordel à partir de la ligne 36 ?

n°1652713
MagicBuzz
Posté le 04-12-2007 à 16:19:36  profilanswer
 

et d'un point de vue algo :
 
1/ dans ton bordel, le "while(nb1>rep)" est faux à priori
2/ les trois jeux peuvent se faire avec la même fonction, en améliorant tes tests

n°1652766
indice2
Posté le 04-12-2007 à 17:04:11  profilanswer
 

et bien c'est ça le problème, pourquoi le while ici serait faux ?
 
je veux faire en sorte que tant que la réponse de l'user est supérieur au nombre aléatoire (nb1), le programme va dire si oui ou non c'est supérieur ou inférieur au nb1 choisi par la machine

n°1652773
MagicBuzz
Posté le 04-12-2007 à 17:11:49  profilanswer
 

ben parceque tu boucle tant que la proposution du gars n'est pas plus grande que le nombre... donc s'il fait une proposition trop haute, proutch, tu sors du jeux pour rien.
 
Dans jeu 2, par contre, le while semble bon.
 
Mais c'est quoi tes blocs de code jeu 1, 2 et 3 ?
 
Parceque colléscomme ça dans ton code, ça peut pas marcher hein...

n°1652781
indice2
Posté le 04-12-2007 à 17:17:50  profilanswer
 

j'essaye de transformer un code turbopascal en c#
 

Code :
  1. uses wincrt;
  2. procedure attente;
  3. {Attente  d'un événement utilisateur: appui sur une touche}
  4. var TouchePressee : boolean;
  5. begin
  6.   writeln('Taper une touche pour la suite');
  7.   while not (TouchePressee) do TouchePressee:=Keypressed ;
  8. end;
  9. procedure Afficher;
  10. {affichage du menu}
  11. begin
  12.   clrscr;
  13.   WriteLn('         - Menu -');   WriteLn('');
  14.   WriteLn('       1 - Jeu sans limitation de tentatives.');
  15.   WriteLn('       2 - Jeu avec choix du nombre de tentatives.');
  16.   WriteLn('       3 - Demonstration.');
  17.   WriteLn('       4 - Quitter.'); WriteLn('');
  18.   Write  ('Choix :');
  19. end;
  20. function saisie:integer;
  21. {renvoie un entier entre 0 et 1000}
  22. var retour :integer;
  23. begin
  24.      write('Choix du nombre [0..1000] : ');
  25.      readln(retour);
  26.      while (retour<0) or (retour>1000) do
  27.        begin
  28.          write('Choix du nombre [0..1000] : ');
  29.          readln(retour);
  30.        end;
  31.      saisie:=retour;
  32. end;   {fin fct saisie}
  33. {---------------------------- Jeu1 -------------------------}
  34. procedure Jeu1;
  35. var nb1, rep, essais :integer;
  36. begin
  37.   clrscr;
  38.   nb1:=random(1000);
  39.   essais:=1;
  40.   rep:=saisie;
  41.   while rep<>nb1 do
  42.   begin
  43.        if rep>nb1
  44.          then writeln(' Trop haut, essai n°:',essais)
  45.          else writeln(' Trop  bas, essai n°:',essais);
  46.        essais:=essais+1;
  47.        rep:=saisie;
  48.   end;
  49.   writeln('Vous avez trouvé en ',essais,' essais');
  50.   attente;
  51. end; {fin jeu1}
  52. {---------------------------- Jeu2 -------------------------}
  53. procedure Jeu2;
  54. var nb1, rep, essais, nb_essais :integer;
  55. begin
  56.   clrscr;
  57.   nb1:=random(1000);
  58.   essais:=1;
  59.   write('Saisir le nombre d''essais désirés :');
  60.   readln(nb_essais);
  61.   rep:=saisie;
  62.   while (rep<>nb1) and (essais<>nb_essais) do
  63.   begin
  64.        if rep>nb1
  65.          then  writeln(' Trop haut !  Il te reste : ',nb_essais-essais,' essais')
  66.          else  writeln(' Trop bas !  Il te reste : ',nb_essais-essais,' essais');
  67.        essais:=essais+1;
  68.        rep:=saisie;
  69.   end;
  70.   if essais=nb_essais
  71.     then writeln (' Tu as perdu ; le nombre était : ',nb1)
  72.     else writeln(' Tu as gagné en ',essais,' coups.');
  73.   attente;
  74. end;  {fin jeu2}
  75. {---------------------------- Jeu3 -------------------------}
  76. procedure Jeu3;
  77. var nb1, haut, bas, rep, essais :integer;
  78. begin
  79.   clrscr;
  80.   nb1:=random(1000);
  81.   essais:=1; bas:=1; haut:=1000;
  82.   rep:=(bas+haut) div 2;
  83.   while (rep<>nb1) do
  84.     begin
  85.       writeln('Le programme propose : ',rep);
  86.       if rep>nb1
  87.         then
  88.         begin
  89.           writeln(' Trop haut, essai n°:',essais);
  90.           haut:=rep;
  91.         end
  92.         else
  93.         begin
  94.           writeln(' Trop  bas, essai n°:',essais);
  95.           bas:=rep;
  96.         end;
  97.       essais:=essais+1;
  98.       rep:=(bas+haut) div 2;
  99.     end;
  100.       writeln(' Le programme a trouvé en ',essais,' essais.');
  101.       writeln('');
  102.       writeln(' La réponse était : ',rep);     writeln('');
  103.       attente;
  104. end;
  105. { DEBUT DU PROGRAMME PRINCIPAL  }
  106. var
  107.     choix :integer;
  108.     fin :boolean;
  109. begin
  110.   randomize;
  111.   fin:=false;
  112.   repeat
  113.     afficher;
  114.     readln(choix);
  115.     case choix of
  116.           1: jeu1;
  117.           2: jeu2;
  118.           3: jeu3;
  119.           4: fin:=true;
  120.     else
  121.           begin
  122.             writeln ('Erreur de saisie.');
  123.             attente;
  124.           end;
  125.     end;
  126.   until fin;
  127.   writeln(' Au revoir et à bientôt.');
  128. end.


 
et j'ai bien du mal
 
en gros le code doit faire plusieurs jeux d'un chiffre choisi aléatoirement par la machine. l'utilisateur doit alors essayer de rentrer le bon chiffre et la machine lui dit si le chiffre est bon ou non en disant a l'utilisateur si le chiffre est trop, ou trop bas.

n°1652787
MagicBuzz
Posté le 04-12-2007 à 17:21:48  profilanswer
 

ben tes blocs, c'est des procédure (donc des fonctions retournant "void" en C#), pas des bouts de code paumés au milieu de ton programme :o

n°1652803
indice2
Posté le 04-12-2007 à 17:33:33  profilanswer
 

oui, et c'est bien de ce coté que j'ai du mal.

n°1654373
indice2
Posté le 07-12-2007 à 11:31:53  profilanswer
 

quelqu'un peut m'aider a corriger mon code ? J'avoue que j'ai vraiment du mal  :pfff:  
 

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace TPEUCLIDE
  5. {
  6.     class TPEUCLIDE
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10. //Affichage du menu
  11. {
  12.            Console.Clear();
  13.            Console.WriteLine("- Menu -" ); 
  14.            Console.WriteLine();
  15.            Console.WriteLine("1 - Jeu sans limitation de tentatives." );
  16.            Console.WriteLine("2 - Jeu avec choix du nombre de tentatives." );
  17.            Console.WriteLine("3 - Demonstration." );
  18.            Console.WriteLine("4 - Quitter." );
  19.            Console.WriteLine();
  20.            Console.WriteLine("Choix :" );
  21. }
  22.         }
  23.        
  24.         while(true) {
  25.               string input = Console.ReadLine();
  26.               switch(input)
  27.                   case "1" : "jeu1"(); break;
  28.                   case "2" : "jeu2"(); break;
  29.                   case "3" : "jeu3"(); break;
  30.                   case "4" : return; break;
  31.                   default : break;
  32.                      }
  33.         }
  34.    
  35.     int saisie ()
  36.             int retour;
  37.             Console.Write( "Choix du nombre [0..1000] : " );
  38.             retour = Convert.ToInt32( Console.ReadLine() );
  39.             while (retour < 0 || retour > 1000)
  40.             {
  41.                 Console.Write( "Choix du nombre [0..1000] : " );
  42.                 retour = Convert.ToInt32( Console.ReadLine() );
  43.             }
  44.             return retour;
  45.    
  46. //JEU 1
  47.   void jeu1()
  48. {
  49. //variables
  50. int nb1, rep, essais;
  51.   Console.Clear()
  52.   nb1 = Random(1000)
  53.   essais=1;
  54.   rep=saisie;
  55.  
  56.    do  while (rep>nb1)
  57.   {
  58.    if (rep>nb1)
  59.          Console.WriteLine("Trop haut, essai n°:",essais);
  60.        
  61.    else Console.WriteLine("Trop  bas, essai n°:",essais);
  62.      
  63.    essais=essais+1;
  64.     rep=saisie;
  65.  
  66.    }
  67.  
  68.   Console.writeline("Vous avez trouvé en ",essais,"essais" );
  69.  
  70. }
  71. //JEU 2
  72. void jeu2();
  73. {
  74. //variables
  75. int nb1, rep, essais, nb_essais;
  76. {
  77.  
  78.   Console.Clear()
  79.   nb1=random(1000);
  80.   essais=1;
  81.   Console.Write("Saisir le nombre d''essais désirés :" );
  82.   Console.ReadLine(nb_essais);
  83.   rep=saisie;
  84.   while (rep!=nb1) and (essais<nb_essais) do
  85.   {
  86.    if (rep>nb1)
  87.                Console.Writeline;(" Trop haut !  Il te reste : ",nb_essais-essais,"essais" );
  88.          else  Console.writeline("Trop bas !  Il te reste : ",nb_essais-essais,"essais" );
  89.        essais=essais+1;
  90.        rep=saisie;
  91. }
  92.   if (essais==nb_essais)
  93.     Console.WriteLine ("Tu as perdu ; le nombre était : {0}",nb1);
  94.     else
  95.    
  96.      Console.WriteLine("Tu as gagné en ",essais,"coups." );
  97.  
  98. }
  99. }
  100. ///JEU 3
  101.   void jeu3();
  102. {
  103. //Variables
  104. int nb1, haut, bas, rep, essais;
  105. {
  106.   Console.Clear()
  107.   nb1:random(1000);
  108.   essais=1;
  109.   bas=1;
  110.   haut=1000;
  111.   rep(bas+haut)/ 2;
  112.   while (rep!=nb1) do
  113.   {
  114.       Console.writeline("Le programme propose :{0}",rep);
  115.       if (rep>nb1)
  116.        
  117.       {
  118.           Console.WriteLine("Trop haut, essai n°:{0}",essais);
  119.           haut=rep;
  120.       }
  121.         else
  122.         {
  123.           Console.WriteLine("Trop  bas, essai n°:{0}",essais);
  124.           bas=rep;
  125.         }
  126.       essais=essais+1;
  127.       rep=(bas+haut)/2;
  128.   }
  129.       Console.WriteLine("Le programme a trouvé en ",essais,"essais." );
  130.       Console.WriteLine("" );
  131.       Console.WriteLine("La réponse était : {0}",rep);   
  132.       Console.WriteLine("" );
  133.      
  134. }
  135. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  erreur code jeu de nombre

 

Sujets relatifs
L'erreur qui n'existe pas ! enorme ![java ]générateur de pseudo code
Code formulaire non-interprété [Résolu] & mémorisation valeurserreur 9 : l'indice n'appartient pas à sélection !!!!!!!!!!!!!!!!!!!
[SQL] Afficher un certain nombre de donnée dans 1 ligne d'un tableau[BATCH] Nombre de fichier ??
Javascript:Pb de gestion d'erreur en javascriptDébutante besoin d'un code précis
erreur frm-30085 impossible de moduler l'application forms en vu de sa[RESOU] FTP ...erreur bizarre ... [avec commentaires ;o) ]
Plus de sujets relatifs à : erreur code jeu de nombre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR