IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

ComboBox pour appli calculatrice


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut ComboBox pour appli calculatrice
    Bonsoir

    J'ai une combobox qui contient +,-,* et /
    L'orsque l'ulisateur saisi les deux valeurs dans TxtPremierNbr.Text etTxtDeuxiemeNbr.Text, le résultat s'afiche dans un Label.

    J'ai utilisé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    switch (CbxOp.Text)
                 {
                     (CbxOpération.Text) "+":
                        LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) + Convert.ToDouble(TxtDxNbr.Text));break;
     
                    (CbxOpération.Text) "-":
                        LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) - Convert.ToDouble(TxtDxNbr.Text));break;
     
                    (CbxOpération.Text) "/":
                        LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) / Convert.ToDouble(TxtDxNbr.Text));break;
     
                    (CbxOpération.Text) "*":
                        LblResultat =Convert.ToString (Convert.ToDouble(TxtPrmNbr.Text) * Convert.ToDouble(TxtDxNbr.Text));break;
     
                    default: MessageBox.Show("Opérateur inconnu");}
    Sans succès. Merci d'avance à ceux qui pourront m'aider

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Bonsoir,

    Quel est ton problème exactement? Problème à la compilation? à l'exécution? Une exception? un résultat incorrect?

    Est-ce vraiment ton code ou est-ce un pseudo-ode ce que tu as mis? Car je ne vois pas les "case" dans le switch.

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Voici le code que nous a fourni notre prof sur lequel on doit se baser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    switch (operateur)
    {
    case "+":
    resultat = nb1 + nb2 ; break;
    case "-":
    resultat = nb1 - nb2 ; break;
    case "x":
    resultat = nb1 * nb2 ; break;
    case "/":
    resultat = nb1 / nb2 ; break;
    default: MessageBox.Show("Opérateur inconnu");
    break;
    }

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Ton code ne devrait-il pas ressembler plus à ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    string operateur = CbxOp.Text;
     
    switch (operateur )
    {
    case "+":
    LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) + Convert.ToDouble(TxtDxNbr.Text));break;
     
    case "-":
    LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) - Convert.ToDouble(TxtDxNbr.Text));break;
     
    case "/":
    LblResultat = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) / Convert.ToDouble(TxtDxNbr.Text));break;
     
    case "*":
    LblResultat =Convert.ToString (Convert.ToDouble(TxtPrmNbr.Text) * Convert.ToDouble(TxtDxNbr.Text));break;
     
    default: MessageBox.Show("Opérateur inconnu");}

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    A quoi correspond exactement la variable LblResultat ?

    Est ce un string, ton tabel ?

    Car si tu souhaites mettre le résultat de ton opération dans le le label nommé LblResultat , tu dois le faire via la propriété Text de ton label.

    Comme suit : LblResultat.Text = ...

    Si je me bases sur le code fourni, cela ressemblerait plus à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    switch (CbxOp.Text)
    {
    case "+":
    LblResultat.Text = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) + Convert.ToDouble(TxtDxNbr.Text));break;
     
    case "-":
    LblResultat.Text = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) - Convert.ToDouble(TxtDxNbr.Text));break;
     
    case  "/":
    LblResultat.Text = Convert.ToString(Convert.ToDouble(TxtPrmNbr.Text) / Convert.ToDouble(TxtDxNbr.Text));break;
     
    case  "*":
    LblResultat.Text =Convert.ToString (Convert.ToDouble(TxtPrmNbr.Text) * Convert.ToDouble(TxtDxNbr.Text));break;
     
    default: MessageBox.Show("Opérateur inconnu");}
    A noter que dans ce code, aucune vérification est faites sur le fait que l'utilisateur ai bien encodé des nombres valides

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut Illisible
    Personne sur ce forum n'a l'idée de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    try
    {
       double resultat;
       double operateur;
       double operande;
     
       if (!double.TryParse(TxtPrmNbr.Text, ref operateur))
       {
           throw new Exception("L'opérateur n'est pas un nombre valide")
       }
     
       if (!double.TryParse(TxtDxNbr.Text, ref operande))
       {
           throw new Exception("L'opérande n'est pas un nombre valide")
       }
     
       string operateur = CbxOp.Text;
     
       switch (operateur)
       {
          case "+":
             resultat = operateur + operande;
             break;
          case "-":
             resultat = operateur - operande;
             break;
          case "x":
             resultat = operateur * operande;
             break;
          case "/":
             resultat = operateur / operande;
             break;
          default:
             throw new Exception("L'opération n'est pas valide");
             break;
       }
     
       LblResultat.Text = resultat.ToString();
    }
    catch (Exception e)
    {
       LblResultat.Text = e.Message;
    }
    C'est pas un peu plus lisible ?

Discussions similaires

  1. [Embarqué] Quelle BDD pour appli mono user ?
    Par anotherboo dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 12/10/2006, 10h39
  2. Quel langage choisir pour appli test de composants réseau ?
    Par ouam81 dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 06/02/2006, 18h18
  3. problème pour une calculatrice
    Par Anthobask dans le forum C
    Réponses: 4
    Dernier message: 19/12/2005, 21h11
  4. Cherche un serveur web local pour appli CD ROM
    Par Leishmaniose dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 05/10/2005, 12h24
  5. [Conseil] PC portable performant pour appli graphique
    Par escafr dans le forum Ordinateurs
    Réponses: 7
    Dernier message: 04/10/2005, 12h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo