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

Signaler
-
 Utilisateur anonyme -
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

2 réponses

Messages postés
7374
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mai 2021
122
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 >
Messages postés
7374
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mai 2021


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 :)
Messages postés
7374
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mai 2021
122 > Utilisateur anonyme
Messages postés
7374
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mai 2021
122 > Utilisateur anonyme
MessageBox.Show(getAgePhrase(15))
Utilisateur anonyme >
Messages postés
7374
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mai 2021

ok merci :)
Messages postés
15921
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 mai 2021
540
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 ?
Messages postés
15921
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 mai 2021
540 > Utilisateur anonyme
Correct
Utilisateur anonyme >
Messages postés
15921
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 mai 2021

ok merci :)
Utilisateur anonyme > Utilisateur anonyme
cs_ShayW

ok merci :)
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50 > 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