28.08.2016, 06:44
Nick, me permita te dar uma dica?
Veja o cуdigo ASCII. Basicamente
A tem valor 65
a tem valor 97
B tem valor 66
b tem valor 98
...
Z tem valor 90
z tem valor 122
** valores em decimais **
Qual padrгo disto? O padrгo e que para cada letra maiscula. Basta adicionar +32 para obter-se uma letra minuscula.
Portanto
printf("%c", 'A' + 32) ;
vocк transformou A em a
Agora sу pega essa lуgica e aplica na funзгo new_toupper e new_tolower. Com certeza nгo precisaria tantos if, cases, switch.
@EDIT
Vi que tu sу tб convertendo acentuaзгo. Mas a lуgica se encaixa tambйm. A distancia entre os caracteres com acentos й proporcional.
з = 231
З = 199
32 diferenзa denovo. Б б mesmo caso, Н e н tambйm e por assim vai
Abraзo!
Veja o cуdigo ASCII. Basicamente
A tem valor 65
a tem valor 97
B tem valor 66
b tem valor 98
...
Z tem valor 90
z tem valor 122
** valores em decimais **
Qual padrгo disto? O padrгo e que para cada letra maiscula. Basta adicionar +32 para obter-se uma letra minuscula.
Portanto
printf("%c", 'A' + 32) ;
vocк transformou A em a
Agora sу pega essa lуgica e aplica na funзгo new_toupper e new_tolower. Com certeza nгo precisaria tantos if, cases, switch.
@EDIT
Vi que tu sу tб convertendo acentuaзгo. Mas a lуgica se encaixa tambйm. A distancia entre os caracteres com acentos й proporcional.
з = 231
З = 199
32 diferenзa denovo. Б б mesmo caso, Н e н tambйm e por assim vai
Abraзo!