Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 Besoin d'être corrigé concernant un code en VB Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Shakan972
Forumeur fréquent
Forumeur fréquent


Ecole d'Ingénieurs

Messages: 67

MessagePosté le: Mer 18 Oct 2006 - 21:38 Répondre en citantRevenir en haut

Bonsoir tout le monde j'aurais besoin de savoir si j'ai bien fait un exercice de programmation donné par mon professeur de développement voiçi l'énoncé :

Ecrire l'algorithme qui calcule et affiche la fonction factorielle d'un nombre.

Plusieurs calculs sont possibles jusqu'à ce que l'utilisateur saisisse STOP.

Vous vérifirai que le nombre saisi est >=0

Donc j'ai fait le programme en VB est j'aimerais savoir si il est correct, voiçi la source :

Code:


Sub main()

Dim nbre_saisi As Single, nbre As Single, i As Integer, reponse As String



While reponse <> "stop"
    nbre = 1
    i = 0
    nbre_saisi = InputBox("Veuillez saisir le nombre afin de calculer sa factorielle : " & Chr(13) & "Attention ! La factorielle d'un nombre négatif ou nul ne peut-être calculée")
    reponse = ""
    If nbre_saisi >= 0 Then
        While i < nbre_saisi
            i = i + 1
            nbre = nbre * i
        Wend
   
    MsgBox nbre_saisi & "! = " & nbre
    Else
        MsgBox "La factorielle d'un nombre négatif ne peut-être calculé"
    End If
   
    reponse = InputBox("Voulez-vous calculer la factorielle d'un autre nombre ?" & Chr(13) & "Tapez oui pour continuer" & Chr(13) & "Tapez stop pour arrêter le programme")
   
    While reponse <> "oui" And reponse <> "stop"
   
        If reponse = "oui" Then
            nbre_saisi = InputBox("Veuillez saisir le nombre afin de calculer sa factorielle : " & Chr(13) & "Attention ! La factorielle d'un nombre négatif ou nul ne peut-être calculée")
        Else
            If reponse = "stop" Then
                MsgBox "Au revoir!"
            Else
                MsgBox "Erreur de saisie"
                reponse = InputBox("Voulez-vous calculer la factorielle d'un autre nombre ?" & Chr(13) & "Tapez oui pour continuer" & Chr(13) & "Tapez stop pour arrêter le programme")
            End If
        End If
    Wend   
Wend
   

End Sub





Je vous remerçie d'avance pour votre aide. Smile
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
Marc3001
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 126
Localisation: Guingamp

MessagePosté le: Jeu 19 Oct 2006 - 06:35 Répondre en citantRevenir en haut

Ca serait peut-être plus clair et plus court et donc plus propre si tu faisais des sous-programmes.

Sinon, ça m'a l'air juste.
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Adrien
Accro à Web-IG
Accro à Web-IG


Post-BTS
Sexe: Sexe:Masculin
Messages: 125
Localisation: Ile-de-France

MessagePosté le: Jeu 19 Oct 2006 - 07:06 Répondre en citantRevenir en haut

While reponse <> "oui" And reponse <> "stop"

If reponse = "oui" Then



Ca m'a l'air bizzare ça. Cette deuxième boucle est elle utile ?
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailMSN MessengerNuméro ICQ
Yamaneko
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 182
Localisation: Sais pas

MessagePosté le: Jeu 19 Oct 2006 - 15:40 Répondre en citantRevenir en haut

pour moi ça m'a l'air bon et créer des sous programmes ne peut qu'améliorer la clarté de ton code ^^

tu peux également créer un appel récursif mais je ne sais plus si en basic c faisable ^^ (en C je te l'aurais fait sans problème mais là...)

_________________
Quoc-Tien (Yamaneko)
EPITA Promo 2010
Theoricien du Rien
Ma devise ? Mettre la lourde...Huuun
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum