Bonsoir tout le monde
Après une longue absence pour faire un peu de c++, j'ai presque tout oublié des bases de VB.Net.
J'ai besoin de votre aide:
Quand je tape un entier positif: ça marche
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 Module Module1 Sub Main() Dim n As String Dim facto As Long = 1 Do Console.WriteLine("taper un nombre positif") n = Console.ReadLine Loop While (Not IsNumeric(n) Or n < 0) For i As Integer = 1 To n facto *= i Next Console.WriteLine(facto) Console.ReadKey() End Sub End Module
tant que je tape un entier négatif: je reste dans la boucle
mais quand je tape une lettre: j'ai une erreur à ce niveau " Loop While (Not IsNumeric(n) Or n < 0)"
le message d'erreur est: La conversion de la chaîne "k" en type 'Double' n'est pas valide'.
NB: Quand j'écris " Loop While (Not IsNumeric(n)" sans "or n<0" ça marche
Je n'arrive pas à savoir où est l'erreur
Merci à vous








Répondre avec citation


) mais dans un cas comme dans l'autre ça ne conviendra pas car tu ne souhaites pas vérifier si l'une OU l'autre des conditions est vérifiée mais si les deux (autrement dit si l'une ET l'autre) sont vérifiées 
Partager