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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  aide en c # sur une erreur CS01117

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide en c # sur une erreur CS01117

n°1471809
totom53
Posté le 07-11-2006 à 20:38:19  profilanswer
 

Bonsoir a tous  
 
voila je dois faire un programme en C# et il me met un message d'erreur ca serait sympa de m'éclairer  
d'abord le code et le souci se situe au niveau des variables et de la case 4 le message d'erreur error CS0118: 'System.Math' désigne 'classe' où 'variable' était attendu + error CS0117: 'System.Math' ne contient pas de définition pour 'round'
 

Code :
  1. using System;
  2. using System.Collections;
  3. using System.Text;
  4. namespace ConsoleApplication13
  5. {
  6. /// <summary>
  7. /// Description résumée de Class1.
  8. /// </summary>
  9. class Class1
  10. {
  11.  public System.Random rnd;
  12.   [STAThread]
  13.   static void Main(string[] args)
  14.   {
  15.    string str;
  16.    int choix=0,haut,larg,moy=0,nbq,nb1,nb2;
  17.    str = Console.ReadLine();
  18.    choix = int.Parse(str);
  19.    System.Random rnd;
  20.    int rezalea;
  21.    int rep;
  22.    long lng = Math;
  23.                        
  24.    while (choix != 5)
  25.    {
  26.     Console.Write("APPRENDS LES TABLES DE MULTIPLICATION" );
  27.     Console.WriteLine();
  28.     Console.Write("\n            1 - Veux tu voir la totalite des tables de multiplication ?" );
  29.     Console.Write("\n            2 - Veux tu voir une table particuliere ?" );
  30.     Console.Write("\n            3 - Veux tu reciter une table particuliere ?" );
  31.     Console.Write("\n            4 - Veux tu realiser un test de tes connaissances" );
  32.     Console.Write("\n            5 - Veux tu quitter le programme ?" );
  33.     Console.WriteLine();
  34.     Console.Write("Quel est ton choix ? : " );
  35.     str = Console.ReadLine();
  36.     choix = int.Parse(str);
  37.     switch (choix)
  38.     {
  39.       case 1:
  40.       for (haut = 1; haut < 11; haut++)
  41.       {
  42.        for (larg = 1; larg < 11; larg++)
  43.        {
  44.         Console.Write(haut + "*" + larg + "=" + haut * larg+"  " );
  45.         if (larg == 10)
  46.          Console.WriteLine();
  47.        }
  48.       }
  49.       break;
  50.      case 2:
  51.       Console.WriteLine();
  52.       Console.WriteLine();
  53.       Console.Write("Quelle Table ? " );
  54.       Console.WriteLine();
  55.       Console.WriteLine();
  56.       str = Console.ReadLine();
  57.       int table = int.Parse(str);
  58.       for (larg = 1; larg < 9; larg++)
  59.       {
  60.        Console.Write(table + "*" + larg + "=" + table * larg + "  " );
  61.       }
  62.       break;
  63.      case 4: //a peu pres pareil que le case 3 donc on reprend en partie
  64.       Console.WriteLine();
  65.       Console.WriteLine();
  66.       moy=0;
  67.       Console.Write("Combien De Questions Veux-Tu Dans Le Test ? " );
  68.                        
  69.       str = Console.ReadLine();
  70.       nbq = int.Parse(str); //nombre de question, servira a renvoyer une reponse sur 10
  71.       Console.WriteLine();
  72.       for (int k = 0; k < nbq; k++) //on fait une boucle du nombre de fois que l'eleve a demandé de question
  73.       {
  74.        nb1 = Math.round(rnd.NextDouble()*10); //chiffres aleatoires
  75.        nb2 = Math.round(rnd.NextDouble()*10);
  76.        rezalea = nb1*nb2;
  77.        Console.Write(nb1 + " * " + nb2 + " ? " );
  78.        str = Console.ReadLine();
  79.        rep = int.Parse(str);
  80.        if(rep == rezalea) //condition juste
  81.        {
  82.         Console.Write("                        Juste\n" );
  83.         moy++;
  84.        }
  85.        else //fausse
  86.        {
  87.         Console.Write("                        Faux     "+nb1 + " * " + nb2 +" = " +rezalea+"\n" );
  88.        }
  89.       }
  90.       moy = moy * 10 / nbq; //permet de renvoyer un score sur 10
  91.       Console.WriteLine();
  92.       Console.Write("Tu as eu "+moy+" sur 10." );
  93.       Console.WriteLine();
  94.       if(moy == 10)
  95.        Console.Write("Tres bien" );
  96.       else
  97.        if (moy == 9)
  98.        Console.Write("Bien" );
  99.       else
  100.        if (moy > 7 && moy < 8)
  101.        Console.Write("Assez Bien" );
  102.       else
  103.        if (moy > 5 && moy < 6)
  104.        Console.Write("Moyen" );
  105.       else
  106.        if (moy < 5)
  107.        Console.Write("A Revoir" );
  108.       Console.ReadLine();
  109.       break;
  110.     }
  111.    }
  112.   }
  113.  }
  114. }


 
merci a vous;)


Message édité par totom53 le 07-11-2006 à 20:42:20
mood
Publicité
Posté le 07-11-2006 à 20:38:19  profilanswer
 

n°1471821
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-11-2006 à 20:59:20  profilanswer
 

on écrit "Round" et pas "round"


---------------
J'ai un string dans l'array (Paris Hilton)
n°1471829
totom53
Posté le 07-11-2006 à 21:04:38  profilanswer
 

merci beaucoup ;) par contre il me met une erreur error CS0029: Impossible de convertir implicitement le type 'double' en 'int' pareil sur math.Round :s

n°1471846
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-11-2006 à 21:17:14  profilanswer
 

oui, normal... Math.Round() renvoit un double, et toi tu stockes ce qu'il te renvoie dans un int (nb1 et nb2)


---------------
J'ai un string dans l'array (Paris Hilton)
n°1471851
totom53
Posté le 07-11-2006 à 21:26:10  profilanswer
 

donc il faudrait que je la convertisse en quoi?

n°1471856
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-11-2006 à 21:34:07  profilanswer
 

il n'y a aucune conversion à faire... soit tu changes le type de nb1 et nb2 en double, soit tu utilises Random.Next() au lieu de Random.NextDouble() sur les lignes 86 et 87.
si le but est d'obtenir un nombre entier compris entre 1 et 10, alors ce code fait très bien l'affaire :

Code :
  1. nb1 = rnd.Next(10);
  2. nb2 = rnd.Next(10);


---------------
J'ai un string dans l'array (Paris Hilton)

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

  aide en c # sur une erreur CS01117

 

Sujets relatifs
erreur dans un programme graphiqueAide En C++ Suite De Conway (Urgent!!!)
Aide HTMLaide en c : ds1621
Erreur dll dans Visual BasicAide programme C++
une erreur que j'arrive pas à corrigererreur lors de branchement
aide pour un programme en c++Contrôle formulaire côté serveur / retour sur erreur?
Plus de sujets relatifs à : aide en c # sur une erreur CS01117


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