cs_mathben
Messages postés30Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention10 décembre 2006
-
28 oct. 2006 à 08:08
cs_mathben
Messages postés30Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention10 décembre 2006
-
28 oct. 2006 à 23:50
Bonjour, j'ai continé mon code d'un autre question
Bien, je veux rajouter plein de petite affaire. Je veux que la personne quitte le programme lorsqu'il écrit exit lorsqu'il à la chance (si je trouve comment répondre à ma question du sujet, je pourrais le mettre au début lorsqu'on rentre les variables)
Si l'utilisateur est tanné de réessayer de trouver ça réponse, il a juste à écrire : exit
et l'application se ferme! Ce sera merveilleux!
Voici mon code. En même, dites moi si il est clair!
------------------------------------------------------------------------------------------------------------------------------------
Module formatif9no4
'le programme demande à la personne d'entrée une opération arithmétique et la réponse par la suite et évalue ça réponse.
Sub Main()
Dim num1, num2, reponseEnfant, reponse As Long
Dim retry, operateur As String
Dim affirm As Byte
Console.WriteLine("Bonjour petit, rentre un nombre, un opérateur arithmétique (+,-,*,/), un ")
Console.WriteLine("deuxième nombre puis la réponse à ton opération!")
Console.WriteLine("Vous pouvez arrêter l'application à tout moment si vous écrivez exit")
'rentré de valeur
Do
Console.Write("Le premier nombre est : ")
num1 = CLng(Console.ReadLine())
Console.Write("L'opérateur est : ")
operateur = Console.ReadLine()
Console.Write("Le deuxième nombre est : ")
num2 = CLng(Console.ReadLine())
retry = "oui"
'vérification de l'opérateur
Do While operateur <> "+" And operateur <> "-" And operateur <> "*" And operateur <> "/" And operateur <> "exit"
Console.WriteLine()
Console.WriteLine("Vous n'avez pas écrit un bon opérateur d'algorithme.")
Console.WriteLine("Veuillez choisir soit +,-,/,*")
operateur = Console.ReadLine()
If operateur = "exit" Then
affirm = 9
retry = "non"
reponse = 10
reponseEnfant = 1
End If
Loop
'entrer de la réponse de la personne
If operateur <> "exit" Then
Console.Write("La réponse de " & num1 & operateur & num2 & " =")
reponseEnfant = CLng(Console.ReadLine())
End If
'calcule de la réponse dépendant de l'opérateur obtenue
Select Case operateur
Case "+"
reponse = num1 + num2
Case "*"
reponse = num1 * num2
Case "/"
reponse = CLng(num1 / num2)
Case "-"
reponse = num1 * num2
End Select
'vérification de la réponse de la personne
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine("Bravo, tu as trouvé la réponse!")
ElseIf affirm = 9 Then 'ici, on remarque que la personne a écrit exit
ElseIf reponseEnfant <> reponse Then
affirm = 0
End If
'recommencement si la personne à une erreur (il peut recommencer 7 autres fois)
Do While affirm < 7
Console.WriteLine("Mauvaise réponse, recommencez.")
Console.WriteLine("Il te reste " & 7 - affirm & " chance(s).")
Console.WriteLine()
Console.Write("La réponse est : ")
reponseEnfant = CLng(Console.ReadLine()) 'si la personne écrivait ici exit que le programme se ferme, je serai heureux!
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine("Bravo, tu as trouvé la réponse!")
Else
affirm = CByte(affirm + 1)
End If
Loop
'vérification si la personne a échoué ses 8 chances
If affirm = 7 Then
Console.WriteLine()
Console.WriteLine("Vous avez fait trop d'erreur. Allez vous renseigner")
Console.WriteLine("Votre équation était : " & num1 & operateur & num2 & "=" & reponse)
End If
'recommencement du programme
If retry <> "non" Then
Console.WriteLine()
Console.WriteLine("Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
Do While retry <> "oui" And retry <> "non"
Console.WriteLine("Vous avez faire une erreur. Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
Loop
End If
Loop While retry = "oui"
End Sub
End Module
---------------------------------------------------------------------------------------------------------------------------
merci beaucoup!
cs_mathben
Messages postés30Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention10 décembre 2006 28 oct. 2006 à 23:10
En passant, mortalino
Do While Not IsNumeric(CStr(num1Exit)) And num1Exit <> "exit"
' *** apres le And, c'est inutile (le And num1Exit <> "exit") ***
je doit le mettre car sinon, si tu écris exit, le programme va te dire que tu n'as pas entré de nombre
il a raison, mais je veux qu'il considère exit comme un autre possibilité.
merci
Maintenant, si tout est beau, je vais rajouter l'option retry, la personne peut recommencer le programme quand il veut juste en écrivant retry!
En passant, savez-vous comment rajouter le nombre de ligne sur le coté dans le programme? (dans vb.net)
merci
<hr size="2" width="100%" />Module formatif9no4
'le programme demande à la personne d'entrée une opération arithmétique et la réponse par la suite et évalue ça réponse.
Sub Main()
Dim num1 As Long, num2 As Long, reponseEnfant As Long, reponse As Long
Dim retry As String, operateur As String, num1Exit As String, num2Exit As String, reponseEnfantExit As String
Dim affirm As Byte
Console.WriteLine("Bonjour petit, rentre un nombre, un opérateur arithmétique (+,-,*,/), un ")
Console.WriteLine("deuxième nombre puis la réponse à ton opération!")
Console.WriteLine("Vous pouvez arrêter l'application à tout moment si vous écrivez exit.")
Do
Console.Write("Le premier nombre est : ")
num1Exit = Console.ReadLine()
num1Exit = num1Exit.ToLower()
Do While Not IsNumeric(CStr(num1Exit)) And num1Exit <> "exit"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("Le premier nombre est : ")
num1Exit = Console.ReadLine()
num1Exit = num1Exit.ToLower()
Loop
If num1Exit = "exit" Then
affirm = 9
retry = "non"
Else
num1 = CLng(num1Exit)
End If
If num1Exit <> "exit" Then
Console.Write("L'opérateur est : ")
operateur = Console.ReadLine()
operateur = operateur.ToLower()
If operateur = "exit" Then
affirm = 9
retry = "non"
Else
Console.Write("Le deuxième nombre est : ")
num2Exit = Console.ReadLine()
num2Exit = num2Exit.ToLower()
Do While Not IsNumeric(CStr(num2Exit)) And num2Exit <> "exit"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("Le deuxième nombre est : ")
num2Exit = Console.ReadLine()
num2Exit = num2Exit.ToLower()
Loop
If num2Exit = "exit" Then
affirm = 9
retry = "non"
Else
num2 = CLng(num2Exit)
End If
End If
End If
'vérification de l'opérateur
If num1Exit <> "exit" And num2Exit <> "exit" Then
Do While operateur <> "+" And operateur <> "-" And operateur <> "*" And operateur <> "/" And operateur <> "exit"
Console.WriteLine()
Console.WriteLine("Vous n'avez pas écrit un bon opérateur d'algorithme.")
Console.WriteLine("Veuillez choisir soit +,-,/,*")
operateur = Console.ReadLine()
operateur = operateur.ToLower()
If operateur = "exit" Then
affirm = 9
retry = "non"
End If
Loop
End If
'entrer de la réponse de la personne
If operateur <> "exit" And num1Exit <> "exit" And num2Exit <> "exit" Then
Console.Write("La réponse de " & num1 & operateur & num2 & "=")
reponseEnfantExit = Console.ReadLine()
Do While Not IsNumeric(CStr(reponseEnfantExit)) And reponseEnfantExit <> "exit"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("La réponse de " & num1 & operateur & num2 & "=")
reponseEnfantExit = Console.ReadLine()
reponseEnfantExit = reponseEnfantExit.ToLower()
Loop
If reponseEnfantExit = "exit" Then
affirm = 9
retry = "non"
Else
reponseEnfant = CLng(reponseEnfantExit)
End If
End If
'calcule de la réponse dépendant de l'opérateur obtenue
Select Case operateur
Case "+"
reponse = num1 + num2
Case "*"
reponse = num1 * num2
Case "/"
reponse = CLng(num1 / num2)
Case "-"
reponse = num1 - num2
End Select
'vérification de la réponse de la personne
If num1Exit <> "exit" And operateur <> "exit" And num2Exit <> "exit" Then
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine("Bravo, tu as trouvé la réponse!")
ElseIf reponseEnfant <> reponse Then
affirm = 0
End If
End If
'recommencement si la personne à une erreur (il peut recommencer 7 autres fois)
Do While affirm < 7
Console.WriteLine("Mauvaise réponse, recommencez.")
Console.WriteLine("Il te reste " & 7 - affirm & " chance(s).")
Console.WriteLine()
Console.Write("La réponse est : ")
reponseEnfantExit = Console.ReadLine()
Do While Not IsNumeric(CStr(reponseEnfantExit)) And reponseEnfantExit <> "exit"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("La réponse est : ")
reponseEnfantExit = Console.ReadLine()
reponseEnfantExit = reponseEnfantExit.ToLower()
Loop
If reponseEnfantExit = "exit" Then
affirm = 9
Else
reponseEnfant = CLng(reponseEnfantExit)
End If
If affirm <> 9 Then
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine()
Console.WriteLine("Bravo, tu as trouvé la réponse!")
Else
affirm = CByte(affirm + 1)
End If
End If
Loop
'vérification si la personne a échoué ses 8 chances
If affirm = 7 Then
Console.WriteLine()
Console.WriteLine("Vous avez fait trop d'erreur. Allez vous renseigner")
Console.WriteLine("Votre équation était : " & num1 & operateur & num2 & "=" & reponse)
End If
'recommencement du programme
If retry <> "non" Then
Console.WriteLine()
Console.WriteLine("Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
retry = retry.ToLower()
Do While retry <> "oui" And retry <> "non"
Console.WriteLine("Vous avez faire une erreur. Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
retry = retry.ToLower()
Loop
End If
Loop While retry = "oui"
End Sub
cs_mathben
Messages postés30Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention10 décembre 2006 28 oct. 2006 à 23:50
J'ai rajouté plein de nouvelles affaire (au début) et l'option retry.
Vous aimez ça?
merci beaucoup, je suis maintenant capable de faire un programme qui a de l'allure (en mode console).
si vous rajoutez des commentaires, vous renforcez mon programme, vous êtes gentil!
alors, est-ce que le programme est bien structuré?
vous voyez des erreurs?
<hr size="2" width="100%" />Module formatif9no4
'le programme demande à la personne d'entrée une opération arithmétique et la réponse par la suite et évalue ça réponse.
Sub Main()
Dim num1 As Long, num2 As Long, reponseEnfant As Long, reponse As Long
Dim retry As String, operateur As String, num1Exit As String, num2Exit As String, reponseEnfantExit As String
Dim affirm As Byte
Console.WriteLine("Bonjour, ce programme vous aide à calculer une opération arithmétique")
Console.WriteLine("Vous devez entrer votre équation et par la suite la résoudre.")
Console.WriteLine("Vous avez en tout huit chances, par la suite, il vous donne la réponse.")
Console.WriteLine()
Console.WriteLine("Premièrement, entrez votre premier chiffre et appuyez sur la touche entrée.")
Console.WriteLine("Deuxièmement, entrez un opérateur arithmétique (+ ou - ou * ou /) et appuyez")
Console.WriteLine("sur la touche entrée.")
Console.WriteLine("Troisièmement, entrez votre deuxième chiffre et appuyez sur la touche entrée.")
Console.WriteLine("Lorsque toutes les étapes précédantes seront faites correctement, vous verrez")
Console.WriteLine("votre équation. Vous devez y répondre avec un chiffre. Vous devez utiliser ")
Console.WriteLine("les virgules pour un nombre à virgule.")
Console.WriteLine()
Console.WriteLine("Vous pouvez arrêter l'application à tout moment si vous écrivez exit.")
Console.WriteLine("Pour recommencer l'application, il suffit d'écrire retry.")
Console.WriteLine()
Do
Console.Write("Le premier nombre est : ")
num1Exit = Console.ReadLine()
num1Exit = num1Exit.ToLower()
Do While Not IsNumeric(CStr(num1Exit)) And num1Exit <> "exit" And num1Exit <> "retry"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("Le premier nombre est : ")
num1Exit = Console.ReadLine()
num1Exit = num1Exit.ToLower()
Loop
If num1Exit = "exit" Then
affirm = 9
retry = "non"
ElseIf num1Exit = "retry" Then
affirm = 9
retry = "oui"
Else
num1 = CLng(num1Exit)
End If
If num1Exit <> "exit" And num1Exit <> "retry" Then
Console.Write("L'opérateur est : ")
operateur = Console.ReadLine()
operateur = operateur.ToLower()
If operateur = "exit" Then
affirm = 9
retry = "non"
ElseIf operateur = "retry" Then
affirm = 9
retry = "oui"
Else
Console.Write("Le deuxième nombre est : ")
num2Exit = Console.ReadLine()
num2Exit = num2Exit.ToLower()
Do While Not IsNumeric(CStr(num2Exit)) And num2Exit <> "exit" And num2Exit <> "retry"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("Le deuxième nombre est : ")
num2Exit = Console.ReadLine()
num2Exit = num2Exit.ToLower()
Loop
If num2Exit = "exit" Then
affirm = 9
retry = "non"
ElseIf num2Exit = "retry" Then
affirm = 9
retry = "oui"
Else
num2 = CLng(num2Exit)
End If
End If
End If
'vérification de l'opérateur
If num1Exit <> "exit" And num1Exit <> "retry" And num2Exit <> "exit" And num2Exit <> "retry" Then
Do While operateur <> "+" And operateur <> "-" And operateur <> "*" And operateur <> "/" And operateur <> "exit" And operateur <> "retry"
Console.WriteLine()
Console.WriteLine("Vous n'avez pas écrit un bon opérateur d'algorithme.")
Console.WriteLine("Veuillez choisir soit + ou - ou * ou /")
operateur = Console.ReadLine()
operateur = operateur.ToLower()
If operateur = "exit" Then
affirm = 9
retry = "non"
ElseIf operateur = "retry" Then
affirm = 9
retry = "oui"
End If
Loop
End If
'entrer de la réponse de la personne
If operateur <> "exit" And operateur <> "retry" And num1Exit <> "exit" And num1Exit <> "retry" And num2Exit <> "exit" And num2Exit <> "retry" Then
Console.Write("La réponse de " & num1 & operateur & num2 & "=")
reponseEnfantExit = Console.ReadLine()
Do While Not IsNumeric(CStr(reponseEnfantExit)) And reponseEnfantExit <> "exit" And reponseEnfantExit <> "retry"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("La réponse de " & num1 & operateur & num2 & "=")
reponseEnfantExit = Console.ReadLine()
reponseEnfantExit = reponseEnfantExit.ToLower()
Loop
If reponseEnfantExit = "exit" Then
affirm = 9
retry = "non"
ElseIf reponseEnfantExit = "retry" Then
affirm = 9
retry = "retry"
Else
reponseEnfant = CLng(reponseEnfantExit)
End If
End If
'calcule de la réponse dépendant de l'opérateur obtenue
Select Case operateur
Case "+"
reponse = num1 + num2
Case "*"
reponse = num1 * num2
Case "/"
reponse = CLng(num1 / num2)
Case "-"
reponse = num1 - num2
End Select
'vérification de la réponse de la personne
If num1Exit <> "exit" And num1Exit <> "retry" And operateur <> "exit" And operateur <> "retry" And num2Exit <> "exit" And num2Exit <> "retry" Then
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine("Bravo, tu as trouvé la réponse!")
ElseIf reponseEnfant <> reponse Then
affirm = 0
End If
End If
'recommencement si la personne à une erreur (il peut recommencer 7 autres fois)
Do While affirm < 7
Console.WriteLine()
Console.WriteLine("Mauvaise réponse, recommencez.")
Console.WriteLine("Il te reste " & 7 - affirm & " chance(s).")
Console.WriteLine()
Console.Write("La réponse est : ")
reponseEnfantExit = Console.ReadLine()
Do While Not IsNumeric(CStr(reponseEnfantExit)) And reponseEnfantExit <> "exit" And reponseEnfantExit <> "retry"
Console.WriteLine()
Console.WriteLine("Vous vous êtes trompés, vous n'avez pas entrer de chiffre.")
Console.WriteLine("Veuillez recommencer.")
Console.WriteLine()
Console.Write("La réponse est : ")
reponseEnfantExit = Console.ReadLine()
reponseEnfantExit = reponseEnfantExit.ToLower()
Loop
If reponseEnfantExit = "exit" Then
affirm = 9
retry = "non"
ElseIf reponseEnfantExit = "retry" Then
affirm = 9
retry = "oui"
Else
reponseEnfant = CLng(reponseEnfantExit)
End If
If affirm <> 9 Then
If reponseEnfant = reponse Then
affirm = 8
Console.WriteLine()
Console.WriteLine("Bravo, tu as trouvé la réponse!")
Else
affirm = CByte(affirm + 1)
End If
End If
Loop
'vérification si la personne a échoué ses 8 chances
If affirm = 7 Then
Console.WriteLine()
Console.WriteLine("Vous avez fait trop d'erreur. Allez vous renseigner")
Console.WriteLine("Votre équation était : " & num1 & operateur & num2 & "=" & reponse)
End If
'recommencement du programme
If retry <> "non" And retry <> "oui" Then
Console.WriteLine()
Console.WriteLine("Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
retry = retry.ToLower()
Do While retry <> "oui" And retry <> "non"
Console.WriteLine("Vous avez faire une erreur. Voulez-vous recommencer?")
Console.WriteLine("oui ou non")
retry = Console.ReadLine()
retry = retry.ToLower()
Loop
End If
Console.WriteLine()
Loop While retry = "oui"
End Sub
End Module
<hr size="2" width="100%" />merci, merci, merci beaucoup