Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : C - les aiguillages
(Article écrit par Chorizo Kid et extrait d'A-News (Amiga News) - octobre 1988)
|
|
Après avoir évalué "l'expression" de contrôle, sa valeur obtenue est comparée aux différentes "expressions constantes".
L'exécution reprend alors à "l'instruction" suivant la bonne "expression constante" si celle-ci a été trouvée, à "l'instruction"
suivant "default" sinon.
Après l'exécution de "l'instruction", le "break" permet de sortir de l'aiguillage (instruction après l'accolade fermante).
Ce "break" est optionnel, si on ne le met pas on passera alors par les tests des "expressions constantes" des autres "cases"
et surtout par l'exécution plus que probable du "default". Cela peut servir dans certains cas.
Ce programme va compter le nombre de a, A, e, de caractères et de lettres différentes de a, A, et e d'un texte. Si nous
l'appelons "compte", il faudra le lancer par "compte < texte" (compte < compte.c par exemple) ou bien par "compte"
seulement puis en entrant un texte se terminant par "Ctrl-D".
Nous utilisons pour cela la fonction "getchar()" qui récupère un caractère d'un fichier texte. Ce caractère va alors être
testé dans le "switch". Il est à noter que les blancs, les tabulations (\t) et les returns (\n) sont absorbés ;
les "cases" n'ayant pas de "break", on passe au "case" suivant jusqu'à arriver au "case '\t'" où là on sort de la boucle.
Donc "nombre de caractères" totalisera tous les caractères du fichier (blancs, \I, \n) alors que "autres_lettres"
ne comptera que les lettres autres que a, A, et e.
Bon on arrête, je fatigue, j'ai plus de yaourts, je suis toujours pas payé pour écrire cette géniale bafouille.
Aaaaah, j'aurais dû faire Maître du Monde. Bon ping pong, Salut.
|