Vous êtes sur la page 1sur 28

PARTIE II DU COURS

PROGRAMMATION C++ EN MODE GRAPHIQUE

BACHELIER 1 LMD INFORMATIQUE DE GESTION

Ce support est totalement gratuit aux bacheliers

Titulaire d’Unité d’Enseignement :

Doctorant REMY CIMONA MUTAPAY

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


INTRODUCTION

Présentation du langage C++


Le C++ est une extrapolation du langage C, lui-même inventé pour écrire le système
d'exploitation UNIX et très répandu dans l'industrie. Le C++ est un langage compilé
relativement structuré : le C étant très proche du système d'exploitation, on peut accéder
directement à la mémoire et c'est même parfois nécessaire.
Le C++ est considéré comme un langage orienté objet car il répond aux trois principes
fondamentaux : encapsulation, Polymorphisme et héritage.
En plus, des types simples et complexes du C, on peut définir des classes qui sont des structures
évoluées dont certains champs (appelés membres) sont des fonctions (appelées méthodes) selon
le principe d'encapsulation. Le programmeur doit gérer l'accessibilité aux champs des classes
qu'il définit : certains membres peuvent être rendus accessibles directement comme un champ
d'une structure. En C++, deux fonctions peuvent avoir le même nom (principe de
polymorphisme) si leurs paramètres ont des types différents. Elles peuvent également avoir des
paramètres facultatifs dont la valeur par défaut est mentionnée dans le prototype (appelé
signature). Les classes peuvent être définies à partir d'autres classes selon le principe d'héritage
multiple. De même, il est possible de définir des fonctions ou des classes génériques dont le
comportement dépendra, lors de l'édition de lien dynamique, d'un type fourni par l'utilisateur :
la fonction min(x,y) est générique car elle compare deux valeurs x et y de même type et renvoie
la plus petite des 2 valeurs.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Le détail de ce cours à consulter dans mon application « CimonaTeaching » dans vos smartphones à
télécharger.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


PRATIQUE : Prise en main de l’IDE Visual C++ 2010
I - Introduction

1. Présentation
Un Environnement de Développement Intégré (EDI) ou IDE en anglais (Integrated Development
Environment) est un logiciel regroupant au minimum les fonctionnalités suivantes : un éditeur de
texte, un compilateur, des outils d’aide à la programmation et un débogueur. Un EDI fournit aussi
des outils et des bibliothèques propres permettant de créer des interfaces graphiques IHM (Interface
Homme- Machine en français) ou GUI (Graphical User Interface en anglais). Nous allons utiliser
l’IDE Visual C++ 2010 en vous présentant successivement le menu, les différentes fenêtres de
travail, la fenêtre d’édition, les barres d’outils et l’interface de débogage.

2. Historique
Depuis Visual 6.0 datant de 1998, Microsoft avait du mal à implanter un nouvel IDE connaissant
un vif succès. Les versions qui lui succédèrent : Visual 2002
(7.0) et Visual 2003 dot net (7.1) ne générèrent pas un grand engouement. En effet, les
environnements de développements des principaux concurrents (Borland,
Eclipse, Linux,…) étaient depuis fort longtemps plus avancés et plus faciles à utiliser que les
produits Microsoft. Ainsi, Visual C++ 6.0 malgré son côté spartiate est resté un standard pendant
de nombreuses années. Fin octobre 2005, Visual Studio .Net
2005 (8.0) arrivait parmi nous et ce fut enfin un vif succès. Les développeurs le décrivirent comme
un environnement orienté vers la « productivité » permettant d’accomplir de nombreuses tâches
avec facilité et rapidité. Une version allégée
« Visual 2005 Express » fût éditée gratuitement. Assez restreinte, cette version contient les
principaux composants utiles que nous verrons en cours. Cependant, nous vous mettons en garde
car les projets créés sous la version complète seront incompatibles avec la version Express. Ensuite,
lui succéda, Visual 2008 (9.0) sans important changement de l’IDE et la version actuelle Visual
2010 (10.0) qui abandonna la traditionnelle couleur d’interface -gris souris- pour un mélange entre
bleu roi et kaki, on n’arrête pas le progrès…

3. Lancez Visual C++

Le programme, si vous ne l’avez pas encore mis dans vos raccourcis du bureau peut se lancer à
partir de Démarrer > Programmes > Microsoft Visual Studio

2010
Créer> son
Microsoft projetStudio 2010. La fenêtre de lancement s’ouvre. Si vous ne vous êtes
premierVisual
jamais connecté sur la station actuelle, le démarrage peut prendre du temps car il faut créer votre
profil ou initialisé le premier lancement du logiciel. Après cela, vous arrivez à une fenêtre de
sélection où vous choisissez de travailler en C++.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Vous vous retrouvez face à une interface incluant diverses fenêtres, interface un peu déroutante au
début :

Nous allons créer un premier projet succinct nous permettant de découvrir l’environnement. Pour
cela, allez dans le menu en haut à gauche et choisissez :

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Fichier Nouveau Projet. Dans la liste à gauche choisissez : Visual C++ CLR.
Les autres choix correspondent à d’autres versions des bibliothèques Microsoft. Par exemple, win32
est la plus veille bibliothèque disponible. Elle correspond à la génération Windows98 et est écrite
en C. Pour réactualiser cette bibliothèque pour le langage objet C++, Microsoft dût la réécrire
entièrement et ce fût la naissance de la bibliothèque MFC (Microsoft Fondation Class). Dans ce
contexte de migration, beaucoup de développeurs reprochèrent à la MFC d’être restée trop proche
des concepts de l’API win32. De plus, comme beaucoup d’autres objets furent intégrés à la MFC
dans la foulée, cela amena une des plus belles usines à gaz microsoftiennes qui porta atteinte à
l’intégrité psychique de bon nombre de programmeurs.
Aujourd’hui, une version plus moderne est disponible grâce à CLR. Comme vous le verrez au
chapitre suivant, nous y trouverons une gestion de l’IHM intuitive et facile à utiliser même pour les
débutants.

Choisissez ensuite à droite « Application Windows Forms » traduction maladroite de « Windows


Forms Application ». Si vous vous baladez dans les autres options du menu de gauche (je doute
que vous n’ayez pas eu cette envie), vous remarquerez qu’à chaque fois, on vous propose dans la
fenêtre de droite une version de projet de type « Console » ou de type « Fenêtrée = Form ». Face à
ce choix, il faudra décider dès le début ce que vous voulez car il sera impossible de changer par la
suite.

Les applications « console » correspondent aux applications en mode texte (pensez au DOS, au
terminal Linux, au minitel !!). Elles n’ont pas de fenêtres avec des boutons ou d’autres interfaces
visuelles, elles n’utilisent pas la souris et ne peuvent pas gérer de graphisme. Elles correspondent
au programme C/C++ contenant un seul point d’entrée par la fonction main().
Les applications « fenêtrées » correspondent à ce que l’on rencontre tous les jours. Ces applications
ne peuvent pas faire de sortie texte à partir d’un simple « printf ». De plus, elles ne contiennent pas
de main() !!! (Pour être exact, il en existe un, mais vous n’y avez pas accès). Les points d’entrée de

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


votre programme sont multiples et sont appelés suite à un évènement utilisateur du type : click sur
un bouton, déplacement de la fenêtre, déplacement de la souris dans cette fenêtre…

Pour continuer, donnez un nom original à votre projet (Essaie, Remy, TP1…) et vérifiez que le
répertoire de travail correspond à un emplacement où vous avez les droits d’écriture (c:\temp pour
l’ESIEE ou le bureau windows). Evitez de choisir votre répertoire réseau (U:\moncompte), car lors
des étapes de compilation (transformation du code source en exécutable) beaucoup d’accès disque
sont nécessaires. Si le disque réseau est fortement sollicité à ce moment-là, le temps de compilation
passe facilement de quelques secondes à quelques dizaines de secondes.

Par contre, profitez de votre disque réseau pour stocker une archive de votre travail à la fin de
chaque séance de TP. En début de séance, copiez la dernière archive sur le répertoire de travail local
(c:\temp ou le bureau). Une fois la séance de
TP terminée, supprimez les répertoires et sous-répertoires Debug et Release stockant les fichiers de
compilation intermédiaires sans intérêt pour vous et surtout prenant plusieurs Mo. Il vous reste les
fichiers de projets et les sources du
programme, faites maintenant une nouvelle archive (zip,rar…) du répertoire de projet et stockez la
sur votre disque réseau. C’est la manière la plus efficace de travailler et ainsi vous conservez de
plus les versions antérieures de votre programme.

Une fois ces paramètres rentrés, cliquez sur OK. Visual va alors créer plusieurs fichiers qui vont
servir de base à votre projet, le disque dur mouline et nous attendons quelques secondes. Une fois
que Visual répond à nouveau, la maquette de votre projet a été finalisée. Pour tester si tout s’est
bien passé, appuyez sur F5, ce qui provoque la compilation et l’exécution du programme. Vous
devriez voir apparaître la fenêtre suivante :

Un bug ? Un trou noir dans le système d’exploitation ? Non, une simple fenêtre vide qui attend
vos modifications.
A Le Menu
La seule chose qui ne se déplace pas dans l’interface de Visual, c’est le menu !!! Positionnez en
haut, juste sous le bandeau de l’application, il vous permet d’accéder à divers sous-menus :

Nous rappelons que vous pouvez utiliser les raccourcis clavier pour sélectionner un sous-menu
particulier. Pour cela, maintenez la touche ALT enfoncée et vous allez voir certaines lettres qui se
soulignent dans les titres des sous-menus.

L’appui sur la touche adéquate permet alors d’ouvrir le sous-menu correspondant.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Vous pouvez aussi appuyer et relâcher la touche ALT, un encadrement bleu apparaît sur un des
titres du menu. En le déplaçant grâce aux flèches du clavier et en tapant sur ENTREE vous pouvez
ainsi ouvrir le sous-menu correspondant.

B - Les fenêtres de l’environnement


Il existe une multitude de fenêtres sous l’environnement Visual, il n’est pas rare de les perdre et de
ne plus savoir comment les retrouver. Les fenêtres s’organisent en quatre positionnements : au-
dessus, en dessous, à droite et à gauche. Vous comprendrez rapidement que la position n’est pas un
critère d’importance car leurs localisations est facilement personnalisables. Généralement ces
fenêtres s’ouvrent grâce au Menu Affichage. Cependant, Visual aura pu les déplacer dans Menu >
Affichage > Autres fenêtres.

L’explorateur de solutions (Menu : Affichage → Explorateur de Solutions

Cette fenêtre correspond à un mini explorateur de fichiers qui


permet d’accéder rapidement et simplement à l’ensemble des
fichiers de votre projet. Un simple double click sur leur nom a
pour effet d’ouvrir directement le fichier dans la fenêtre
d’édition. A vous de tester.
Très important : pour ajouter des fichiers de code (*.h,*.cpp)
à votre projet vous devez utiliser cette interface. En effet, tout
fichier non listé dans l’explorateur de solutions ne sera tout
simplement PAS
COMPILE et bon nombre d’erreurs vont alors apparaître car il
manquera des fonctions dans votre programme.

Pour créer un fichier vide, faites un clic


droit dans l’explorateur sur un répertoire
(Fichiers d’en tête ou Fichiers sources) puis
Ajouter→Nouvel élément. Dans la fenêtre,
choisissez alors « code », modèles : cpp
(pour un fichier source) ou .h (pour un
fichier entête) puis donnez un nom au
fichier. Votre nouveau fichier apparaît dans
l’explorateur par la suite.

Si vous voulez utiliser des fichiers provenant de l’extérieur, copiez les dans le répertoire de travail
et faites Ajouter →élément existant. Vous pouvez aussi ajouter plusieurs fichiers en faisant une

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


sélection multiple dans l’interface (pour cela appuyez sur shift ou ctrl tout en cliquant sur les fichiers
qui vous intéressent).

Très important 2 : pour des raisons d’optimisation de vitesse de compilation, un fichier d’entêtes
précompilés est créé automatiquement par Visual. Il permet d’éviter de recompiler à chaque fois
toutes les centaines de milliers de déclarations qui proviennent des headers de Windows, de Visual
et de la GUI. Pour que cette fonctionnalité opère correctement, il faut que TOUS vos fichiers CPP
commencent par cette ligne :

#include "stdafx.h". Si vous l’oubliez, vous aurez lors de la compilation le message


d’erreur évasif suivant : fatal error C1010: fin de fichier inattendue !!!

Affichage de classes (Menu : Affichage → Affichage de classes)

Cette interface ne tient plus compte de l’organisation des


fichiers. Elle liste dans la fenêtre supérieure l’ensemble des
classes développées dans votre projet comme un annuaire. Le
clic sur le nom d’une classe fournit l’affichage de ses
méthodes et de ses paramètres dans la fenêtre inférieure. Un
double-clic sur leurs noms vous fera accéder dans la fenêtre
d’édition directement au code définissant cette
fonction/variable. Pratique non ? Dans la fenêtre supérieure,
vous trouvez aussi la liste des fonctions/variables globales en
cliquant sur la ligne correspondante.

Le gestionnaire de propriétés

Menu : Affichage → Gestionnaire de


propriétés. Il existe deux types de
compilation dans les environnements de
développement : « Debug » et « Release ».

Le mode Debug permet d’accéder aux fonctionnalités de débogage. En effet, lorsque le programme
s’arrête sur un breakpoint, cela est rendu possible car des informations supplémentaires ont été
ajoutées dans le programme exécutable. Plus les options d’optimisation seront désactivées, plus
vous aurez de fonctions de débogage fonctionnelles et plus votre exécution sera lente. Comptez une
perte de 30 à 50% d’efficacité en mode Debug.

Le mode Release correspond au mode utilisé pour produire le programme distribué aux utilisateurs.
Un maximum d’optimisation sont activées et le débogage est impossible, les breakpoints sont tout
simplement inactifs dans ce mode.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


L’inconvénient majeur, hormis l’absence de débogage, est la fragilité de l’environnement face aux
bugs. Ainsi, si en mode Debug lorsqu’un bug majeur stoppe votre programme, vous aurez la
possibilité de reprendre la main et de diagnostiquer les variables sur la ligne produisant l’erreur.
Mais, en mode Release, le programme s’arrêtera brutalement et l’environnement de développement
pourra aussi dans la foulée subir quelques dégâts (comportement anormal, blocage des menus,
impossibilité de relancer le programme…). Les deux modes coexistent et vous les choisirez suivant
ce que vous voulez faire. Vous pouvez précisément optimiser les options pour chacun de ces modes.
Pour voir cela, faites un click droit sur – Release | Win32 – puis Propriétés communes
→ C/C++ → optimisation.

Majoritairement, vous travaillerez 99% du temps en mode Debug et vous ne toucherez pas aux
paramètres de compilation.

Vous utiliserez simplement le raccourci présent sous le


menu permettant de passer facilement d’un mode à l’autre
:

Affichage des ressources (Menu : Affichage → Affichage des ressources)

Les ressources correspondent à des données annexes utilisées


lors de l’exécution de votre application. Cela permet
d’embarquer directement des images, des sons… dans votre
projet. Par exemple, faites un clic droit sur app.rc et demandez
« ajoutez une ressource », choisissez alors « bitmap ».

Vous allez avoir un éditeur d’images succinct qui s’ouvre, créez alors une composition libre.
Retournez dans l’explorateur de fichiers, double cliquez sur Form1.h. Faites ensuite un clic droit
sur votre fenêtre au milieu de l’écran et choisissez propriétés. Allez alors dans Apparence
→ BackGroundImage et choisissez l’image que vous venez de créer. Faites F5 pour examiner le
résultat. Ces manipulations permettent de programmer rapidement sans passer par des logiciels
tiers, en contrepartie les mini éditeurs embarqués dans l’environnement offrent des possibilités
limitées. Vous auriez pu de manière équivalente créer votre image avec votre logiciel favori, la
sauvegarder dans le répertoire du projet et l’associer au projet manuellement.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Naviguer d’une fenêtre à l’autre

En ayant ouvert ces quatre fenêtres, des onglets


sont apparues en bas à gauche.
Le simple clic sur l’un des onglets fait basculer
d’une fenêtre à l’autre.
En haut à droite, vous avez trois icônes spéciaux.
La croix fait disparaître l’onglet en cours (attention
donc si vous y tenez !!!), il faudra alors le rouvrir
en passant par Menu → Affichage… La punaise
permet de fixer les onglets, c'est-à-dire qu’ils sont
visibles en permanence à l’écran. Si vous
décliquez la punaise, les onglets vont se masquer
sur le bord gauche de l’écran, voir illustration à
droite.

Dans ce cas-là, il suffit de passer le curseur de la souris sur le titre de l’onglet pour le faire se rouvrir,
en cliquant sur la punaise vous fixez le groupe d’onglets à nouveau. Le petit triangle tête vers le bas
fournit l’ensemble de ces fonctions mais sous la forme d’un menu : « masquer » veut dire fermer
définitivement (!!), « masquer automatiquement » est équivalent à la punaise, « Ancrer » correspond
à la punaise activée et « flottante » permet de décrocher l’onglet et de le transformer en une fenêtre
indépendante qui flotte au-dessus de l’environnement.

Vous trouvez 4 ancres ici en rouge, permettant de positionner la fenêtre flottante entre le bord de
l’écran et la fenêtre désignée par l’ancre. Faites glisser cette fenêtre sur une des quatre ancres (en
haut, en bas, à gauche, à droite).

Lorsque vous approchez d’une ancre, l’endroit où la fenêtre va être localisée est indiqué par une
ombre bleue à l’écran. Si cela vous convient, vous pouvez alors relâcher le bouton de la souris.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


En vert se trouve une interface de positionnement active seulement dans la fenêtre où se trouve
l’icône de la souris. Elle permet de choisir comment vous voulez positionner la fenêtre flottante par
rapport à cette fenêtre (en dessous, au-dessus, à droite, à gauche).
Pour grouper deux fenêtres dans une seule avec un système d’onglet, il suffit de choisir le carré au
centre de la fenêtre de positionnement (en bleu) ou de positionner le bandeau de la fenêtre sur le
bandeau des onglets (flèche en orange).

Passez un certain temps à tester les multiples possibilités de cette interface

Ps : parfois l’explorateur de solutions bogue et ouvre les fichiers non pas dans la fenêtre d’édition
au centre mais dans sa propre fenêtre. Ce problème peut être corrigé en mettant l’explorateur en
fenêtre flottante et en l’encrant tout à gauche.
Si vous voulez déplacer un groupe de fenêtres (plusieurs
fenêtres regroupées grâce à des onglets), vous pouvez
simplement cliquer sur le bandeau du groupe et faire glisser
votre souris, le groupe devient alors flottant. Si vous voulez
« décrocher » seulement une fenêtre à l’intérieur du groupe,
faîtes la même manipulation en cliquant/glissant sur l’onglet
de la fenêtre concernée.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


LECTURE et ECRITURE EN MODE GRAPHIQUE DES APPLICATIONS C++

Exemples :
Lisons la variable a.

Ici la variable a été convertie en même temps lue

a=Convert::ToInt32(t1->Text);

Affichons la variable resultat.

t3->Text=System::Convert::ToString(resultat);

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


LES EXERCICES EN MODE GRAPHIQUE

Application 1 :
Ecrire un programme en C++ qui permet de calculer le prix total d’un produit acheter par un
client.

double pu,qt,pt;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
pu=Convert::ToInt32(t1->Text);
qt=Convert::ToInt32(t2->Text);
pt=qt*pu;
t3->Text=System::Convert::ToString(pt);

}
private: System::Void btnannuler_Click(System::Object^ sender, System::EventArgs^
e) {
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();
}

}
;
}

Voici le résultat

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 2:
Ecrire un programme en langage C++ qui permet de calculer le prix total avec une réduction.

int qt,pu,pt,red,ntp;
private: System::Void btnaff_Click(System::Object^ sender, System::EventArgs^ e) {
qt=Convert::ToInt32(t1->Text);
pu=Convert::ToInt32(t2->Text);
pt=qt*pu;
red=Convert::ToInt32(t4->Text);
ntp=pt-red;
t3->Text=System::Convert::ToString(pt+"Fc");
t5->Text=System::Convert::ToString(ntp+"Fc");
}
private: System::Void btnannuler_Click(System::Object^ sender, System::EventArgs^
e) {
t1->Text="";
t2->Text="";
t3->Text="";
t4->Text="";
t5->Text="";
t6->Text="";

t6-
>Focus(
); }

Voici le résultat

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 3:
Ecrire un programme en C++ qui permet de calculer le montant à payer dans une maison de
location de chaises.

#pragma
endregion
double nb,pch,mont;
private: System::Void btnaff_Click(System::Object^ sender, System::EventArgs^ e) {
nb=Convert::ToInt32(t1->Text);
pch=Convert::ToInt32(t2->Text);
mont=nb*pch;
t3->Text=System::Convert::ToString(mont+"Fc");

}
private: System::Void button1_Click_1(System::Object^ sender,
System::EventArgs^ e) { t1->Text="";
t2->Text=""; t3->Text="";
t1->Focus();
}
};
}

Application 4 :
Ecrire un programme en langage C++ qui permet de calculer la somme et la différence de
deux nombres :

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


double a,b,dif,som;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2->Text);
som=a+b;
dif=a-b;
t3->Text=System::Convert::ToString(som); t4-
>Text=System::Convert::ToString(dif);

}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

}
private: System::Void button2_Click_1(System::Object^ sender, System::EventArgs^
e) { t1->Text="";
t2-
>Text=""; t3-
>Text=""; t4-
>Text=""; t1-
>Focus();
}
};
}

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 5 :
Ecrire un programme en langage C++ qui permet de calculer le pourcentage d’une cote saisie
Par le Doctorant Remy CIMONA.

double cote,max,pourc;
private: System::Void BTNAFF_Click(System::Object^ sender,
System::EventArgs^ e) { cote=Convert::ToInt32(t1->Text);
max=Convert::ToInt32(t2->Text);
pourc=(cote*100)/max;
t3->Text=System::Convert::ToString(pourc+"%");

}
private: System::Void BTNANNULER_Click(System::Object^ sender,
System::EventArgs^ e) {

}
private: System::Void BTNANNULER_Click_1(System::Object^ sender,
System::EventArgs^ e) {
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();
}
}
;
}

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 6 :
Ecrire un programme en langage C++ qui permet de calculer la moyenne de deux nombres.

private: System::Void btnaff_Click_1(System::Object^ sender, System::EventArgs^ e) {


a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2->Text);
c=(a+b)/2;
t3->Text=System::Convert::ToString(c);

}
private: System::Void btnfer_Click(System::Object^ sender, System::EventArgs^ e) {
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();

}
}
;
}

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 7 :
Ecrire un programme qui permet d’effectuer les opérations arithmétiques en c++ :

double a,b,c;
private: System::Void btnadd_Click(System::Object^ sender, System::EventArgs^ e) {
a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2->Text);
c=a+b;
t3->Text=System::Convert::ToString(c);

}
private: System::Void btnmult_Click(System::Object^ sender, System::EventArgs^ e) {
a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2->Text);
c=a*b;
t3->Text=System::Convert::ToString(c);

}
private: System::Void btnsoust_Click(System::Object^ sender, System::EventArgs^ e) {
a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2->Text);
c=a-b;
t3->Text=System::Convert::ToString(c);
}
private: System::Void btndiv_Click(System::Object^ sender, System::EventArgs^ e) {
a=Convert::ToInt32(t1->Text);
b=Convert::ToInt32(t2-
>Text); c=a/b;
t3->Text=System::Convert::ToString(c);
}
private: System::Void btnAnnuler_Click(System::Object^ sender, System::EventArgs^ e)
{
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();
}
};
}

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 8 :
Ecrire un programme permettant de calculer le salaire de journalier dans une industrie de la place.

double sh,nbh,sj;
private: System::Void btnAFF_Click(System::Object^ sender,
System::EventArgs^ e) { sh=Convert::ToInt32(t1->Text);
nbh=Convert::ToInt32(t2->Text);
sj=sh*nbh;
t3->Text=System::Convert::ToString(sj+"$");

}
private: System::Void btnannul_Click(System::Object^ sender, System::EventArgs^
e) {
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();
}
}; }

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 9 :
Ecrire un programme qui permet de calculer le salaire mensuel des ouvriers dans une société de
CIMONA TELECOM.

#pragma
endregion
double sj,nbj,sm;
private: System::Void btnaff_Click(System::Object^ sender, System::EventArgs^ e) {
sj=Convert::ToInt32(t1->Text);
nbj=Convert::ToInt32(t2->Text);
sm=sj*nbj;
t3->Text=System::Convert::ToString(sm+"$");

}
private: System::Void btnannul_Click(System::Object^ sender, System::EventArgs^ e) {
t1->Text="";
t2->Text="";
t3->Text="";
t1->Focus();
}
}; }

Output :

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Application 10:
Ecrire un programme qui nous fait l’évaluation de la somme, moyenne et le produits de 3
nombres (x, y, z)

#pragma
endregion
Double x,y,z,som,prod,moy;
private: System::Void btnafficher_Click(System::Object^ sender,
System::EventArgs^ e) {

x=Convert::ToInt32(t1->Text);
y=Convert::ToInt32(t2->Text);
z=Convert::ToInt32(t3->Text);
som=x+y+z;
prod=x*y*z;

moy=(x+y+z)/3;
t4->Text=System::Convert::ToString(som); t5-
>Text=System::Convert::ToString(prod); t6-
>Text=System::Convert::ToString(moy);

}
private: System::Void Annuler_Click(System::Object^ sender, System::EventArgs^ e) {
t1->Text="";
t2->Text="";
t3->Text="";
t4->Text="";
t5->Text="";
t6->Text="";
t1->Focus();
}
}; }

Output :

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626
NOM : ………………………………………….POSTNOM……………………………………….SEXE………
….
PROMOTION :………………………………..UE :…………………………………………….CODE/UE……
….
DIRIGER PAR : Doctorant CIMONA REMY M.

CONTROLE AUX ETUDIANTS QUI ONT L’OUTIL


INFORMATIQUE (ORDINATEUR)
Travail demandé : A l’issu de ces interfaces graphiques, faites un programme en C++ qui
effectue la gestion de location de véhicule dans l’agence CIMONAR sprl
PROJET 1 :

PROJET 2 :

Travail demandé : Ecrire une application en langage C++ qui permet à l’utilisateur
d’afficher l’âge testé à travers l’interface graphique proposé.

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


Ce contrôle continu concerne les étudiants qui possèdent l’outil informatique
(Ordinateur).
Durée du contrôle : 4 jours à daté de ce dimanche 28 Mai 2023 jusqu’à ce jeudi 02
juin 2023. Rassurez que votre machine a l’étiquette bien collée.

PROJET D’EXAMEN FINAL : Vous l’aurez après la remise du contrôle

NB : Vos notes(Document) font parties du TP à déposer ce mercredi au laboratoire pour la correction

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


NOM : ………………………………………….POSTNOM……………………………………….SEXE………….

PROMOTION :………………………………..UE :…………………………………………….CODE/UE……….

DIRIGER PAR : Doctorant CIMONA REMY M.

CONTROLE AUX ETUDIANTS QUI N’ONT PAS DES


MACHINES
1) On veut compiler puis exécuter le programme ci-contre. Que va-t-
#include <stdio.h>
il afficher ?
int main(void) {
A) 0 B) rien C) un nombre D) Le programme donne une erreur de
int a ;
compilation. Il ne se compile pas. E) Le programme donne une erreur
printf("%d",a) ;
d'exécution. Il se compile mais ne s'exécute pas.
return 0 ;
}

2) Qu'est-ce qu'une bibliothèque de fonctions ?


A) Un ensemble de fonctions standard que l'on peut utiliser dans un programme
B) Un ensemble de types entiers, réels, caractères... que peut prendre une variable
C) Un ensemble de fonctions qui sont déclarées dans des fichiers en-tête (stdio.h, math.h, string.h...)
D) Des chaînes de caractères qui contiennent les mots de plusieurs dictionnaires
E) Le fichier que l'on obtient quand on exécute GCC avec un programme source

3) Que contient la bibliothèque stdio ?


A) Les instructions de contrôle if, else, while, for...
B) La fonction principale int main(void) déclarée dans le programme source
C) Des fonctions permettant d'afficher des données à l'écran
D) Les types numériques entiers et réels (int, long, float, double)
E) Les fonctions scanf et getchar qui permettent de mettre en RAM les données tapées par l'utilisateur.

4) Qu'est-ce qui est affiché par le programme ci-contre à


#include <stdio.h>
son exécution ?
int main(void) {
A) a = 8 , b = -3
int a = 4 ; int b ;
B) a = -3 , b = 4
a=a*2;b=a;
C) a = 4 , b = 9
b -= 3 ; a++ ; --b ;
D) a = 5 , b = 5
printf("a = %d , b = %d\n", b, a) ;
E) Aucune des quatre réponses
return 0 ;
}

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626


5) Étant données les variables a : entière, y : réelle, r : caractère, m :
chaîne de caractères, quelle instruction permet de les afficher correctement
?
A) printf("a=%d , y=%r , r=%u , m=%c\n", a,y,r,m) ;
B) printf("a=%d , y=%f , r=%c , m=%x\n", a,y,r,m) ;
C) printf("a=%d , y=%g , r=%c , m=%s\n", a,y,r,m) ;
D) printf("a=%f , y=%s , r=%u , m=%c\n", a,y,r,m) ;
E) Aucune des quatre réponses

Ce contrôle continu concerne les étudiants qui n’ont pas l’outil informatique
(Ordinateur).
Durée du contrôle : 2 jours à daté de ce dimanche 28 Mai 2023 jusqu’à ce MARDI
30 Mai 2023. Lieu au laboratoire. Heure de la réception de 8H à 17H :30

NB : Vos notes du cours (Document) font parties du TP à déposer ce mercredi au laboratoire pour la correction

Programmation en Visual C++ Doctorant CIMONA REMY M. remycimna@gmail.com 0812727626

Vous aimerez peut-être aussi