Boucle switch en C# [Résolu]

Signaler
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
-
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
-
Bonjour,

dans le bouquin m'expliquant le C#, ils n'ont pas bien expliqué comment utilisé l'instruction "switch".

J'ai essayer de chercher et d'améliorer, mais rien à faire je suis bloqué.
Le livre explique comme suit: (pour par exemple un programme demandant le statut matrimonial de l'utilisateur)

"Le switch sert a remplacé plusieurs si imbriqué. La forme est

switch (nMaritalStatus)
{
Case 0: //instruction si célibataire

break;

Case 1: //instructions si marié

break;

Case 2: //instruction si divorcé

break;

Case 3: //instruction si veuf (veuve)

break;
}

Ma question est: la variable nMaritalStatus doit avoir quel forme? à quoi elle sert et comment on l'utilise. En sachant qu'avant d'introduire le switch, il faut demandé si la personne est célibataire (0),marié(e) (1), divorcé(e) (2), ou veuf (veuve)(3).


Je vous remercie d'ors et déjà pour votre aide.

3 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
38
L'instrcution switch donnée en exemple, à savoir
switch (nMaritalStatus)
{
Case 0: //instruction si célibataire

break;

Case 1: //instructions si marié

break;

Case 2: //instruction si divorcé

break;

Case 3: //instruction si veuf (veuve)

break;
} 

est équivalente aux instructions If en cascades suivantes :
if (nMaritalStatus == 0)
{
  //instruction si célibataire 

}
else if (nMaritalStatus == 1)
{
  //instructions si marié

}
else if (nMaritalStatus == 2)
{
  //instruction si divorcé

}
else if (nMaritalStatus == 3)
{
  //instruction si veuf (veuve)
  
}



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
32
salut,

//declaration de l'enum
enum StatutMarital
{
Celibataire = 0,
Marie,
Divorce,
Veuf
}

//affectation
StatutMarital nMaritalStatus =  StatutMarital.Marie;

//traitement en focntion du statut
switch (nMaritalStatus )
{
Case StatutMarital.Celibatire: //instruction si célibataire
break;
Case StatutMarital.Marie: //instructions si marié
break;
Case StatutMarital.Divorce: //instruction si divorcé
break;
Case StatutMarital.Veuf: //instruction si veuf (veuve)
break;
default :
throw new Exception("statut inconnu")
//erreur 
} 



NB code non testé (pas de visual studio sous la main)
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
1
Bonjour Casy,

Je te remercie pour ta réponse mais, la question n'était pas vraiment là.

Bonjour nhervagault,


Je te remercie, c'est exactement cela que j'avais besoin comme information.

la déclaration de l'enum et la déclaration de la classe était ce que le livre ne disait pas.
Mille merci.

Stouf.