Vous êtes sur la page 1sur 4

ESATIC TP 2: STRUCTURES DE CONTROLE

TP 2 : S TRUCTURES DE CONTROLE
OBJECTIFS :
Manipulation des tableaux et structures de contrôle avec C# et découverte d'autres
contrôles et évènements.

I-Interface d'accueil :
Placer dans l'interface frmAccueil suivante:

BtnFactoriel

A
BtnTab

BtnJouer
G
AN

BtnQuitter
rK

II-Factoriel :
D

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

Dr KANGA Koffi 1
ESATIC TP 2: STRUCTURES DE CONTROLE

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.

∑ (x _ x )
2

Le calcul de la moyenne: x = ∑ xi /N.


N 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

A
LblEcart BtnCalc: permet de
G calculer et afficher
les différents
calculs à partir du
tableau T
AN

LblInf BtnQ: permet de


LblSup retourner à
rK

l'interface d'accueil

Indication sur le code:


Déclaration globale:
D

const int n = 5;
float[] T = new float[n];
int i = 0;
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 .....

Dr KANGA Koffi 2
ESATIC TP 2: STRUCTURES DE CONTROLE

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

A
LblNbJeux
G
AN

TxtP1 TxtP4
rK

Indication sur le code:


Déclaration globale:
D

List<TextBox> LTxtC = new List<TextBox>();


List<TextBox> LTxtP = new List<TextBox>();
int nbJeux=0; bool animation = false;
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);
.....

Dr KANGA Koffi 3
ESATIC TP 2: STRUCTURES DE CONTROLE

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++)

A
{
if (LTxtP[i].Text == LTxtC[j].Text)
{
G
LTxtP[i].BackColor = Color.Yellow;
break;
}
AN
} }
if (correct == 4)
{
timer1.Start();
for (i = 0; i < 4; i++)
rK

LTxtC[i].ForeColor = Color.Black;
}
else
{ nbJeux++;
LblNbJeux.Text = (nbJeux+1).ToString();
D

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;
}

Dr KANGA Koffi 4