--> mettre un string dans un long

Résolu
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 décembre 2006 - 28 oct. 2006 à 08:08
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 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!

22 réponses

cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 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.")

        'rentrer de valeur

        retry = "oui"
        operateur = "salut"
        num2Exit = "salut"

        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

End Module
<hr size="2" width="100%" />merci!
0
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 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()

        'rentrer de valeur

        retry = "salut"
        operateur = "salut"
        num2Exit = "salut"

        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
0
Rejoignez-nous