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

VB.NET Discussion :

programme equation de 2 eme degré


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 128
    Par défaut programme equation de 2 eme degré
    Bonjour tout le monde;
    je suis un débutant au .NET et je veux réaliser un petit TP.
    j'ai créé une interface qui comporte 3 textbox qui prennent successivement les nom : LBL_premier ,LBL_deuxieme, LBL_troisieme . et 2 label, le premier affiche un texte d'errer si on ne rempli pas les 3 premier textbox et le deuxième affiche la solution .et j'ai mis bien sur un bouton d'action pour qu'on clique au dessus a fin de résoudre l'équation .
    j'ai un problème au niveau de la fonction qui retourne le résultat de la fonction.
    voici le 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Public Class Form1
     
        Private Sub BT_sol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_sol.Click
            If verif() Then
                Me.LBL_result.Text = solution(Me.LBL_premier.Text, Me.LBL_deuxieme.Text, Me.LBL_troisieme.Text)
            Else
                Me.LBL_ERR.Visible = True
            End If
        End Sub
     
        function verif() as boolean 
            Dim rempli As Boolean = True
            If Me.LBL_premier.Text Is Nothing Or Not IsNumeric(Me.LBL_premier.Text) Then
                rempli = False
            End If
            If Me.LBL_deuxieme.Text Is Nothing Or Not IsNumeric(Me.LBL_deuxieme.Text) Then
                rempli = False
            End If
            If Me.LBL_troisieme.Text Is Nothing Or Not IsNumeric(Me.LBL_troisieme.Text) Then
                rempli = False
            End If
            Return rempli
        End Function
        Function solution(ByRef first As Long, ByRef second As Long, ByRef third As Long) As String
            Dim sol1 As Long = 0, sol2 As Long = 0, deltat As Long
            Dim sol3 As String
            deltat = (Math.Pow(second, 2) - (4 * first * third))
            If deltat > 0 Then
                sol1 = (-(second) - (Math.Sqrt(deltat)) / (2 * first))
                sol1 = (-(second) + (Math.Sqrt(deltat)) / (2 * first))
                sol3 = "il y a deux solution possible : " & " " & " X1= " & " " & sol1 & " " & " X2= " & " " & sol2
            Else
                sol3 = " deltat est négative " & deltat & " " & "ya pas de solution "
     
            End If
            Return sol3
     
        End Function
    End Class
    Merci d'avance de m'aider à trouver mon faute .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 148
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If deltat > 0 Then
    sol1 = (-(second) - (Math.Sqrt(deltat)) / (2 * first))
    sol1 = (-(second) + (Math.Sqrt(deltat)) / (2 * first))
    sol3 = "il y a deux solution possible : " & " " & " X1= " & " " & sol1 & " " & " X2= " & " " & sol2
    Pourquoi 2 fois sol1 ? Ce ne serai pas plutôt sol1 puis sol2 non ?

    EDIT : Je crois qu'à Deltat il n'y a pas de "t" à la fin

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 128
    Par défaut Re
    OUi ta raison , ok mis sol2 à la palace de sol1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If delta > 0 Then
    sol1 = (-(second) - (Math.Sqrt(delta)) / (2 * first))
    sol2 = (-(second) + (Math.Sqrt(delta)) / (2 * first))
    sol3 = "il y a deux solution possible : " & " " & " X1= " & " " & sol1 & " " & " X2= " & " " & sol2
    concernant le syntaxe de delta ya pas de souci , avec t ou sans t ca ne pose pas de PB.
    mon PB existe au niveau des types de variables que j'ai déclaré dans la fonction solution., la fonction doit retourner une chaine :
    - s'il y a une solution :"il y a deux solution possible : " & " " & " X1= " & " " & sol1 & " " & " X2= " & " " & sol2
    - s'il n y a pas de solution : "ya pas de solution"
    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 148
    Par défaut
    Je sais bien qu'avec et sans "t" ça ne pose pas de probleme mais je te dit ça pour orthographe ^^

    Sinon, je pense que tu dois avoir une erreur dans la concaténation...

    Essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sol3 = String.Format("il y a deux solutions possibles : X1 = {0} et X2 = {1}", sol1, sol2)

    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sol3 = "il y a deux solution possible : " & " " & " X1= " & " " & sol1 & " " & " X2= " & " " & sol2

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    playfone a raison, un effort pour respecter les conventions, c'est plus lisible.
    LBL pour une TextBox, on pense à un label.
    delta c'est mieux que deltat.
    Employer les parenthèses à bon escient aussi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sol1 = (-second - Math.Sqrt(deltat)) / (2 * first)
    est pour moi plus parlant que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sol1 = (-(second) - (Math.Sqrt(deltat)) / (2 * first))
    Je dis cela dans le sens d'aider et j'espère que tu le prendras ainsi.
    Pour revenir à ton code, je ne vois pas de problème, en changeant "long" par "double".
    "long" est un entier long, donc arrondi à la valeur entière la plus proche (pas de décimales).

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 128
    Par défaut
    OK merci pour vos réponses ,
    j'ai résolu le PB ;
    dans la ligne suivant en haut de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.LBL_result.Text = solution(Me.LBL_premier.Text, Me.LBL_deuxieme.Text, Me.LBL_troisieme.Text)
    j'ai placé un label au lieu d'un texbox sur lequel le résultat s'affiche; c'est une erreur en faite .
    OK, maintenant j'ai rectifié.
    Merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. résolution d'equation de 3 ème degré
    Par nadim22 dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/07/2011, 19h50
  2. programmer equation différentiel sous matlab
    Par alachhab dans le forum MATLAB
    Réponses: 3
    Dernier message: 23/05/2010, 10h01
  3. programme resolution equation en c
    Par superspike23 dans le forum C
    Réponses: 16
    Dernier message: 03/10/2005, 16h43
  4. résolution de equation 2nd degré
    Par isidore dans le forum C
    Réponses: 30
    Dernier message: 29/02/2004, 10h46

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