[ Foro de C ]
#include <stdio.h>
int diferencia(char a, char b) {
if ( !((a>='A' && a<='Z') || (a>='a' && a<='z')) )
return -1;
if ( !((b>='A' && b<='Z') || (b>='a' && b<='z')) )
return -1;
if (a>'Z')
a -= 'a'-'A';
if (b>'Z')
b -= 'a'-'A';
if (a>b)
return a-b;
else
return b-a;
}
int main() {
char letra1, letra2;
int dif;
do {
printf("Introduce una letra del abecedario en mayúsculas o minúsculas (excepto la ñ): ");
scanf("\n%c", &letra1);
printf("Introduce otra letra del abecedario en mayúsculas o minúsculas (excepto la ñ): ");
scanf("\n%c", &letra2);
dif = diferencia(letra1, letra2);
if (dif == -1)
printf("Error, solo puedes introducir letras del abecedario.\n");
else if (dif == 1)
printf("La diferencia entre la %c y la %c es de un carácter.", letra1, letra2);
else
printf("La diferencia entre la %c y la %c es de %d caracteres.", letra1, letra2, dif);
} while (dif == -1);
return 0;
}
hola antonio
el programa compara dos caracteres y dice cual es la separación que hay entre ellos en el abecdario
esto lo hace con la función diferencia, que primero mira que esté dentro de los limintes del las letras, si hay mayúsculas las pasa a minúscula y saca la diferéncia usando los valores ascii de las letras
saludos ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)