Operation en visual basic .net

Résolu/Fermé
WebAntoine Messages postés 7 Date d'inscription vendredi 16 juillet 2010 Statut Membre Dernière intervention 30 août 2011 - 29 août 2011 à 22:54
 Profil bloqué - 30 août 2011 à 20:23
Bonjour,

J'ai créer un programme qui additionne ou soustrait ou multiplie ou encore divise deux chiffres, il me met comme resultat zero a chaque fois ! quel est le probleme ?

Voici le code source :

Public Class Form1
    Dim operation As String


    Private Function addition(ByVal chiffre1 As Integer, ByVal chiffre2 As Integer)
        Dim Resultat As Integer
        If operation = "addition" Then
            Resultat = chiffre1 + chiffre2
        ElseIf operation = "soustraction" Then
            Resultat = chiffre1 - chiffre2
        ElseIf operation = "multiplication" Then
            Resultat = chiffre1 * chiffre2
        ElseIf operation = "division" Then
            Resultat = chiffre1 / chiffre2
        End If
        Return Resultat
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = "le resultat est : " & addition(TextBox1.Text, TextBox2.Text)
        MsgBox(ComboBox1.SelectedItem)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If ComboBox1.SelectedItem = "+" Then
            operation = "addition"
        ElseIf ComboBox1.SelectedItem = "-" Then
            operation = "soustraction"
        ElseIf ComboBox1.SelectedItem = "x" Then
            operation = "multiplication"
        ElseIf ComboBox1.SelectedItem = "/" Then
            operation = "division"
        End If
    End Sub
End Class


A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
30 août 2011 à 00:00
Bonjour,

A quel moment est affecté la valeur de la variable "opération" ?

A 1ère vue, c'est le choix de Combobox1 qui détermine de l'opérateur. C'est donc sur l'évènement click du bouton 1 qu'il faut initialiser "operation" en faisant un contrôle sur le contenu de la sélection du combobox1 pour s'assurer qu'il y a bien un élément sélectionné.

;o)
1
WebAntoine Messages postés 7 Date d'inscription vendredi 16 juillet 2010 Statut Membre Dernière intervention 30 août 2011
30 août 2011 à 10:43
Merci beaucoup !
0
Profil bloqué
30 août 2011 à 00:03
Le VB commence à être bien loin pour moi, cependant, de mémoire, il me semble que tu as oubliés quelques end if là dedans

If operation = "addition" Then
Resultat = chiffre1 + chiffre2
ElseIf operation = "soustraction" Then
Resultat = chiffre1 - chiffre2
ElseIf operation = "multiplication" Then
Resultat = chiffre1 * chiffre2
ElseIf operation = "division" Then
Resultat = chiffre1 / chiffre2
End If

genre

If operation = "addition" Then
Resultat = chiffre1 + chiffre2
ElseIf operation = "soustraction" Then
Resultat = chiffre1 - chiffre2
End If
ElseIf operation = "multiplication" Then
Resultat = chiffre1 * chiffre2
End If
ElseIf operation = "division" Then
Resultat = chiffre1 / chiffre2
End If
End If
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
Modifié par Polux31 le 30/08/2011 à 01:18
Pour info et re mémorisation, la syntaxe If .... Then ... ElseIf ... Then .... ElseIf .... Then .... End If est correct. De plus l'Editeur VB soulève l'erreur de syntaxe et empêche l'exécution du code.

Le problème vient de l'initialisation de la variable "operation".

;o)
0
WebAntoine Messages postés 7 Date d'inscription vendredi 16 juillet 2010 Statut Membre Dernière intervention 30 août 2011
30 août 2011 à 10:40
oui il n'y a pas de probleme de end if
0
Profil bloqué
30 août 2011 à 12:11
Autant pour moi ! :D
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
30 août 2011 à 19:13
Pas de souci Varaldi Q, je l'ai signalé pour info et pour ne pas semer la confusion pour ceux qui rencontreraient le même problème.
0
Profil bloqué
30 août 2011 à 20:23
Oui, c'est cool de l'avoir rappelé ;)
0