C++ Basic Input/Output
Bonjour à tous, futurs programmeurs C++ ! Aujourd'hui, nous allons plonger dans le monde passionnant de l'entrée et de la sortie en C++. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code avant – nous commencerons depuis le début et nous nous dirigerons vers le haut. À la fin de ce tutoriel, vous serez étonné de ce que vous pouvez faire avec seulement quelques lignes de code C++ !
Fichiers d'en-tête de bibliothèque I/O
Avant de pouvoir commencer à imprimer des messages à l'écran ou à lire des entrées de l'utilisateur, nous devons inclure les fichiers d'en-tête nécessaires. En C++, les opérations d'entrée et de sortie sont gérées par la bibliothèque iostream.
Commençons par un exemple simple :
#include <iostream>
int main() {
// Votre code ira ici
return 0;
}
Ceci est la structure de base d'un programme C++. La ligne #include <iostream>
indique au compilateur d'inclure la bibliothèque iostream, ce qui nous donne accès à la fonctionnalité d'entrée et de sortie.
Le Flux de Sortie Standard (cout)
Maintenant, apprenons comment afficher du texte à l'écran. En C++, nous utilisons cout
(prononcé "see-out") pour envoyer la sortie à la console.
#include <iostream>
using namespace std;
int main() {
cout << "Bonjour, Monde !";
return 0;
}
Lorsque vous exécutez ce programme, il affichera "Bonjour, Monde !" à l'écran. Analysons cela :
-
cout
est l'objet de flux de sortie standard. - L'opérateur
<<
est utilisé pour envoyer des données àcout
. - Le texte entre guillemets est appelé une chaîne littérale.
Vous pouvez également utiliser cout
pour imprimer plusieurs éléments :
cout << "Mon nom est " << "Alice" << " et j'ai " << 25 << " ans.";
Cela affichera : "Mon nom est Alice et j'ai 25 ans."
Ajouter une Nouvelle Ligne
Pour passer à une nouvelle ligne après la sortie, vous pouvez utiliser le manipulateur endl
ou le caractère \n
:
cout << "Première ligne" << endl;
cout << "Deuxième ligne\n";
cout << "Troisième ligne" << '\n';
Le Flux d'Entrée Standard (cin)
Maintenant que nous pouvons sortir du texte, apprenons comment obtenir des entrées de l'utilisateur. Nous utilisons cin
(prononcé "see-in") à cette fin.
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Quel âge avez-vous ? ";
cin >> age;
cout << "Vous avez " << age << " ans !" << endl;
return 0;
}
Dans cet exemple :
- Nous déclarons une variable entière
age
pour stocker l'entrée de l'utilisateur. - Nous utilisons
cout
pour demander à l'utilisateur son âge. -
cin >> age
lit un entier de l'utilisateur et le stocke dans la variableage
. - Enfin, nous utilisons
cout
pour afficher le résultat.
Vous pouvez également lire plusieurs entrées :
string name;
int age;
cout << "Entrez votre nom et votre âge : ";
cin >> name >> age;
cout << "Bonjour, " << name << " ! Vous avez " << age << " ans." << endl;
Le Flux d'Erreur Standard (cerr)
Bien que cout
soit génial pour la sortie normale, parfois nous devons afficher des messages d'erreur. C'est là que cerr
entre en jeu. Il est similaire à cout
, mais il est spécifiquement destiné aux messages d'erreur.
#include <iostream>
using namespace std;
int main() {
int denominateur = 0;
if (denominateur == 0) {
cerr << "Erreur : Impossible de diviser par zéro !" << endl;
}
return 0;
}
Utiliser cerr
aide à distinguer entre la sortie normale et les messages d'erreur, ce qui peut être crucial lors du débogage de vos programmes.
Le Flux de Journalisation Standard (clog)
Enfin, nous avons clog
, qui est utilisé pour les messages de journalisation. Il est similaire à cerr
, mais il pourrait être bufféré, ce qui signifie que la sortie pourrait ne pas apparaître immédiatement.
#include <iostream>
using namespace std;
int main() {
clog << "Ceci est un message de journal." << endl;
return 0;
}
Dans la pratique, clog
n'est pas utilisé aussi fréquemment que cout
et cerr
, mais il est bon de savoir qu'il existe.
Formatting Output
Maintenant que nous avons couvert les bases, examinons quelques méthodes pour formater notre sortie pour qu'elle soit plus jolie.
Définir la Largeur du Champ
Vous pouvez utiliser le manipulateur setw
pour définir la largeur d'un champ :
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << setw(10) << "Nom" << setw(5) << "Âge" << endl;
cout << setw(10) << "Alice" << setw(5) << 25 << endl;
cout << setw(10) << "Bob" << setw(5) << 30 << endl;
return 0;
}
Cela produira une sortie bien alignée :
Nom Âge
Alice 25
Bob 30
Précision pour les Nombres Flottants
Pour les nombres flottants, vous pouvez contrôler la précision à l'aide de setprecision
:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double pi = 3.14159265359;
cout << "Pi par défaut : " << pi << endl;
cout << "Pi à 4 décimales : " << fixed << setprecision(4) << pi << endl;
return 0;
}
Sortie :
Pi par défaut : 3.14159
Pi à 4 décimales : 3.1416
Résumé des Objets et Manipulateurs de Flux I/O
Voici un tableau pratique résumant les objets et manipulateurs de flux I/O que nous avons appris :
Object/Manipulator | Description | Exemple |
---|---|---|
cout | Flux de sortie standard | cout << "Bonjour"; |
cin | Flux d'entrée standard | cin >> variable; |
cerr | Flux d'erreur standard | cerr << "Erreur !"; |
clog | Flux de journalisation standard | clog << "Message de journal"; |
endl | Fin de ligne | cout << "Bonjour" << endl; |
setw | Définir la largeur du champ | cout << setw(10) << "Nom"; |
setprecision | Définir la précision des nombres flottants | cout << setprecision(2) << 3.14159; |
Et voilà ! Vous avez juste appris les bases de l'entrée et de la sortie en C++. N'oubliez pas, la pratique fait le maître, donc n'hésitez pas à expérimenter avec ces concepts. Essayez de les combiner de différentes manières, et bientôt vous écrirez des programmes complexes avec facilité.
Bon codage, et que vos sorties soient toujours comme prévu et vos entrées toujours valides !
Credits: Image by storyset