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
Auteur |
Message |
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Mer 18 Oct 2006 - 21:38 |
|
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. |
|
|
|
|
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
Sexe:
Messages: 126
Localisation: Guingamp
|
Posté le:
Jeu 19 Oct 2006 - 06:35 |
|
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. |
|
|
|
|
Adrien
Accro à Web-IG
Sexe:
Messages: 125
Localisation: Ile-de-France
|
Posté le:
Jeu 19 Oct 2006 - 07:06 |
|
While reponse <> "oui" And reponse <> "stop"
If reponse = "oui" Then
Ca m'a l'air bizzare ça. Cette deuxième boucle est elle utile ? |
|
|
|
|
Yamaneko
Accro à Web-IG
Sexe:
Messages: 182
Localisation: Sais pas
|
Posté le:
Jeu 19 Oct 2006 - 15:40 |
|
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 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
|