Lire ce que tape l'utilisateur
Ton programme peut poser des questions et écouter les réponses !
Rendre ton programme interactif
Jusqu'ici, ton programme faisait des choses avec des valeurs que toi avais écrites dans le code. Mais un vrai programme peut aussi demander des informations à l'utilisateur et réagir en fonction.
Pour lire ce que tape l'utilisateur au clavier, on utilise :
Console.ReadLine()
Premier test : écouter l'utilisateur
Crée un projet TP03-0 et recopie ce code :
using System; class Program { public static void Main(string[] args) { Console.WriteLine("Tape 'bonjour' ci-dessous puis appuie sur Entrée."); string ligne1 = Console.ReadLine(); Console.WriteLine(ligne1); Console.WriteLine("Maintenant tape ce que tu veux !"); string ligne2 = Console.ReadLine(); Console.WriteLine(ligne2); } }
Lance le programme, tape du texte et appuie sur Entrée. Le programme lit ce que tu tapes et le réaffiche ! C'est un écho.
Faire un calcul avec les chiffres tapés
Maintenant on va aller plus loin : demander deux nombres à l'utilisateur et calculer leur somme. Mais attention, Console.ReadLine() renvoie toujours du texte (un string). Il faut d'abord le convertir en nombre avant de calculer !
Crée un projet TP03-1 :
using System; class Program { public static void Main(string[] args) { Console.WriteLine("Entre un premier nombre entier."); string chiffre1 = Console.ReadLine(); Console.WriteLine("Entre un second nombre entier."); string chiffre2 = Console.ReadLine(); // On convertit les textes en nombres entiers int c1 = Convert.ToInt32(chiffre1); int c2 = Convert.ToInt32(chiffre2); int somme = c1 + c2; Console.WriteLine("La somme est égale à " + somme); } }
Pourquoi convertir ?
Si tu tapais 5 au clavier, l'ordinateur reçoit le texte "5" (code ASCII 53). Ce n'est pas la même chose que le nombre 5 ! Convert.ToInt32() fait la conversion pour toi.
Question : Que se passerait-il si tu écrivais var somme = chiffre1 + chiffre2; sans convertir ?
Si tu entres 5 puis 6, tu obtiendrais… "56" ! Parce que + sur deux strings les colle ensemble au lieu de les additionner.
C'est à ton tour !
Tu sais faire la somme. Maintenant modifie le programme pour aussi afficher :
-
La soustraction :
c1 - c2 -
La multiplication :
c1 * c2 -
La division :
c1 / c2
Attention à la division !
En C#, la division entière ignore le reste. Essaie 7 / 2 : tu obtiendras 3 et non 3.5 ! Pour avoir le résultat avec des décimales, il faut utiliser des variables de type double.