A quoi sert les valeurs de retour (Fonction) vb.net [Résolu]

- - Dernière réponse :  Utilisateur anonyme - 2 mai 2017 à 18:09
Bonjour , je voulais savoir qu'est-ce qu'une valeur valeur de retour d'une fonction

dans l'exemple qui met donner

Function Addition(ByVal Valeur1 As Integer, ByVal Valeur2 As Integer) As Integer
Dim Resultat As Integer
'Addition des deux arguments
Resultat = Valeur1 + Valeur2

console.writeline(Resultat)


Return Resultat
End Function


alors que si je fais juste avec


Sub Addition(ByRef valeur As Integer, ByRef valeur2 As Integer)


Dim a As Integer

a = valeur + valeur2

Console.WriteLine(a)

End Sub



ça change rien , du coup je voudrai avoir plus d'infos

merci d'avance
Afficher la suite 

Votre réponse

2 réponses

Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
Bonjour,

Ce code est tiré de ce site, où tout est expliqué!

Que veux-tu que l'on te dise de plus!

On ne peut que te répéter ce qui est expliqué sur ce site.

J'ai suivi tes post depuis le début sans intervenir. Je pense qu'au lieu de lire tout le cours de bout en bout, il serait préférable de commencer à faire quelques programmes simples, et chercher des solutions à chaque fois que tu butes sur un problème. Car c'est en pratiquant que l'on apprend le mieux.

D'autres membres t'ont prodigué les mêmes conseils!

https://openclassrooms.com/courses/apprenez-a-programmer-en-vb-net/les-fonctions-17
Utilisateur anonyme > cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-

Public Function getAgePhrase(ByVal age As Integer) As String
If age > 60 Then Return "Senior"
If age > 40 Then Return "Middle-aged"
If age > 20 Then Return "Adult"
If age > 12 Then Return "Teen-aged"
If age > 4 Then Return "School-aged"
If age > 1 Then Return "Toddler"
Return "Infant"
End Function


ok mais comment je fais pour les afficher ?

le site a l'air d’être bien mais je connais pas encore tout les termes du coup je comprend pas tout
Utilisateur anonyme > Utilisateur anonyme -
et le
Public
je connais pas encore non plus :)
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
> Utilisateur anonyme -
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
> Utilisateur anonyme -
MessageBox.Show(getAgePhrase(15))
Utilisateur anonyme > cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
ok merci :)
Commenter la réponse de cs_Le Pivert
Messages postés
12389
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
Si au lieu de toujours faire comme t'as envie tu commençais par faire ce que dit le cours.

Je cite
Imaginez que vous ayez envie d'une fonction qui effectue un calcul très compliqué ou qui modifie votre valeur d'une certaine manière. Vous voudriez sans doute récupérer la valeur ? C'est ce qu'on appelle le retour :


D'autre part le code du cours est
Function Addition(ByVal Valeur1 As Integer, ByVal Valeur2 As Integer) As Integer

        Dim Resultat As Integer

        'Addition des deux arguments

        Resultat = Valeur1 + Valeur2


        'Renvoie le résultat

        Return Resultat

End Function


Y'a pas de console là.

Pourquoi?
Y'a 9 lignes à lire pour trouver
Resultat = Addition(Valeur1, Valeur2)

et 4 lignes de plus pour une seconde option
Console.WriteLine(Addition(Valeur1, Valeur2))


Il me semble que si tu avais essayé ces codes et pas ta "bricole" en mode pas à pas (comme on te l'a déjà dit maintes fois), il n'y aurait pas lieu de te poser cette question.

Tu aurais vu que
  • la fonction n'affiche rien, son rôle est de faire un calcul et de transmettre le résultat.
  • la somme calculée est soit
    • transmise à la variable Resultat qui appelle la fonction(bon évidement ils ont appelé les 2 variables avec le même nom...)
    • Affichée par un WriteLine qui appelle la fonction (sans ToString, bien sûr, continuons à laisser l'IDE se démerder comme il veut {t'as vu ça ne marchait pas avec les enum de le laisser faire ce qu'il veut...})


Ceci aurait peut être été un poil mieux
Sub Main()
    Dim Resultat as Interger = Addition(1, 2)
    Console.WriteLine(Resultat.ToString())

    Console.Wriline(Addition(3,4).ToString())
End Sub


Function Addition(ByVal Valeur1 As Integer, ByVal Valeur2 As Integer) As Integer

        Dim LeResultat As Integer

        'Addition des deux arguments

        LeResultat = Valeur1 + Valeur2


        'Renvoie le résultat

        Return LeResultat

End Function

Utilisateur anonyme > Utilisateur anonyme -

Sub Main()

Dim a As Integer = Console.ReadLine() 'demande la valeur
Dim b As Integer = Console.ReadLine() 'demande la valeur
Dim c As Integer


addition(a, b) ' appel de la fonction et envoi les valeurs à la fonction

c = addition(a, b) ' reçois et stocke le résultat

console.writeline(c) ' affiche le résultat


Console.Read()

End Sub
Function addition(ByVal Valeur1 As Integer, ByVal Valeur2 As Integer) As Integer

Dim renvoi As Integer

renvoi = Valeur1 + Valeur2 ' calcul les valeurs


Return renvoi ' envoi le résultat

End Function


correct ?
Whismeril
Messages postés
12389
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
> Utilisateur anonyme -
Correct
Utilisateur anonyme > Whismeril
Messages postés
12389
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
ok merci :)
Utilisateur anonyme > Utilisateur anonyme -
cs_ShayW

ok merci :)
cs_ShayW
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
> Utilisateur anonyme -
tu as valeur1 et valeur2 déclaré comme paramètre
Function addition(ByVal valeur As Integer, ByVal valeur2 As Integer) As Integer


et tu as valeur1 et valeur2 qui sont des variables que tu utlises dans l'appelle de ta fonction et évidemment il faut les déclarer
bien qu'ils ont les meme noms
Commenter la réponse de Whismeril

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.