Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jamatbar en 11 Noviembre 2013, 22:32 pm



Título: Cambiar una sentencia if else if por un if else
Publicado por: jamatbar en 11 Noviembre 2013, 22:32 pm
Buenas, tengo el siguiente programa básico para pasar de número decimal a hexadecimal:

Código:
#include <stdio.h>

int main()
{

  /* Declaramos las variables */
  char car1;
  char car2;
  char valor1;
  char valor2;
  int valor;
 
  printf("Introduzca el numero hexadecimal: ");
  scanf("\n%c%c", &car1, &car2);

  /* Condiciones para el primer caracter*/
  if ('0' <= car1 && car1 <= '9')
    valor1 = car1 - '0';
  else if ('A' <= car1 && car1 <= 'F')
    valor1 = car1 - 'A' + 10;

  /* Condiciones para el segundo caracter*/
  if ('0' <= car2 && car2 <= '9')
    valor2 = car2 - '0';
  else if ('A' <= car2 && car2 <= 'F')
    valor2 = car2 - 'A' + 10;


  valor = 16 * valor1 + valor2;

  printf("El valor decimal de 0x%c%c es %d\n", car1, car2, valor);

  return 0;
}

Me pide el profesor que cambie cada sentencia "if else if" por una "if else", pero he probado y siempre me da error al compilar, ¿alguna ayuda?

Saludos!


Título: Re: Cambiar una sentencia if else if por un if else
Publicado por: avesudra en 12 Noviembre 2013, 00:36 am
¿Qué error te da al compilar? A mi me va perfectamente, hay que detallar más las preguntas.

Esperando tu respuesta para poder ayudarte.

¡Un saludo!


Título: Re: Cambiar una sentencia if else if por un if else
Publicado por: jamatbar en 12 Noviembre 2013, 10:36 am
¿Qué error te da al compilar? A mi me va perfectamente, hay que detallar más las preguntas.

Esperando tu respuesta para poder ayudarte.

¡Un saludo!

No da ninguno, sólo que el profesor exige que la práctica no tenga la sentencia else if xD, pero ya lo he podido solucionar, gracias!