Logiciel qui a partir de 2 points donne les coordonnées d'un vec [Résolu]

- 6 févr. 2014 à 21:31 - Dernière réponse :  Zermelo
- 12 févr. 2014 à 14:02
Bonjour a tous je suis nouveau dans le monde de la programmation et comme l'indique le titre je cherche avec visual basic 2010 a crée un logiciel qui en entrant les coordonnées de 2 points renverait les coordonnées du vecteur coorespondant
j'aimerais que mon logiciel ressemble a cela:un bouton calculer et 4 texte box qui permettrai de renter les cordonnées des 2 points et enfin faire ne sorte que si l'utilisateur rentre des lettres au lieu de chiffre un message erreur apparait.
j'ai deja fais un code (je sais pas si c'est trops juste) mais je n'arrive pas a finir au niveau de la formule de la fin ou les soustraction me bloque
si vous pouviez m'aider se serait sympa a vous ;)
merci

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Verification() Then
            Me.reponse.Text = "Les coordonnées du vecteur seront: " & Calcul(Me.Xa, Me.Xb.Text, Me.Ya, Me.Yb) & "?"
        Else
            Me.erreur.Visible = True
        End If

    End Sub
    ''' <summary>
    ''' Vérifie les quatres textbox de la page, regarde si elles sont remplies et si des nombres ont été entrés
    ''' </summary>
    ''' <returns>Vrai si pas d'erreur, faux si une erreur</returns>
    ''' <remarks></remarks>
    Function Verification() As Boolean
        Dim Bon As Boolean = True
        If Me.Xa Is Nothing Or Not IsNumeric(Me.Xa) Then
            Bon = False
        End If
        If Me.Xb Is Nothing Or Not IsNumeric(Me.Xb) Then
            Bon = False
        End If
        If Me.Ya Is Nothing Or Not IsNumeric(Me.Ya) Then
            Bon = False
        End If
        If Me.Yb Is Nothing Or Not IsNumeric(Me.Yb) Then
            Bon = False
        End If
        Return Bon
    End Function

    ''' <summary>
    ''' Calcule les coordonnées d'un vecteur en fonction de Xa, Xb, Ya, et Yb
    ''' </summary>
    ''' <param name="Xa">Xa</param>
    ''' <param name="Xb">Xb</param>
    ''' <param name="Ya">Ya</param>
    ''' <param name="Yb">Yb</param>
    ''' <remarks></remarks>
    Function Calcul(ByVal Xa As Double, ByVal Xb As Double, ByVal Ya As Double, ByVal Yb As Double) As Double
        Dim coordonnées As Double

        coordonnées = (Xa Soustraction Xb) And (Xb - Yb)

        Return coordonnées

    End Function

    Private Function Calcul(ByVal textBox As TextBox, ByVal p2 As String, ByVal textBox1 As TextBox, ByVal textBox2 As TextBox) As String
        Throw New NotImplementedException
    End Function

End Class
Afficher la suite 

Votre réponse

34 réponses

Messages postés
14227
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 6 févr. 2014 à 21:38
0
Merci
Hello,

Je me suis permis d'éditer ton message afin d'ajouter les balises code. On gagne beaucoup en lisibilité. Plus d'infos ici
Commenter la réponse de BunoCS
0
Merci
merci pour cela BrunoCS
aurait tu une idée pour modifier la ligne 44 car je ne sais pas comment symboliser la soustraction et mon probleme est en partie la car sur visual basic a se niveau du code il me dit que que c'est "expected" et je sais pas ce que cela veut dire .
ou alors le problème viendrait de la ligne 41 42
merci
Commenter la réponse de alexfer01
Messages postés
14227
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 6 févr. 2014 à 22:13
0
Merci
Je ne fais pas de VB, mais:
- tu dis que
coordonnées
est un Double. J'en doute...
- une petite faute de frappe. Les coordonnées d'un vecteur sont, si je ne m'abuse:
(Xb - Xa) , (Yb - Ya)
Commenter la réponse de BunoCS
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 févr. 2014 à 22:15
0
Merci
Bonjour,

Qu'est censé faire le AND de ton calcul ?
-> AND permet de faire des tests LOGIQUES
-> Si tu veux faire de la concaténation essayes plutot avec le " & "


Que représente "soustraction" ?
Un " - " ne suffirait pas ?


Commenter la réponse de jordane45
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- Modifié par ucfoutu le 6/02/2014 à 22:28
0
Merci
Bonjour,
J'ai pour ma part des difficultés à comprendre ce que sont les coordonnées d'un vecteur.
Les coordonnées ne peuvent que concerner un point.
Un vecteur est délimité par deux points (donc deux fois des coordonnées).
Que veut alors très exactement dire :
"en entrant les coordonnées de 2 points renverait les coordonnées du vecteur coorespondant"
????
Si ces deux points sont les extrémités, on en connaît déjà, par définition, les coordonnées.
Si ces deux points ne sont pas les extrémités d'un vecteur, ils ne sauraient que permettre de déterminer l'équation linéaire de la droite à laquelle ils appartiennent. Or, une droite est infinie et je vois mal comment on pourrait savoir à quel vecteur de cette droite (elle en comporte une infinité) on pourrait dire que ces deux points appartiennent.
Je suis donc perplexe et crois que tu n'a pas su exposer clairement ton problème. Peux-tu essayer d'être plus précis ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 févr. 2014 à 22:34
Héhéhé... cours de Troisième;..
A moins que je ne me trompe...
Définition
Soit (O, I, J) un repère du plan et A(xA ; yA), B(xB ; yB) deux points du plan. Les coordonnées du vecteur {AB} sont données par la formule :
{AB}=> (xB - xA) ; (yB - yA).
Commenter la réponse de ucfoutu
0
Merci
voila je viens de modifier comme ce que tu as mis BrunoCS mais maintenand une nouvelle erreur s'afiche au niveau de
, (Xb - Yb)
il me dit "end of statement expected" ça veut dir quoi en comment y remédier?
Commenter la réponse de alecfer01
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 6 févr. 2014 à 22:34
0
Merci
Bonsoir,

Concernant le code :
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
De plus, retire l'import automatique de l'espace de nom "Microsoft.VisualBasic" (onglet "Références" dans les propriétés du projet).

Ensuite, corriges un peu ton code :
IsNumeric -> Double.TryParse (ou Integer.TryParse, ...)
Commenter la réponse de NHenry
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 févr. 2014 à 22:40
0
Merci
Perso, pour le retour de la fonction j'utiliserai STRING.


Et pour le "calcul".. un truc du genre :
Co1 = xb - xa
Co2 = yb - ya
Coordonnees = Co1 & "," & Co2



Commenter la réponse de jordane45
0
Merci
salut a tous en effet je viens d'esayer ta solution jordane45 qui est apparament juste mais juste comme dans mon code avant je n'ai jamais utilisé Co1 et Co2 il me met un message d'erreur que ce n'est pas declared donc ou faut t'il que je rajoute c'est deux variable
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 févr. 2014 à 23:36
au même endroit que coordonnees...
j'ai mis ça
coordonnées = Xb - Xa & "," & Yb - Ya
je pense que cela revient a la meme chose
apparament cela marche mais quand je teste mon programme quand j'appui sur le bouton calcul rien ne se passe
que doit je faire
merci encore pour ton aide
Commenter la réponse de alecfer01
0
Merci
HHenry je n'ai pas tout a fait saisi ce que vous vouliez dire par

En VB.NET pensez à activer "Option Explicit" et "Option Strict"
De plus, retire l'import automatique de l'espace de nom "Microsoft.VisualBasic" (onglet "Références" dans les propriétés du projet).

j'ai une version anglaise et malheureusement je ne trouve pas cet onglet
de plus ou activetons "Option Explicit" et "Option Strict"
merci de votre aide
Commenter la réponse de alecfer01
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- Modifié par cs_ShayW le 7/02/2014 à 00:22
0
Merci
Bonjour
le tool bar
project ->en bas properties> compile
et change option strict ON et option explicit On
ensuite tu as l'onglet reference clique dessus
dans la listbox en bas tu as une liste des réferences coché
décoche microsoft visual basic


isnumeric n'est pas utilisé en vb.net
tu as le integer.tryparse qui converti un string en integer si
celui ci est numerique
ex 
dim ref as integer

if interger.tryparse("2233",ref) then

else

end if
Ok merci j'ai trouve option infer doit'il être sur off ou on d'ordinaine il est sur on
Commenter la réponse de cs_ShayW
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- 7 févr. 2014 à 00:30
0
Merci
aussi je te conseille de suivre ce cours

http://plasserre.developpez.com/cours/vb-net/
bon courage
Commenter la réponse de cs_ShayW
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- Modifié par ucfoutu le 7/02/2014 à 06:29
0
Merci
Excusez-moi, mais je reste "largué".
S'agit-il ?
1) de la recherche de la méthode/calculs mathématique adaptée ?
Et dans ce cas : impossible de répondre si n'est pas définie la "correspondance" en cause, qui peut être le résultat, entre autres, d'une projection (d'un type défini), d'une translation, d'une rotation, d'une homothétie, etc ...)
2) si ce n'est pas le point 1) qui pose problème :
----a) est-ce l'écriture des instructions pour appliquer ces calculs (donc déjà arrêtés et connus, quel que soit leur objet), qui pose problème ?
pourquoi alors avoir même parlé d'autres choses que d'opérations à écrire en code (qu'elles concernent ou non des vecteurs) ?
----b) est-ce simplement une représentation visuelle du résultat final sous forme d'une chaîne de caractères concaténant divers résultats et des signes (parenthèses, virgule) , qui pose problème ?
et dans ce cas, la question aurait simplement être "comment construire une chaîne de caractères composée de valeurs de variables et d'autres caractères ?"; sans même parler de calculs et encore moins de vecteurs


PS : en informatique, on utilise en général une structure pour définir un vecteur

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
0
Merci
re a tous en fait je veux simplement calculer a partir de 2 points donnés les coordonnées d'un vecteur
en gros j'ai réaliser ce programme sur une calculette
en definissant
4 variable
et le calul Xa-Ya et Xb-Yb
et ça sort le resultat sous la forme
coordonnées du vecteur (X;Y)
Commenter la réponse de alexfer01
0
Merci
j'ai donc aprés modification obtenu se code mais le message erreur reste en permanence afficher comme pour Les coordonnées du vecteur seront:
et de plus quand je clique sur calculer rien ne se passe
Commenter la réponse de alexfer01
0
Merci
j'ai maintenad ce code

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Verification() Then
Me.reponse.Text = "Les coordonnées du vecteur seront: " & Calcul(Me.Xa, Me.Xb.Text, Me.Ya, Me.Yb) & "?"
Else
Me.erreur.Visible = True
End If

End Sub
''' <summary>
''' Vérifie les quatres textbox de la page, regarde si elles sont remplies et si des nombres ont été entrés
''' </summary>
''' <returns>Vrai si pas d'erreur, faux si une erreur</returns>
''' <remarks></remarks>
Function Verification() As Boolean
Dim Bon As Boolean = True
If Me.Xa Is Nothing Or Not IsNumeric(Me.Xa) Then
Bon = False
End If
If Me.Xb Is Nothing Or Not IsNumeric(Me.Xb) Then
Bon = False
End If
If Me.Ya Is Nothing Or Not IsNumeric(Me.Ya) Then
Bon = False
End If
If Me.Yb Is Nothing Or Not IsNumeric(Me.Yb) Then
Bon = False
End If
Return Bon
End Function

''' <summary>
''' Calcule les coordonnées d'un vecteur en fonction de Xa, Xb, Ya, et Yb
''' </summary>
''' <param name="Xa">Xa</param>
''' <param name="Xb">Xb</param>
''' <param name="Ya">Ya</param>
''' <param name="Yb">Yb</param>
''' <remarks></remarks>
Function Calcul(ByVal Xa As Double, ByVal Xb As Double, ByVal Ya As Double, ByVal Yb As Double) As Double
Dim coordonnées
coordonnées = Xb - Xa & "," & Yb - Ya
Return CDbl(coordonnées)

End Function

Private Function Calcul(ByVal textBox As TextBox, ByVal p2 As String, ByVal textBox1 As TextBox, ByVal textBox2 As TextBox) As String
Throw New NotImplementedException
End Function

End Class
Commenter la réponse de alexfer01
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 7 févr. 2014 à 19:49
0
Merci
Désolé, mais je persiste et signe à ne pas comprendre :
"en fait je veux simplement calculer a partir de 2 points donnés les coordonnées d'un vecteur"
les coordonnées de QUEL vecteur ? défini comment ?
Ou je suis complètement débile, ou ... (!!!) ...
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 7 févr. 2014 à 20:21
0
Merci
Et lorsque je lis ceci :
Function Calcul(ByVal Xa As Double, ByVal Xb As Double, ByVal Ya As Double, ByVal Yb As Double) As Double
Dim coordonnées
coordonnées = Xb - Xa & "," & Yb - Ya
Return CDbl(coordonnées)

j'ai un oeil qui "joue à belbètche" et l'autre qui "marque les points" !
(un salut amical à ceux qui connaissent cette expression bien de chez moi ! Ils sont aujourd'hui probablement très peu nombreux, pour ne pas dire extrêmement rares).

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 7 févr. 2014 à 20:45
Autrement dit : tu veux définir une machine qui ferait des cacahuètes en y traitant des courges et des carottes que tu transformerais en citron !
Commenter la réponse de ucfoutu
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 7 févr. 2014 à 20:46
0
Merci
Je ne comprends toujours pas où est la difficulté..

Je t'ai demandé de transformer le retour de ta fonction en STRING ...

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.reponse.Text = "Les coordonnées du vecteur seront: " & Calcul(Me.Xa.Text, Me.Xb.Text, Me.Ya.Text, Me.Yb.Text) & "?"

    End Sub


    Function Calcul(ByVal Xa, ByVal Xb, ByVal Ya, ByVal Yb) As String
        Dim coordonnees As String
        coordonnees = (Xb - Xa) & "," & (Yb - Ya)
        Return coordonnees
    End Function


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Verification() Then
Me.reponse.Text = "Les coordonnées du vecteur seront: " & Calcul(Me.Xa.Text, Me.Xb.Text, Me.Ya.Text, Me.Yb.Text) & "?"
Else
Me.erreur.Visible = True
End If

End Sub
''' <summary>
''' Vérifie les quatres textbox de la page, regarde si elles sont remplies et si des nombres ont été entrés
''' </summary>
''' <returns>Vrai si pas d'erreur, faux si une erreur</returns>
''' <remarks></remarks>
Function Verification() As Boolean
Dim Bon As Boolean = True
If Me.Xa Is Nothing Or Not IsNumeric(Me.Xa) Then
Bon = False
End If
If Me.Xb Is Nothing Or Not IsNumeric(Me.Xb) Then
Bon = False
End If
If Me.Ya Is Nothing Or Not IsNumeric(Me.Ya) Then
Bon = False
End If
If Me.Yb Is Nothing Or Not IsNumeric(Me.Yb) Then
Bon = False
End If
Return Bon
End Function

FunctioN
'Calcul'(ByVal 'Xa', ByVal 'Xb', ByVal 'Ya', ByVal 'Yb') As String
Dim coordonnées As String
coordonnées = ('Xb' - 'Xa') & "," & ('Yb' - 'Ya')
Return coordonnées

End Function

Private Function Calcul(ByVal textBox As TextBox, ByVal p2 As String, ByVal textBox1 As TextBox, ByVal textBox2 As TextBox) As String
Throw New NotImplementedException
End Function

Private Function Calcul(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String, ByVal p4 As String) As String
Throw New NotImplementedException
End Function

End Class

COMME CELA
Commenter la réponse de jordane45
0
Merci
Bonjour a tous,
Juste pour info, a tout ceux qui possède le framework 4.5,
la structure vector est dédié a cela (elle fonctionne avec des Double)

http://msdn.microsoft.com/en-us/library/system.windows.vector(v=vs.110).aspx

La structure Point, quand a elle ne se limite qu'au integer

http://msdn.microsoft.com/fr-fr/library/system.drawing.point(v=vs.110).aspx

mais les méthodes des 2 structures sont complémentaires en vérifiant bien la précision des résultats voulus


A signaler aussi la fonction ToString
Dim vector1 As New Vector(20, 30)

' vectorString is equal to "20,30".
Dim stringResult As String = vector1.ToString()
Commenter la réponse de cgsi3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.