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#

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Points : 8
    Points
    8
    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 régulier
    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
    Points : 93
    Points
    93
    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
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Points : 8
    Points
    8
    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 régulier
    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
    Points : 93
    Points
    93
    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 confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    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 éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 170
    Points : 7 422
    Points
    7 422
    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 ?

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

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

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    On est tout à fait d'accord sur le fait que ton code est bien plus propre.

    Maintenant je dois avouer que je me suis contenté de corriger le code fourni dans le post, même si je le suis ai signalé que le code n'était pas parfait

  8. #8
    Membre régulier
    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
    Points : 93
    Points
    93
    Par défaut
    Pareil. Je me contente d'aider à corriger des codes ou donner des conseils, pas à donner la solution toute faite...

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