Cambiar una sentencia if else if por un if else

Iniciado por jamatbar, 11 Noviembre 2013, 22:32 PM

0 Miembros y 1 Visitante están viendo este tema.

jamatbar

Buenas, tengo el siguiente programa básico para pasar de número decimal a hexadecimal:

#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!

avesudra

¿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!
Regístrate en

jamatbar

Cita de: 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!

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!