Bonjour, j'ai un petit problème, ma console se ferme sans raison.
Voici le code du "démarrage"
Sub question()
Console.WriteLine("A quel e_validité voulez-vous que les nombres s'affiches : (1-10, 1 étant le plus lent.)")
Console.Write("--> ")
Dim e_val = Console.ReadLine()
cond()
End Sub
Et celui du cond()
Sub cond()
Console.Clear()
If Not e_val <> 1 Or e_val <> 2 Or e_val <> 3 Or e_val <> 4 Or e_val <> 5 Or e_val <> 6 Or e_val <> 7 Or e_val <> 8 Or e_val <> 9 Or e_val <> 10 Then
If e_val = 1 Then
val = 100
rdn()
ElseIf e_val = 2 Then
val = 200
rdn()
ElseIf e_val = 3 Then
val = 300
rdn()
ElseIf e_val = 4 Then
val = 400
rdn()
ElseIf e_val = 5 Then
val = 500
rdn()
ElseIf e_val = 6 Then
val = 600
rdn()
ElseIf e_val = 7 Then
val = 700
rdn()
ElseIf e_val = 8 Then
val = 800
rdn()
ElseIf e_val = 9 Then
val = 900
rdn()
ElseIf e_val = 10 Then
val = 1000
rdn()
End If
'rdn()
Else
MsgBox(" ")
Console.Write("Erreur, choix indisponible.")
Console.WriteLine(" ")
System.Threading.Thread.Sleep(1000)
question()
End If
End Sub
Module Module1
Dim random As New Random(), rn1 As Int64
Dim random2 As New Random(), rn2 As Int64
Dim random3 As New Random(), rn3 As Int64
Dim random4 As New Random(), rn4 As Int64
Dim random5 As New Random(), rn5 As Int64
Dim random6 As New Random(), rn6 As Int64
Dim random7 As New Random(), rn7 As Int64
Dim random8 As New Random(), rn8 As Int64
Dim random9 As New Random(), rn9 As Int64
Dim x As String = " & "" & "
Dim val As Int16
Dim e_val
Sub Main()
question()
Console.ReadKey()
End Sub
Sub question()
Console.WriteLine("A quel e_validité voulez-vous que les nombres s'affiches : (1-10, 1 étant le plus lent.)")
Console.Write("--> ")
Dim e_val = Console.ReadLine()
cond()
End Sub
Sub cond()
Console.Clear()
If Not e_val <> 1 Or e_val <> 2 Or e_val <> 3 Or e_val <> 4 Or e_val <> 5 Or e_val <> 6 Or e_val <> 7 Or e_val <> 8 Or e_val <> 9 Or e_val <> 10 Then
If e_val = 1 Then
val = 100
rdn()
ElseIf e_val = 2 Then
val = 200
rdn()
ElseIf e_val = 3 Then
val = 300
rdn()
ElseIf e_val = 4 Then
val = 400
rdn()
ElseIf e_val = 5 Then
val = 500
rdn()
ElseIf e_val = 6 Then
val = 600
rdn()
ElseIf e_val = 7 Then
val = 700
rdn()
ElseIf e_val = 8 Then
val = 800
rdn()
ElseIf e_val = 9 Then
val = 900
rdn()
ElseIf e_val = 10 Then
val = 1000
rdn()
End If
'rdn()
Else
MsgBox(" ")
Console.Write("Erreur, choix indisponible.")
Console.Write(" ")
System.Threading.Thread.Sleep(1000)
question()
End If
End Sub
Sub rdn()
Dim i As Int64 = 0
For i = 1 To 9223372036854775807
rn1 = random.Next(11111111, 99999999)
rn2 = random.Next(11111111, 99999999)
rn3 = random.Next(11111111, 99999999)
rn4 = random.Next(11111111, 99999999)
rn5 = random.Next(11111111, 99999999)
rn6 = random.Next(11111111, 99999999)
rn7 = random.Next(11111111, 99999999)
rn8 = random.Next(11111111, 99999999)
rn9 = random.Next(11111111, 99999999)
Console.WriteLine(rn1 & " " & rn2 & " " & rn3 & " " & rn4 & " " & rn5 & " " & rn6 & " " & rn7 & " " & rn8 & " " & rn9 & " ")
System.Threading.Thread.Sleep(val)
Next
End Sub
End Module
Resterait plus qu'à rendre le code légèrement plus propre :
Utiliser Option Strict On pour voir (et corriger) les erreurs signalées
Ne pas avoir un bazillion de variables "globales" (au module) pour rien
Vérifier la saisie (histoire que ça soit bien un nombre)
Virer cette panoplie de If inutiles quand val vaut toujours e_val * 100 (si e_val est valide)
Un seul objet Random est suffisant pour tout le programme (de même les différents rnX dont on pourrait se passer)
Utiliser Int64.MaxValue (ou Long.MaxValue c'est pareil) au lieu d'un nombre sorti d'on ne sait où qui a justement la même valeur
Accessoirement utiliser le formatage plutôt que la concaténation dans l'affichage (mais ça c'est plus du chipotage)
Censément, quelqu'un de sensé est censé s'exprimer sensément.
Sub en application console
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...