Résolu Aide sur du VB.net

Statut
N'est pas ouverte pour d'autres réponses.

Hixale

Premium
Inscription
3 Novembre 2015
Messages
221
Réactions
19
Points
2 486
Bonjour, j'aimerais avoir votre aide sur un passage du cours que je ne comprend pas trop



" Lire une valeur en console " il est dis

"Pour lire en mode console, par exemple si vous souhaitez que l'utilisateur saisisse deux nombres que vous additionnerez, il vous faut utiliser la fonction ReadLine(). Nous avions utilisé Read, mais cette fonction lit uniquement un caractère, elle est donc inutile pour les nombres supérieurs à 9."

Code:
Sub Main()

Dim Variable As Integer = 0

Dim Variable2 As Integer = 0


Variable = Console.ReadLine

Variable2 = Console.ReadLine

Console.WriteLine(Variable & "+" & Variable2 & "=" & Variable + Variable2)

Console.ReadLine()

End Sub

Sauf que j'ai essayé de mettre a la place de :

Code:
Variable = Console.ReadLine

Variable2 = Console.ReadLine

J'ai mis:

Code:
Variable = Console.Read

Variable2 = Console.Read

Normalement d'après les explications si je met 8 ou 7 le programme devrais s’exécuter comme ReadLine sauf qu'avec Read le programme se ferme je voulais savoir pourquoi? merci
 

MrHaxFR

Membre
Inscription
11 Février 2014
Messages
226
Réactions
50
Points
16 626
Salut mon ami !

J'ai pas mal de capacité en VB.net, et je pense pouvoir t'aider. (J'kiff ce language)

Mais tu dois vraiment recommencer le cours de zéro. :sick:

Si tu cherches à additionner des nombres, une petite calculatrice seulement pour les additions format console.

Tu as crée deux variables entier qui est = à 0.

Le but c'est que le console lise un par un les chiffres.

Je te fais un code que j'aurais fais à ta place ^^' :

Module Module1

Sub Main()
Dim Variable As Double = 0 'Tu peux laisser Integer c'est pareil pour ton cas.
Dim Variable2 As Double = 0 'Tu peux laisser Integer c'est pareil pour ton cas.
Console.WriteLine("Ma Petite Correction :p MrHaxFR")
Console.WriteLine("Premier nombre")
Variable = Console.ReadLine
Console.WriteLine("Deuxième Nombre")
Variable2 = Console.ReadLine

Console.WriteLine(Variable & "+" & Variable2 & "=" & Variable + Variable2)

Console.Read()
End Sub

End Module

Ici la console t'affichera le résultat. :D

Mais quand tu met Console.Read(), La Console lit tout son contenu. Donc elle s'éteint vu qu'il n'y a plus rien d'autre pour elle. Alors que si tu met Console.ReadLine() Bah la console va lire la ligne et après elle va suivre les autres lignes au fur et à mesure du temps.

Sa casse tout si tu fais :

Sub Main()
Dim Test As Integer = 0

Console.Writeline("Hello World !")

Test = Console.Read()

End Sub

Cela veut dire que Test, veut dire tout le contenu de la console, ce qui est écrit etc.. :x (Tu peux pas faire sa dans un entier ^^')
============================================================
Je te conseille aussi si tu veux réaliser une calculatrice bien fonctionnel de crée une boucle qui vérifie à chaque fois si Variable = Console.Readline (Donc ce que la ligne que la console lit)
Soit un Nombre et pas un "lol" par exemple

Parce que lol + 5 sa veut rien dire.. sa va crée une erreur..
A moins que ton logiciel est du code pour que il reconnaisse lol, par une valeur ect.. Après c'est plus complèxe mdrr :D

Donc pour que la la console verifie ceci tu dois utiliser le code IsNumeric() <-- Est numérique.

Après faut que tu saches comment créer une boucle et utiliser cette commande.. Breff !

J'espère t'avoir aidé ! :D

Cordialement MrHaxFR
 
Dernière édition:

Hixale

Premium
Inscription
3 Novembre 2015
Messages
221
Réactions
19
Points
2 486
Salut mon ami !

J'ai pas mal de capacité en VB.net, et je pense pouvoir t'aider. (J'kiff ce language)

Mais tu dois vraiment recommencer le cours de zéro. :sick:

Si tu cherches à additionner des nombres, une petite calculatrice seulement pour les additions format console.

Tu as crée deux variables entier qui est = à 0.

Le but c'est que le console lise un par un les chiffres.

Je te fais un code que j'aurais fais à ta place ^^' :

Module Module1

Sub Main()
Dim Variable As Double = 0 'Tu peux laisser Integer c'est pareil pour ton cas.
Dim Variable2 As Double = 0 'Tu peux laisser Integer c'est pareil pour ton cas.
Console.WriteLine("Ma Petite Correction :p MrHaxFR")
Console.WriteLine("Premier nombre")
Variable = Console.ReadLine
Console.WriteLine("Deuxième Nombre")
Variable2 = Console.ReadLine

Console.WriteLine(Variable & "+" & Variable2 & "=" & Variable + Variable2)

Console.Read()
End Sub

End Module

Ici la console t'affichera le résultat. :D

Mais quand tu met Console.Read(), La Console lit tout son contenu. Donc elle s'éteint vu qu'il n'y a plus rien d'autre pour elle. Alors que si tu met Console.ReadLine() Bah la console va lire la ligne et après elle va suivre les autres lignes au fur et à mesure du temps.

Sa casse tout si tu fais :

Sub Main()
Dim Test As Integer = 0

Console.Writeline("Hello World !")

Test = Console.Read()

End Sub

Cela veut dire que Test, veut dire tout le contenu de la console, ce qui est écrit etc.. :x (Tu peux pas faire sa dans un entier ^^')
============================================================
Je te conseille aussi si tu veux réaliser une calculatrice bien fonctionnel de crée une boucle qui vérifie à chaque fois si Variable = Console.Readline (Donc ce que la ligne que la console lit)
Soit un Nombre et pas un "lol" par exemple

Parce que lol + 5 sa veut rien dire.. sa va crée une erreur..
A moins que ton logiciel est du code pour que il reconnaisse lol, par une valeur ect.. Après c'est plus complèxe mdrr :D

Donc pour que la la console verifie ceci tu dois utiliser le code IsNumeric() <-- Est numérique.

Après faut que tu saches comment créer une boucle et utiliser cette commande.. Breff !

J'espère t'avoir aidé ! :D

Cordialement MrHaxFR

Salut j'ai trouvé ma réponse sur un autre forum et grâce à lui j'ai tout compris et plus la tienne de réponse ça me confirme bien merci à toi ;)
j'aurais une autres question à poser si ça te dérange pas :) ?
 

Hixale

Premium
Inscription
3 Novembre 2015
Messages
221
Réactions
19
Points
2 486
quelle est cette question ?




" Explication des boucles

Second élément : une boucle est considérée comme vraie si le booléen correspondant est vrai (souvenez-vous du booléen, un type qui ne peut être que vrai ou faux).

En gros, si j'écris le code suivant :

Code:
Dim x As Integer = 0

If x = 10 Then

End If

… c'est comme si j'écrivais ceci :

Code:
Dim x As Integer = 0

If x = 10 Then

End If

Eh oui, quelle découverte ! Si je place un boolean dans la condition, il est inutile d'ajouter If b = true Then"

J'ai pas très bien compris se passage si quelqu'un pourrai m'aider ;)
 

Ouuuh-Onizuka!

Premium
Inscription
7 Septembre 2013
Messages
385
Réactions
76
Points
14 051
Ouuuh-Onizuka!
Le vb est un language comme un autre, et à une bonne structure.. Chacun son avis.


Hixale peux-tu préciser ce que tu n'as pas compris ?
En fait je suis plus adepte des régionsz définies apr les {} et les () et puis le fameux ; en fin de ligne :D apres je ne critique n rien ce language mais pour moi je préfère son équivalent en .Net, le C#
 

Hixale

Premium
Inscription
3 Novembre 2015
Messages
221
Réactions
19
Points
2 486
Ouuuh-Onizuka!
Le vb est un language comme un autre, et à une bonne structure.. Chacun son avis.


Hixale peux-tu préciser ce que tu n'as pas compris ?
enfaîte jviens de me rendre compte que j'ai mis les deux même codes oh le con! mdrr

jvoulais mettre ça:

Code:
Dim x As Integer = 0
If x = 10 Then
End If

Code:
Dim x As Integer = 0
Dim b As Boolean = false
b = (x = 10)
If b Then
End If

jpense que là ça doit être plus clair LOL ;)
 

Ouuuh-Onizuka!

Premium
Inscription
7 Septembre 2013
Messages
385
Réactions
76
Points
14 051
en fait ça crée la condition a la volée et ne la stock pas, dans le 1 il verifie que x=10 et dans le 2 il met b qui vaut x=10 (donc true ou false) et ensuite verifie sur b=true, donc ça assigne plus de memoire.
Bonne journée
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut