Vous êtes sur la page 1sur 6

Les Structures de Choix

1) La structure Conditionnelle

if ( expression vraie ) si ( expression vraie ) alors


{ ligne1
ligne1 ; ligne2
ligne2 ; ligne3
ligne3
} fsi

Reprenons notre programme de Facture

Exemple 1 : Une rduction de 5% est accorde si le montant ht de la facture est suprieur


150
class Program
{

public static double calcul_montant(double prix, int q)


{
double prixart;
prixart = prix * q;
return prixart;
}

public static double calculMontTva(double pht, double taux)


{
double montva;
montva = (taux * pht / 100);
return montva;
}

public static double calculttc(double pht, double montva)


{
double pttc;
pttc = pht + montva;
return pttc;
}

public static void edition_CoordonneesIndividu(string nom, string


prenom, string adr, string ville, string cp)
{
Console.WriteLine();
Console.WriteLine("M " + nom + " " + prenom);
Console.WriteLine(adr);
Console.WriteLine(cp + " " + ville);
Console.WriteLine();
}

C# EF les Alternatives Page 1


public static void edition_ligne(string desprod, double prix, double q,
double prixart)
{
Console.WriteLine(desprod + " " + prix + " " + q + " " + prixart);
}

static void Main(string[] args)


{
string nom, prenom, adr, ville, cp,desprod;
double prix, totaligne, mtva,ttc;
double taux = 19.6;
int q;

// Introduction des donnes au clavier


Console.WriteLine("entrez le nom du client");
nomcli=Console.ReadLine();
Console.WriteLine("entrez l'adresse du client");
adr=Console.ReadLine();
Console.WriteLine("entrez le code postal");
cp=Console.ReadLine();
Console.WriteLine("entrez la ville");
ville=Console.ReadLine();
Console.WriteLine("entrez la dsignation du produit");
desprod=Console.ReadLine();
Console.WriteLine("entrez la quantit");
q = Int32.Parse(Console.ReadLine());
Console.WriteLine("entrez le prix unitaire du produit");
prix = double.Parse(Console.ReadLine());
Console.WriteLine("entrez le taux de tva");
taux= double.Parse(Console.ReadLine());

// Calculs
totaligne= calcul_montant(prix, q);

// La remise va tre insre ce niveau la dans le code


Voir code a INSERER ci-dessous

mtva = calculMontTva(totaligne, taux);


ttc = calculttc(totaligne, mtva);
// edition de la facture
edition_CoordonneesIndividu(nom, prenom, adr, ville, cp);
Console.WriteLine("Designation pu q total ");
edition_ligne(desprod, prix, q, totaligne);
Console.WriteLine(" Tva {0:####.#0} % {1:######.#0} ", taux, mtva);
Console.WriteLine(" ttc {0:####.#0} ", ttc);

Console.ReadLine();
}

C# EF les Alternatives Page 2


double montantRemise;

montantRemise = 0;
tauxRemise = 5;
if (totaligne > 150)
montantRemise = totaligne * tauxRemise / 100;

Exemple 2 : Il ne faut afficher la remise que si le client a bien une remise au niveau de
l'affichage de la facture

if (montantRemise > 0)
{
Console.WriteLine("remise :" + tauxRemise + "%" + montantRemise);
}

2) La structure alternative

if ( expression vraie ) si ( expression vraie) alors


{ ligne1
ligne1 ligne2
ligne2 sinon
} ligne3
else ligne4
{ fsi
ligne3
ligne4
}

Exemple 3 : La remise est maintenant de 2% quand le montant est infrieur 150 et surtout
de 10% quand le montant est suprieur 300. Elle reste 5% pour les autres cas

double montantRemise;
montantRemise=0 ;
if (totaligne < 150 )
{
tauxRemise =2;
}
else
{
if (totaligne <= 300 )
{
tauxRemise = 5;
}
else
{
tauxRemise=10;
}
}
montantRemise = totaligne * tauxRemise/100;
}

C# EF les Alternatives Page 3


Exemple 4 : Ecrire une fonction qui reoit en argument le prix ht d'une facture et qui retourne
le montant de la remise en suivant les rgles de gestion de la question 3

public double CalculRemise(double prixht)


{
double montantRemise;

montantRemise=0 ;
if (prixht < 150 )
{
tauxRemise =2;
}
else
{
if (prixht<= 300 )
{
tauxRemise = 5;
}
else
{
tauxRemise=10;
}
}
montantRemise = prixht * tauxRemise/100;

return montantRemise;
}

3) Les types d'expression


if ( a = = 3) if ( a ! =15) if (( a >15) && ( b= = 0 ) )
if ( ( a >5) || ( nom = ="Dupont") )

Utilisation de boolens
Exemple : Ecrire une fonction qui reoit en paramtre un entier et qui retourne vrai si l'entier
est pair et faux sinon

if ( b) est quivalant if ( B = = true)

static void Main(string[] args)


{
bool flag;
int n;
Console.WriteLine("entrez un nombre entier");
n = Int32.Parse(Console.ReadLine());
flag = EST_PAIR(n);
affichage(n, flag);
Console.ReadLine();

C# EF les Alternatives Page 4


public static bool EST_PAIR(int n)
{
bool drapeau;
int R;
R = n%2;
if ( R == 0)
drapeau = true;
else
drapeau = false;
return drapeau;
}

public static void affichage(int n, bool drapeau)


{
if (drapeau)
Console.WriteLine(n + " est pair ");
else
Console.WriteLine( n + "est impair");
}

Utilisation de fonction prdfinie du langage

Console.WriteLine(" entrez un mot);


Mot = Console.ReadLine();
if ( mot.Contains("e")
Console.WriteLine(" ce mot contient un e);
else
Console.WriteLine(" ce mot ne contient pas de e");

4)La structure de choix multiple : le switch

switch( val) selon (val)


{ cas valeur : une ou plusieurs lignes
case 1 : une /plusieurs lignes cas valeur : une ou plusieurs lignes
break; ..
case 2 : une /plusieurs lignes finselon
break;
..
}
La valeur val peut tre entire, chaine ( en aucun cas relle )

C# EF les Alternatives Page 5


Exemple 1:
Double codetva;.
Switch ( codetva)
{
case 1: tva= 5.5;
break;
case 2: tva =1.9.6
break;
case 3 : tva=33,3
break;
}

Exemple 2:
String Pays;
Switch (Pays)
{
case "France" : monnaie="Euros";
break;
case "USA": monnaie="Dollars";
break;
........}

Exemple 3:
int Categorie;
Switch ( categorie)
{
case 1 : tr =grossiste();
break;
case 2 : detaillant(out tr);
break;...

C# EF les Alternatives Page 6