Parenthese en vb.net(calculatrice)
Fermé
bouchrot
Messages postés
351
Date d'inscription
mercredi 12 octobre 2011
Statut
Membre
Dernière intervention
2 janvier 2023
-
17 nov. 2011 à 10:50
bouchrot Messages postés 351 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 - 19 nov. 2011 à 22:04
bouchrot Messages postés 351 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 - 19 nov. 2011 à 22:04
Bonjour,
salut j'ai créer une calculatrice scientifique en vb 2008 contenant le cos, sin, tan, sqrt
mais je n'arrive pas a mettre les parenthèse
s'il vous plait si quelqu'un a une idées merci de me dire comment les faire
salut j'ai créer une calculatrice scientifique en vb 2008 contenant le cos, sin, tan, sqrt
mais je n'arrive pas a mettre les parenthèse
s'il vous plait si quelqu'un a une idées merci de me dire comment les faire
A voir également:
- Parenthese en vb.net(calculatrice)
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Application calculatrice - Télécharger - Calcul & Conversion
- Parenthèse carré - Forum Clavier
- Entre parenthèse clavier - Forum Clavier
- Ma-calculatrice - Télécharger - Calcul & Conversion
5 réponses
ayoami
Messages postés
9
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
20 janvier 2012
1
19 nov. 2011 à 01:38
19 nov. 2011 à 01:38
Tu peux nous donner ton code bien comprendre le probleme ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
17 nov. 2011 à 13:37
17 nov. 2011 à 13:37
Bonjour,
Ça dépend comment tu stocke les données
Tu dis.
A+
Ça dépend comment tu stocke les données
Tu dis.
A+
bouchrot
Messages postés
351
Date d'inscription
mercredi 12 octobre 2011
Statut
Membre
Dernière intervention
2 janvier 2023
6
18 nov. 2011 à 23:53
18 nov. 2011 à 23:53
je vais vous donnez quelque syntaxe de quelque fonctions
Private Sub btnù_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnù.Click
Operation = "%"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = txtaffiche.Text / 100
End Sub
Private Sub btnx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnx.Click
Operation = "x"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 1 / nbr1
End Sub
Private Sub btnsqrt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsqrt.Click
Operation = "sqrt"
nbr1 = CSng(txtaffiche.Text)
Private Sub btnù_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnù.Click
Operation = "%"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = txtaffiche.Text / 100
End Sub
Private Sub btnx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnx.Click
Operation = "x"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 1 / nbr1
End Sub
Private Sub btnsqrt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsqrt.Click
Operation = "sqrt"
nbr1 = CSng(txtaffiche.Text)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 19/11/2011 à 10:18
Modifié par lermite222 le 19/11/2011 à 10:18
En faisant une évaluation directe comme tu le fais avec tes boutons ce sera difficile avec des parenthèses.
J'ai aussi fait une calculatrice, elle n'est pas scientifique mais permet toutes les formules (parenthèses) que l'ont veux.
Je mémorise chaque frappe dans un string, genre ((125 * 12)+15)/125 et quand ont tape la touche égale je l'envoi dans une routine pour évaluation.
Ça permet les deux façons, une directe 2+2 par exemple et (2+2)*5
Tu pourrais aussi combiner les deux en gardant les formules dans tes boutons et en mémorisant le résultat.
Exemple avec touches appuyées..Affichage ... Variable
( .. ( .. (
( .. ( .. ((
2 ..2 .. ((2
* ..* .. ((2*
4.. 8 .. ((8
) .. ) .. (8
et ainsi de suite
Mais moi je préfère saisir tout d'une fois, cela permet à l'utilisateur de rajouter des parenthèses, d'en supprimer ou de corriger facilement sa formule.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
J'ai aussi fait une calculatrice, elle n'est pas scientifique mais permet toutes les formules (parenthèses) que l'ont veux.
Je mémorise chaque frappe dans un string, genre ((125 * 12)+15)/125 et quand ont tape la touche égale je l'envoi dans une routine pour évaluation.
Ça permet les deux façons, une directe 2+2 par exemple et (2+2)*5
Tu pourrais aussi combiner les deux en gardant les formules dans tes boutons et en mémorisant le résultat.
Exemple avec touches appuyées..Affichage ... Variable
( .. ( .. (
( .. ( .. ((
2 ..2 .. ((2
* ..* .. ((2*
4.. 8 .. ((8
) .. ) .. (8
et ainsi de suite
Mais moi je préfère saisir tout d'une fois, cela permet à l'utilisateur de rajouter des parenthèses, d'en supprimer ou de corriger facilement sa formule.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
bouchrot
Messages postés
351
Date d'inscription
mercredi 12 octobre 2011
Statut
Membre
Dernière intervention
2 janvier 2023
6
19 nov. 2011 à 10:55
19 nov. 2011 à 10:55
si tu as déjà fait les parenthèses donne pas syntaxes s'il te plait
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
19 nov. 2011 à 11:12
19 nov. 2011 à 11:12
1°) Ce n'est pas en VB.Net
2°) Je ne vais quand même par te faire ton appli !!, je pense avoir été suffisamment clair dans mon explication, à toi de coder maintenant.
2°) Je ne vais quand même par te faire ton appli !!, je pense avoir été suffisamment clair dans mon explication, à toi de coder maintenant.
bouchrot
Messages postés
351
Date d'inscription
mercredi 12 octobre 2011
Statut
Membre
Dernière intervention
2 janvier 2023
6
19 nov. 2011 à 11:32
19 nov. 2011 à 11:32
désolé j'ai pas compris
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
19 nov. 2011 à 11:58
19 nov. 2011 à 11:58
Un exemple mais uniquement pour l'affichage le code étant en VBA. Et je n'ai pas dû faire la routine d'évaluation, une dll de VBA le fait mais ça ne m'aurais pas poser de problème pour la créer.
En bref, je laisse l'utilisateur remplir la ligne de texte avec sa formule sans rien faire, ce n'est que quand il appuie sur = que j'évalue.
En bref, je laisse l'utilisateur remplir la ligne de texte avec sa formule sans rien faire, ce n'est que quand il appuie sur = que j'évalue.
bouchrot
Messages postés
351
Date d'inscription
mercredi 12 octobre 2011
Statut
Membre
Dernière intervention
2 janvier 2023
6
19 nov. 2011 à 12:01
19 nov. 2011 à 12:01
en tous cas je vais essayez je ne vais pas croisé les mains et merci pour tout
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
19 nov. 2011 à 16:35
19 nov. 2011 à 16:35
Comme dis, La démo
A+
A+
19 nov. 2011 à 10:54
Public Class btn0
Dim nbr1, nbr2 As Single
Dim Operation As String
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "2"
Else
txtaffiche.Text = txtaffiche.Text & "2"
End If
End Sub
Private Sub btnegal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnegal.Click
nbr2 = CSng(txtaffiche.Text)
Select Case Operation
Case "+"
txtaffiche.Text = nbr1 + nbr2
Case "-"
txtaffiche.Text = nbr1 - nbr2
Case "*"
txtaffiche.Text = nbr1 * nbr2
Case "/"
txtaffiche.Text = nbr1 / nbr2
Case "puissance"
txtaffiche.Text = nbr1 ^ nbr2
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Click
End Sub
Private Sub btnmultiplication_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmultiplication.Click
Operation = "*"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 0
End Sub
Private Sub btnul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnul.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "0"
Else
txtaffiche.Text = txtaffiche.Text & "0"
End If
End Sub
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "1"
Else
txtaffiche.Text = txtaffiche.Text & "1"
End If
End Sub
Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "3"
Else
txtaffiche.Text = txtaffiche.Text & "3"
End If
End Sub
Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "4"
Else
txtaffiche.Text = txtaffiche.Text & "4"
End If
End Sub
Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "5"
Else
txtaffiche.Text = txtaffiche.Text & "5"
End If
End Sub
Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "6"
Else
txtaffiche.Text = txtaffiche.Text & "6"
End If
End Sub
Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "7"
Else
txtaffiche.Text = txtaffiche.Text & "7"
End If
End Sub
Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "8"
Else
txtaffiche.Text = txtaffiche.Text & "8"
End If
End Sub
Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
If txtaffiche.Text = "0" Then
txtaffiche.Text = "9"
Else
txtaffiche.Text = txtaffiche.Text & "9"
End If
End Sub
Private Sub btnquitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnquitter.Click
Dim x As Integer
x = MsgBox("voulez vous quitter ?", vbYesNo + vbQuestion)
If x = vbYes Then
End
End If
End Sub
Private Sub btnclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclear.Click
txtaffiche.Text = 0
End Sub
Private Sub btnC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnC.Click
txtaffiche.Text = Len(txtaffiche.Text) - 1
End Sub
Private Sub btnvirgule_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvirgule.Click
If InStr(txtaffiche.Text, ",") = 0 Then
txtaffiche.Text = txtaffiche.Text & ","
End If
End Sub
Private Sub btnaddition_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaddition.Click
Operation = "+"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 0
End Sub
Private Sub btnsoustraction_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsoustraction.Click
Operation = "-"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 0
End Sub
Private Sub btndivision_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndivision.Click
Operation = "/"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 0
End Sub
Private Sub btnneg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnneg.Click
If txtaffiche.Text > 0 Then
txtaffiche.Text = txtaffiche.Text * (-1)
Else
txtaffiche.Text = txtaffiche.Text * 1
End If
End Sub
Private Sub btncos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncos.Click
Operation = "cos"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = Math.Cos(nbr1)
End Sub
Private Sub btnsin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsin.Click
Operation = "sin"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = Math.Cos(nbr1)
End Sub
Private Sub btntan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntan.Click
Operation = "tan"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = Math.Cos(nbr1)
End Sub
Private Sub btnpuissance_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpuissance.Click
Operation = "puissance"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 0
End Sub
Private Sub btnù_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnù.Click
Operation = "%"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = txtaffiche.Text / 100
End Sub
Private Sub btnx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnx.Click
Operation = "x"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 1 / nbr1
End Sub
Private Sub btnsqrt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsqrt.Click
Operation = "sqrt"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = (Math.Sqrt(nbr1))
End Sub
Private Sub btn10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn10.Click
Operation = "Puis"
nbr1 = CSng(txtaffiche.Text)
txtaffiche.Text = 10 ^ txtaffiche.Text
End Sub
Private Sub fact_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles fact.Click
Operation = "fact"
nbr1 = CSng(txtaffiche.Text)
If nbr1 < 0 Then
txtaffiche.Text = "erreur"
Else
Dim i As Integer
For i = 1 To nbr1
nbr1 = nbr1 * i
Next i
End If
End Sub
End Class