TP1 Gi4
TP1 Gi4
TP1 Gi4
OBJECTIFS :
3
1. Types de Projets : Regroupe l’ensemble des projets (classés par langage de
programmation) disponibles sous Visual Studio. Choisissez Visual C#.
2. Modèles : ou bien groupes de projets pour un types de projets (pour le langage
choisit). Choisissez Application Windows Forms
3. C’est le nom du projet, changez-le avec Projet1.
1
T
Appuyez sur OK pour lancer le projet. L’interface générale se présente sous cette
forme :
1
3 2
4
L’interface de développement de Visual Studio en dehors de ses menus et barres
d’outils, possède quatre zones :
1. C’est l’explorateur de solution, Elle regroupe tout ce qui fait l’ensemble du
programme c’est-à-dire le(s) projet(s), les Contrôles Utilisateurs, Les
Ressources, Les Classes, les Bases de Données, les Feuilles (Form), les
Fichiers de Configuration, …
2. C’est la zone d’affichage des fichiers ouverts : sources, aide, etc …
3. C'est la boite à outils, ou se trouve les différents composants graphiques à
mettre dans les interfaces.
4. C’est la sortie, fenêtre d’affichage des résultats de compilation, de débogage et
de recherches.
2
B. Première Application:
Contrôles nécessaires :
3
Button Name BtnCE
Text CE
Button Name BtnQuitter
Text Quitter
Label Name LblResultat
Text Resultat:
Font Gras , taille 10
Label Name LblRes
Text
Font Gras , taille 14
BorderStyle FixedSingle
Autosize False
GroupBox Name GrBCmd
Text Commandes
Le code relatif aux différentes opérations:
4
Message de confirmation:
DialogResult x = MessageBox.Show("Voulez vous quitter?",
"Confirmation", MessageBoxButtons.YesNo);
if (x == DialogResult.Yes)
Application.Exit();
C. Autres interfaces:
5
Forme frmAccueil :
private void BtnCalcul_Click(object sender, EventArgs e)
{
frmCalculatrice cl = new frmCalculatrice();
cl.Show();
this.Hide();
}
6
EX 2 : STRUCTURES DE CONTROLE
OBJECTIFS :
I-Interface d'accueil:
Placer dans l'interface frmAccueil suivante:
BtnFactoriel
BtnTab
BtnJouer
BtnQuitter
II-Factoriel:
Placer dans l'interface frmFactoriel suivante:
BtnCalc, permet
de vérifier l'entier
TxtN: pour lire et d'affecter dans
un entier >0 LblRes la valeur
du factoriel
LblRes
BtnBack BtnQuitter
retourner à arrêter
l'interface l'application
d'accueil
7
III-Les tableaux:
Développez une application permettant la saisie et le stockage des notes d’un
ensemble de 5 élèves. A partir de ces notes, on calcule la moyenne de la classe, son
écart-type, le nombre des notes < 10 et le nombre des notes >= 10.
2
∑ ( x _ x)
N N
Le calcul de la moyenne: x = ∑ xi /N. Le calcul de l’écart-type est : σ x = i
i =1 i =1
TxtN
BtnEnreg:
permet de stocker
LblRes les valeurs saisies
dans un tableau T
et les afficher
LblT: dans LblT
initialement
vide LblMoy
LblEcart BtnCalc: permet de
calculer et afficher
les différents
calculs à partir du
tableau T
Bouton enrgistrer
float val;
if (float.TryParse(.....) && val >= 0 && ....)
{
lblRes.Text = "Entrez la note de l'élève N°: " + (i + 2).ToString();
lblT.Text = lblT.Text + txtn.Text + "|";
T[i]=val;
i++;
TxtN.Text = "";
TxtN.Focus();
if (i == n)
{
BtnCalc.Enabled = true;
BtnEnreg.Enabled = false;
txtn.Enabled = false;
BtnCalc.Focus();
}
} else .....
8
IV-Jeux: nombre caché:
L'objectif et de générer aléatoirement un numéro composé par 4 chiffres et de
demander à l'utilisateur de le trouver dans au maximum 3 propositions.
Le bouton vérifier permet de comparer la proposition de l'utilisateur avec le numéro
caché et de colorer en vert les chiffres bien placé et en jaune les chiffres qui existent
mais mal placé.
Txt1
Txt4
LblNbJeux
TxtP1 TxtP4
Chargement de l'interface:
int n1,n2,n3,n4;
Random random = new Random();
n1 = random.Next(0, 10);
txt1.Text = n1.ToString();
do
n2 = random.Next(0, 10);
while (n2 == n1);
txt2.Text = n2.ToString();
do
n3 = random.Next(0, 10);
while (n3 == n2||n3==n1);
txt3.Text = n3.ToString();
......
LTxtC.Add(Txt1);
.....
LTxtP.Add(TxtP1);
.....
9
Le bouton Cacher:
for (int i = 0; i < 4; i++)
LTxtC[i].ForeColor = Color.White;
Le bouton Rejouer:
for (int i = 0; i < 4; i++)
{
LTxtP[i].BackColor = Color.White;
LTxtP[i].Text = "";
}
LTxtP[0].Focus();
Le bouton Verifier:
int i,j,correct = 0;
for(i=0;i<4;i++)
{
if (LTxtP[i].Text == LTxtC[i].Text)
{
LTxtP[i].BackColor = Color.Lime;
correct++;
}
else
for (j = 0; j < 4; j++)
{
if (LTxtP[i].Text == LTxtC[j].Text)
{
LTxtP[i].BackColor = Color.Yellow;
break;
}
} }
if (correct == 4)
{
timer1.Start();
for (i = 0; i < 4; i++)
LTxtC[i].ForeColor = Color.Black;
}
else
{ nbJeux++;
LblNbJeux.Text = (nbJeux+1).ToString();
if (nbJeux == 3)
{
GrB1.Enabled = false;
for (i = 0; i < 4; i++)
LTxtC[i].ForeColor = Color.Black;
MessageBox.Show("Vous avez perdu", "Game Over",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
Le timer:
if (animation == true)
{
for (int i = 0; i < 4; i++)
LTxtC[i].BackColor = Color.Yellow;
animation = false;
}
else
{
for (int i = 0; i < 4; i++)
LTxtC[i].BackColor = Color.Red;
animation = true;
}
10