Site:  Cours VB.net  
1.19.4 Contrôle des connaissances.

Combinaisons de variables numériques et de String.

 

Questions:

 

 

4- Combinaison de string et de variables numériques  InputBox MsgBox.

 

4.1 Créer une variable 'x' de type Integer; pour toute valeur de x, afficher dans un label 'Label1' "Le cube de 12  est 1728" (exemple si x=12).

 

4.2 Demander dans une InputBox à l'utilisateur de taper un nombre entier. Multiplier ce nombre par 2, afficher le résultat dans une MessageBox.(avec l'instruction VB MsgBox puis avec la Classe MesssageBox du Framework).

 

4.3 Même chose que l'exercice 4.2 mais afficher uniquement le résultat si l'utilisateur a bien tapé dans la InputBox une valeur numérique. Si la saisie n'est pas numérique une MessageBox doit indiquer 'Erreur de saisie'. 

 

4.4 Même chose que l'exercice 4.2 mais en demandant de taper un nombre avec 2 chiffres après la virgule (Calcul sur des Single). Gérer le fait que l'utilisateur peut se tromper et ne pas employer le bon séparateur décimal (en France s'il tape un point au lieu de la virgule par exemple). Utiliser pour la conversion String vers Single une instruction de conversion spécifique (pas CType).

 

Réponses:

 

 

4- Combinaison de string et de variables numériques InputBox MsgBox.

 

4.1 Créer une variable 'x' de type Integer; pour toute valeur de x afficher dans un label 'Label1' "Le cube de 12  est 1728" (exemple si x=12).

 

Dim X As Integer 

x=12

Label1.text= "Le cube de " & X.ToString & "  est " & (Math.Pow(X , 3).ToString

4.2 Demander dans une InputBox à l'utilisateur de taper un nombre entier. Multiplier ce nombre par 2, afficher le résultat dans une MessageBox (avec l'instruction VB MsgBox puis avec la Classe MesssageBox du Framework).

Dim s as String

Dim i as Integer

s= InputBox ("Test", "Taper un nombre entier") 

i= CType(S, Integer)

i=i*2

MsgBox (i.ToString)

ou 

MessageBox.Show(i.ToString)

L'InputBox retourne une String, il faut la transformer en Integer, effectuer le calcul puis la retransformer en String pour l'afficher.

 

4.3 Même chose que l'exercice 4.2 mais afficher uniquement le résultat si l'utilisateur a bien tapé dans la InputBox une valeur numérique. Si la saisie n'est pas numérique une MessageBox doit indiquer 'Erreur de saisie'. 

Dim s as String

Dim i as Integer

s= InputBox ("Test", "Taper un nombre entier") 

if  IsNumeric (s) Then

    i= CType(S, Integer)

    i=i*2

    MsgBox (i.ToString)

Else

     MsgBox ("Erreur de saisie")

End If

Noter que le code entre If et Else et entre Else et End If est décalé à droite par l'ajout d'espace ou de Tab, ce qui permet une meilleur lecture du code.

4.4 Même chose que l'exercice 4.2 mais en demandant de taper un nombre avec 2 chiffres après la virgule (Calcul sur des Single). Gérer le fait que l'utilisateur peut se tromper et ne pas employer le bon séparateur décimal (en France s'il tape un point au lieu de la virgule par exemple). Utiliser pour la conversion String vers Single une instruction de conversion spécifique (pas CType).

Dim s as String

Dim i as Single

s= InputBox ("Test", "Taper un nombre avec 2 chiffres après la virgule") 

s=s.Replace (".",",")

i= CSng(S)

i=i*2

MsgBox (i.ToString)

Comme le séparateur décimal, sur un ordinateur français (Culture Fr) est le ',', on remplace les points par des virgules avant de convertir en Single.

On remarque que le résultat est affiché avec une virgule car ToString utilise le séparateur de la culture en cours.