Bonjour,

voilà l'exercice à résoudre

écrire un programme qui lit une chaîne de caractères CH et qui convertit toutes les majuscules dans des miniscules et vice -versa.
Le résultat sera mémorisé dans la même variable CH et affiché après la conversion
.

On me donne ce corrigé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
 
main()
{
	char CH[100];
	int I;
 
	printf("ecrire une chaine : ");
	gets(CH);
 
	for(I=0;CH[I];I++)
	{
		if(CH[I]>='A'&&CH[I]<='Z')
		CH[I]=CH[I]-'A'+'a';
 
		else if(CH[I]>='a'&&CH[I]<='z')
			CH[I]=CH[I]-'a'+'A';
	}
	printf("chaine convertie : %s\n",CH);
 
	return 0;
}
Je voudrais savoir pourquoi mon programme ne fonctionne pas et comment utiliser les fonctions tolower et toupper ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<stdio.h>
 
main()
{
    char CH[100];
    int I,J;
 
    printf("ecrire une chaine : ");
    gets(CH);
 
    for(I=0;CH[I];I++)
    {
        I=toupper(CH);
        printf("%s",CH[I]);
    }
 
    for(J=0;CH[J];J++)
    {
        J=tolower(CH);
        printf("%s",CH[J]);
    }
    printf("\n");
 
    return 0;
}