Exemples langages
93
do
{ cin >> noskipws >> c ;
// noskipws pour éviter de "sauter les espaces"
if ( c==’a’ || c==’e’ || c==’i’ || c==’o’ || c==’u’ || c==’y’) cout << c ;
i++ ;
}
while ( ( c != ’ ’) && (i < nbCarMax) ) ;
}
donnez un mot écrit en minuscules, terminé par un espace
anticonstitutionnellement
aioiuioeee
Notez que, par défaut, les lectures au clavier ignorent les caractères « espace », y compris dans la lecture
d’un caractère. Il faut modifier ce comportement en utilisant noskipws avant la lecture d’un caractère.
C#
using System;
class Voyelles
{ static void Main()
{ const int nbCarMax = 30 ;
// nombre maximum de caractères lus
char c ;
// caractère courant
int i ;
// compteur de caractères lus
i = 0 ;
System.Console.WriteLine
("donnez un mot écrit en minuscules, terminé par un espace") ;
String ligne = Console.ReadLine() ; // on lit une "ligne" de texte
do
{ c = ligne[i] ; // c contient le caractère de rang i de la chaîne ligne
if ( c==’a’ || c==’e’ || c==’i’ || c==’o’ || c==’u’ || c==’y’)
System.Console.Write (c);
i++ ;
}
while ( ( c != ’ ’) && (i < nbCarMax) ) ;
}
}
donnez un mot écrit en minuscules, terminé par un espace
anticonstitutionnellement
aioiuioeee
Ici, nous avons lu l’ensemble des caractères dans une « chaîne de caractères » nommée ligne. Ainsi,
ligne[i] représente le i+1 ème caractère (le premier étant ligne[0]. Nous n’avons pas modifié la
condition de terminaison du mot (espace), ce qui signifie que si l’utilisateur l’oublie, on risque fort de
« déborder » de la chaîne. Une démarche plus sûre aurait alors consisté à utiliser la longueur effective de
la chaîne lue (ligne.Length) pour connaître le nombre de caractères fournis.
Précédent

- 116/370

Suivant