[C][Minuscules/majuscules]
Fermé
salemgaaloul
Messages postés
1
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
3 octobre 2005
-
3 oct. 2005 à 22:27
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 13 mai 2014 à 23:59
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 13 mai 2014 à 23:59
A voir également:
- C majuscule et minuscule
- Majuscule minuscule - Guide
- É majuscule - Guide
- Code ascii de a minuscule - Guide
- Inversion majuscule minuscule - Forum Bureautique
- Touche majuscule inversée ✓ - Forum Bureautique
7 réponses
kmanber
Messages postés
543
Date d'inscription
mardi 30 août 2005
Statut
Membre
Dernière intervention
28 décembre 2008
256
3 oct. 2005 à 22:54
3 oct. 2005 à 22:54
tu prend les codes ascii
a=97
A=65
donc 97 devient 65
ca revient à soustraire 32, il faut quand même controler l'intervale et tenir compte de lettres accentuées
http://www.lookuptables.com/
voilà l'exemple inverse, à toi de l'adapter
#include <stdio.h>
#include <stdlib.h>
void
minuscule(char s[])
{
int index;
/* la chaîne est parcourue par index */
for (index= 0; s[index] != '\0'; index++)
/* si le caractère à la position index est majuscule*/
if (s[index] >= 'A' && s[index] <= 'Z')
/* le remplacer par son équivalent en minuscule */
s[index]= s[index] - 'A' + 'a';
}
char salut[]= "chaine de caractère à traiter\n";
int main(void)
{
minuscule(salut);
puts(salut);
return EXIT_SUCCESS;
}
bonne chance
a=97
A=65
donc 97 devient 65
ca revient à soustraire 32, il faut quand même controler l'intervale et tenir compte de lettres accentuées
http://www.lookuptables.com/
voilà l'exemple inverse, à toi de l'adapter
#include <stdio.h>
#include <stdlib.h>
void
minuscule(char s[])
{
int index;
/* la chaîne est parcourue par index */
for (index= 0; s[index] != '\0'; index++)
/* si le caractère à la position index est majuscule*/
if (s[index] >= 'A' && s[index] <= 'Z')
/* le remplacer par son équivalent en minuscule */
s[index]= s[index] - 'A' + 'a';
}
char salut[]= "chaine de caractère à traiter\n";
int main(void)
{
minuscule(salut);
puts(salut);
return EXIT_SUCCESS;
}
bonne chance
MetaHack
Messages postés
14
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
14 septembre 2010
32
9 nov. 2008 à 23:40
9 nov. 2008 à 23:40
de Minuscules ---> majuscules avec la notion de pointeur en C
#include<stdio.h>
#include<conio.h>
#include<string.h>
char* majuscule(char *s)
{
char *p;
for (p=s;*p;p++)
if (*p >= 'a' && *p <= 'z')
*p=*p +'A'-'a';// ou bien -32
return s;
}
main()
{
char s1[65];
printf("donner une chaine s1: ");
gets(s1);
printf("la chaine en majuscule :");
puts(majuscule(s1));
getch();
}
#include<stdio.h>
#include<conio.h>
#include<string.h>
char* majuscule(char *s)
{
char *p;
for (p=s;*p;p++)
if (*p >= 'a' && *p <= 'z')
*p=*p +'A'-'a';// ou bien -32
return s;
}
main()
{
char s1[65];
printf("donner une chaine s1: ");
gets(s1);
printf("la chaine en majuscule :");
puts(majuscule(s1));
getch();
}
Pourquoi se casser la tête ?
#include <stdio.h> int main(void) { char a; while ( a != '\n' ) { scanf("%c", &a); printf("%c", a - 32); } printf("\n"); return 0; }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
19 avril 2012 à 17:50
19 avril 2012 à 17:50
Et pourquoi déterrer un topic avec un programme moins bon que ceux proposés ? Pour info il ne faut jamais faire une comparaison avec une variable non initialisée. Et aussi ne pas oublier de vider le flux clavier.
de Minuscules ---> majuscules avec la notion de pointeur en C
#include<stdio.h>
#include<conio.h>
#include<string.h>
char* majuscule(char *s)
{
char *p;
for (p=s;*p;p++)
if (*p >= 'a' && *p <= 'z')
*p=*p +'A'-'a';// ou bien -32
return s;
}
main()
{
char s1[65];
printf("donner une chaine s1: ");
gets(s1);
printf("la chaine en majuscule :");
puts(majuscule(s1));
getch();
}
#include<stdio.h>
#include<conio.h>
#include<string.h>
char* majuscule(char *s)
{
char *p;
for (p=s;*p;p++)
if (*p >= 'a' && *p <= 'z')
*p=*p +'A'-'a';// ou bien -32
return s;
}
main()
{
char s1[65];
printf("donner une chaine s1: ");
gets(s1);
printf("la chaine en majuscule :");
puts(majuscule(s1));
getch();
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
>
scercro
9 mars 2009 à 12:54
9 mars 2009 à 12:54
Non !
De minuscule en majuscule, c'est bien : *p += 'A' - 'a';
De minuscule en majuscule, c'est bien : *p += 'A' - 'a';
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
15 mai 2011 à 20:30
15 mai 2011 à 20:30
Je trouve que *p='A' - 'a' bien plus simple en plus d'être plus lisible.
En plus tu ne vérifies pas la borne inférieure !
La fonction gets() ne doit pas être utilisée. On utilise plutôt la fonction fgets...
Et enfin, le post date de plus de deux ans...
En plus tu ne vérifies pas la borne inférieure !
La fonction gets() ne doit pas être utilisée. On utilise plutôt la fonction fgets...
Et enfin, le post date de plus de deux ans...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
13 mai 2014 à 23:59
13 mai 2014 à 23:59
Bonsoir,
bien que le sujet date déjà je poste juste ceux code alternatif au tien (@Max)
bien que le sujet date déjà je poste juste ceux code alternatif au tien (@Max)
/* Mise en majuscule */ char f_UpChar(char c){ return ( ((c)>='a') && ((c)<='z') ? ((c)-'a' + 'A') : (c) ); } /* Mise en Miniscule */ char f_DownChar(char c){ return ( ((c)<='A') && ((c)<='Z') ? ((c)-'A' + 'a') : (c) ); }
hssissen
Messages postés
844
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
9 janvier 2017
50
3 oct. 2005 à 22:32
3 oct. 2005 à 22:32
UPCASE()?