Page principale | Pages associées

La lecture du clavier

Ce deuxième tutorial présente le flux d'entrée (cin) et une classe qui facilite la vie : template<typename _CharT, typename _Traits, typename _Alloc> class basic_string... Nous nous contenterons d'utiliser l'incarnation la plus connue de cette classe, j'ai nommé : string, et c'est plus court à taper de toute façon.

#include <iostream>
Ajoute le cout, cin et toute la famille à notre disposition

#include <string>
définit les classes chaînes

using namespace std;
Permet d'utiliser tout ce qu'il y a dans la boîte

int main()
je ne le repète pas une nouvelle fois, main retourne un int et de toute façon c'est plus court à taper que void (qui de toute façon est faux)

{ // Demander le nom de l'utilisateur cout << "Entrez votre nom : ";
affiche une chaîne sur la sortie (cf. Le classique Hello World )

string name;
définit une chaîne vide sans avoir besoin de l'initialiser. Je rappelle que TOUTES les variables devraient être initialisées à leur déclaration, ça évite des surprises. L'utilisation de char* pour représenter les chaînes en C++ est à mon avis dans tous les cas inutile (ok ok, il y a quelques très très rares exceptions peut être et encore)

cin >> name;
cin est l'équivalent du cout mais pour l'entrée tout ce qui est dans l'entrée standard est dans cin. L'opérateur >> essaye de mettre ce qui est lu dans le flux d'entrée dans la variable qui suit. Ici, c'est pas mal de mettre son prénom par exemple. Info : éviter les espaces, c'est mieux. La raison est hors de propos ici, c'est juste mieux. Remarque : La magie c'est que l'utilisateur peut taper une très longue chaîne, le programmeur n'a pas à se soucier du nombre de caratères entrés (essayez de la faire un C pour voir )

string affiche = "Bonjour " + name;
definit une chaîne qui contient le résultat de "Bonjour " + name L'opérateur + sur les strings permet de concaténer deux chaînes entre elles ou une chaîne avec une chaîne avec une c-chaîne (char*)

cout << affiche << endl;
<< affiche la chaîne 'affiche' sur la sortie standard. L'opérateur << semble pouvoir traiter aussi bien des c-chaînes (char*) ou des objets string C++ Vous pouvez essayer avec les types standards du C++ int, double,... cela fonctionne aussi.

// return 0; // non non, je ne mettrais pas de return }

Ce programme montre l'utilisation du cin qui permet d'entrer des valeurs dans les programmes. Avec des entrées et des sorties, on devrait pouvoir commencer à faire des programmes sympathiques. Il présente aussi très brièvement la classe string. Cette chaîne contient plusieurs méthodes permettant de manipuler les chaînes et d'en extraire des informations. L'opérateur +, l'affectation, l'égalité et la taille sont particulièrement utils.

La suite...


Le source complet :
#include <iostream> #include <string> using namespace std; int main() { // Demander le nom de l'utilisateur cout << "Entrez votre nom : "; string name; cin >> name; string affiche = "Bonjour " + name; cout << affiche << endl; // return 0; // non non, je ne mettrais pas de return }
00001 #include <iostream> 00002 #include <string> 00003 using namespace std; 00004 int main() 00005 { 00006 // Demander le nom de l'utilisateur 00007 cout << "Entrez votre nom : "; 00008 string name; 00009 cin >> name; 00010 string affiche = "Bonjour " + name; 00011 cout << affiche << endl; 00012 // return 0; // non non, je ne mettrais pas de return 00013 }

Dernière modification : Sun Jul 4 20:19:13 2004