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:
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
Quand je tape un entier positif: ça marche
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