Comment transformer des minuscules en majuscules et vice versa en C ?
Le code suivant permet d'inverser les minuscules avec des majuscules en C :
// Caractère à inverser
char ch='B';
// Teste si c'est une minuscule
if (ch>='a' && ch<='z') ch = ch + 'A' - 'a';
// Teste si c'est une majuscule
else if (ch>='A' && ch<='Z') ch = ch + 'a' - 'A';
printf ("%c",ch);
Il est aussi possible (et plus élégant) d'utiliser une fonction :
// Inverse les minuscules et majuscules
char inverseCase(char ch)
{
// Teste si ch est minuscule
if (ch>='a' && ch<='z') return ch + 'A' - 'a';
// Teste si ch est majuscule
if (ch>='A' && ch<='Z') return ch + 'a' - 'A';
// Ce n'est pas une lettre, on retourne ch
return ch;
}
int main()
{
printf ("%c\n",inverseCase ('b')); // Affiche B
printf ("%c\n",inverseCase ('B')); // Affiche b
printf ("%c\n",inverseCase ('%')); // Affiche %
return 0;
}
Le code suivant permet d'inverser les minuscules avec des majuscules en C :
// Caractère à inverser
char ch='B';
// Teste si c'est une minuscule
if (ch>='a' && ch<='z') ch = ch + 'A' - 'a';
// Teste si c'est une majuscule
else if (ch>='A' && ch<='Z') ch = ch + 'a' - 'A';
printf ("%c",ch);
Il est aussi possible (et plus élégant) d'utiliser une fonction :
// Inverse les minuscules et majuscules
char inverseCase(char ch)
{
// Teste si ch est minuscule
if (ch>='a' && ch<='z') return ch + 'A' - 'a';
// Teste si ch est majuscule
if (ch>='A' && ch<='Z') return ch + 'a' - 'A';
// Ce n'est pas une lettre, on retourne ch
return ch;
}
int main()
{
printf ("%c\n",inverseCase ('b')); // Affiche B
printf ("%c\n",inverseCase ('B')); // Affiche b
printf ("%c\n",inverseCase ('%')); // Affiche %
return 0;
}
# | ID | Query | URL | Count |
---|