Académique Documents
Professionnel Documents
Culture Documents
Expressions et Interactivité
Sommaire
Chapitre 3 – Expressions et Interactivité
L’Objet cin
Expressions Mathematiques
Programmation C++ Conversion de type de données et casting de type
Trop grand et trop petit
Constantes nommées
Affectation multiple et affectation combinée
Par
Siaka Fofana Formattage de l’affichage
fsiaka@hotmail.com Caractères et chaînes de caractères (strings)
Laboratoire des Signaux et Systèmes Utilisation des C-Strings
Quelques fonctions de la Librairie Mathematique
Copyright
Copyright © 2017
© 2014, Siaka
2008 Fofana,
Pearson Laboratoire
Education, des Signaux
Inc. Publishing et Systèmes.
as Pearson Université FHB Côte d’Ivoire
Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
• Objet d’entrée (ou de saisie) standardject • La donnée saisie par l’utilisateur part du clavier vers le
buffer d’entrée, où elle stockée sous forme de caractères
• Comme cout, nécessite le fichier iostream
• cin convertit la donnée vers le type correspondant à la
• Utilisé pour lire (ou saisir) les données à partir du clavier variable
• Souvent utilisé avec cout pour inviter un utilisateur à saisir int hauteur
cout << "Quelle est la hauteur de la chambre? ";
cin >> hauteur;
• Les données sont récupérées à partir de cin avec >>
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
1
Programmation C++ 07/09/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
• Une expression peut être utilisée dans une instruction • Dans une expression avec plus d’un opérateur,
d’affectation, peut être utilisée avec cout et dans
l’évaluation se fait dans l’ordre suivant:
d’autres types d’instructions
( ) expressions entre parenthèses
- (négation unaire) de la gauche vers la droite
• Exemples: Une expression * / % de la gauche vers la droite
aire = 2*PI*radius; + - de la gauche vers la droite
cout << "le primètre est is: " << (2*(lon+lar));
• Dans l’expression 2 + 2 * 2 – 2 ,
Des expressions Evaluer Evaluer Evaluer
en 2ème en 1er en 3ème
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
2
Programmation C++ 07/09/2017
(2 + 2) * 2 – 2 = 6
2 + 2 * (2 – 2) = 2 • Les parenthèses peuvent être nécessaires pour maintenir
(2 + 2) * (2 – 2) = 0 un ordre sur les opérations
y 2 y1 devients
m m = (y2-y1)/(x2-x1);
x 2 x1
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
3
Programmation C++ 07/09/2017
• Forçage: conversion automatique d’un opérande en un 1) char, short, unsigned short sont
automatiquement promus à int
autre type de données
2) Lors d’une opération sur les valeurs des types de
• Promotion: conversion vers une type plus haut dans la données, les plus bas dans la hiérarchie sont promus
hiérarchie vers les plus hauts dans la hiérarchie.
• Restriction: conversion vers un type plus bas dans la 3) Lors de l’utilisation de l’opérateur = le type de
hiérarchie l’expression du côté droit est converti vers le type de
la variable du côté gauche
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
4
Programmation C++ 07/09/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
5
Programmation C++ 07/09/2017
– afficher un message d’avertissement ou d’erreur ou • Utilisée pour représenter les valeurs constantes avec des
affiher une boîte de dialogue et demander ce qu’il y noms descriptifs
a à faire const double TAUX_INTERET = 0.0675;
const int NOMBRE_ETATS = 50;
– stopper le programme
• Souvent nommées avec des majuscules (et séparées par
– continuer l’exécution avec une valeur incorrecte des underscores)
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
6
Programmation C++ 07/09/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
7
Programmation C++ 07/09/2017
• On peut contrôler l’affichage des données numériques • Utilisé pour contrôler les spécifités des champs dans un
ou des strings affichage
– taille (size) • Certains affecte juste la valeur suivante à afficher
– emplacement (position) – setw(x): Affiche dans un champ de largeur d’au
moins x espaces. Il utilise plus d’espaces si la
– nombre de chiffres (digits)
largeur spécifiée pour le champ n’est pas assez
• Necessite le fichier header iomanip grande
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
8
Programmation C++ 07/09/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
cin.ignore();// Eviter le caractère suivant dans le += Concaténe un string à la fin fin d’un autre
// buffer d’entrée mots+= plat; // mots now = "sandwitch hotdog"
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
9
Programmation C++ 07/09/2017
10
Programmation C++ 07/09/2017
D’autres nécessitent le fichier header cstdlib • On peut utiliser aussi time()pour générer différentes
• rand valeurs de seed chque fois qu’un programme s’exécute:
– Retourne un nombre aléatoire entre 0 et le plus grand #include <ctime> //nécessaire pour time()
entier que l’ordinateur peut contenir …
– Produira la même séquence de nombres à chaque unsigned seed = time(0);
exécution du programme (pseudo-aléatoire) srand(seed);
• srand(x)
• On peut fixer un intervalle pour les nombres aléatoire
– Initialise le grénérateur de nombre aléatoire avec un générés:
unsigned int x. x est une valeur qui permet de
modifier la séquence de nombre aléatoir produite par int max=6;
un programme int num;
– Doit être appelée au moins une fois dans le programme num = rand() % max + 1;
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
11