Estoy empezando en esto de la programación y haciendo un ejercicio me estoy volviendo loco, y seguro que no será tan difícil... La cuestión es que necesito hacer un programa que pida al usuario un carácter o numero, si es un numero de 1 a 7 diga el día de la semana asociado, y si es un carácter de la A a la G diga el numero que le corresponde, por ejemplo a la b o la B el 2...
Y el problema es que no se como guardar el valor tecleado ya que si es un numero es un int y si es un carácter debe ser un char.
Código:
#include <iostream>
using namespace std;
char caracter;
int main(void) {
cout<<"\nEscribe un carácter: "; cin>>caracter;
if (caracter >= 0 && caracter <= 7)
{
if (caracter == 1 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Lunes";
}
else if (caracter == 2 ){
cout<<"El dia de la semana asociado al caracter " <<caracter<< " es el Martes";
}
else if (caracter == 3 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Miercoles";
}
else if (caracter == 4 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Jueves";
}
else if (caracter == 5 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Viernes";
}
else if (caracter == 6 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Sábado";
}
else if (caracter == 7 ){
cout<<"El dia de la semana asociado al caracter "<<caracter<< " es el Domingo";
}
}
else if ((caracter >= 'a' && caracter <= 'g') || (caracter >= 'A' && caracter <= 'G'))
{
if (caracter =='a' || caracter == 'A') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 1";
}
if (caracter =='b' || caracter == 'B') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 2";
}
if (caracter =='c' || caracter == 'C') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 3";
}
if (caracter =='d' || caracter == 'D') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 4";
}
if (caracter =='e' || caracter == 'E') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 5";
}
if (caracter =='f' || caracter == 'F') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 6";
}
if (caracter =='g' || caracter == 'G') {
cout<<"El numero asociado al caracter "<<caracter<<" es el 7";
}
}
else {
cout<<"El carater introducido no es un valor alfanumerico aceptado";
}
return 0;
}
Si declaro un char me funciona con los caracteres y si declaro un int me funciona con los números, pero no se como hacer para que me funcione en ambos casos.
¿Alguna ayuda?
Muchas gracias!