Nombre d'armstrong vb6 (source pour débutant)

Description

Ce programme permet de tester si un nombre est un nombre de Armstrong, il permet de calculer également les nombres de Armstrong compris entre 1 et 9999, cette source est commenté pas à pas, idéal pour les débutants en vb6.

Source / Exemple :


Option Explicit 'Permet de contrôler l'existence des variables
Private Sub Command1_Click()
'On dénomme nombre de Armstrong un entier naturel qui est égal
' à la somme des cubes des chiffres qui le composent.
'Exemple:
'153=1^3+5^3+3^3
'153 = 1 + 125 + 27, est un nombre de Armstrong.

'Le textbox est renommé: nbre

'Déclaration des variables mille, centaine, dizaine et unite pour couper le nombre donné
Dim mille As Integer
Dim centaine As Integer
Dim dizaine As Integer
Dim unite As Integer

'Mid(Nomdechaîne, nombre1, nombre2) : renvoie une chaîne, extraite de Nomdechaîne, commençant au caractère numéro nombre1 et faisant nombre2 caractères de long
On Error Resume Next
'On error resume next Permet de sauter la ligne ci-dessous si une erreur se produit, c'est le cas si le nombre entré est inférieur à 1000: le nombre ne peut pas être coupé au chiffre des mille
mille = Mid(nbre.Text, 1, 1)
On Error Resume Next
centaine = Mid(nbre.Text, 2, 1)
On Error Resume Next
dizaine = Mid(nbre.Text, 3, 1)
On Error Resume Next
unite = Mid(nbre.Text, 4, 1)

    If mille ^ 3 + centaine ^ 3 + dizaine ^ 3 + unite ^ 3 = nbre.Text Then 'on effectue le test pour savoir si la somme des cubes des chiffres qui composent le nombre donné est bien égale au nombre donné
     MsgBox nbre.Text + " est bien un nombre de Armstrong", vbInformation, "Résultat" 'condition vérifié
    Else
        MsgBox nbre.Text + " n'est pas un nombre de Armstrong", vbCritical, "Résultat" 'condition non vérifié
    End If

End Sub

Private Sub Command2_Click()
'La listebox est renommé: liste

'Déclaration des variables mille, centaine, dizaine et unite pour couper le nombre donné
Dim mille As Integer
Dim centaine As Integer
Dim dizaine As Integer
Dim unite As Integer

'Création d'une variable qui va prendre toutes les valeurs de 1 à 9999
Dim nbreboucle As Integer

nbreboucle = 1 ' Initialisation de la variable

'Boucle tant que... (Do while...(conditions)...(instructions)...Loop) (elle s'arrète quand nbreboucle atteint 10000)
Do While nbreboucle < 10000
    
    'le contre slash \ permet d'avoir le résultat entier d'une division contrairement au slash / habituel
    mille = nbreboucle \ 1000
    centaine = (nbreboucle - ((nbreboucle \ 1000) * 1000)) \ 100
    dizaine = (nbreboucle - ((nbreboucle \ 100) * 100)) \ 10
    unite = nbreboucle - (((nbreboucle \ 100) * 100) + ((nbreboucle - ((nbreboucle \ 100) * 100)) \ 10) * 10)

        If mille ^ 3 + centaine ^ 3 + dizaine ^ 3 + unite ^ 3 = nbreboucle Then
            Liste.AddItem (nbreboucle) 'condition vérifié on ajoute le nombre dans la liste
        End If
        
    nbreboucle = nbreboucle + 1 'on incrémente nbreboucle de 1
    
Loop

End Sub

Conclusion :


JE CONSEILLE FORTEMENT DE TELECHARGER LE ZIP PLUTOT QUE DE COPIER/COLLER LA SOURCE

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.