Buenas, estoy empezando en esto de C, y tengo un ejercicio con punteros y tablas pero no me sale bien, agradecería que le echasen un ojo al codigo, gracias!
Esque ando un poco perdido
Código [Seleccionar]
/*
** Fichero: <nombre del fichero>
** Autor: <nombre del alumno>
** Fecha: <fecha de última edición>
**
** Descripcion: <Descripción sucinta del contenido del fichero>
*/
/* Includes del sistema */
#include <stdio.h>
/* Includes de la aplicacion */
#include "decHex.h"
/* Definición de constantes */
/* Tipos definidos por el usuario */
/* Declaración de funciones locales. Para cada función: */
/*
** Parámetros: <tipo1> <parm1> <Descripción>
** <tipo2> <parm2> <Descripción>
** ...
** Devuelve: <tipo> <Descripción>
**
** Descripción: <Descripción>
*/
int leeNumero(signed char tipoNumero);
void decBin(int numero, int i, char * pfaux);
/************************************************************/
int main()
{
int tipoNumero;
int numero;
int i;
char tabcaracteres[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char * pfaux=tabcaracteres;
i=0;
tipoNumero=0;
numero=(leeNumero(tipoNumero));
printf("El numero en hexadecimal es: %d",numero);
decBin(numero, i, pfaux);
printf("\n");
return 0;
}
/* Definiciones de funciones */
int leeNumero(signed char tipoNumero)
{
int valorentero;
int valorreal;
int valor;
valorentero=0;
valorreal=0;
if (tipoNumero)
{
printf(T_INTRODUZCA_NUMERO2);
scanf("%d", &valorreal);
}
else
{
do
{
printf(T_INTRODUZCA_NUMERO);
scanf("%d", &valorentero);
}
while (valorentero<0);
}
valor=valorentero+valorreal;
return valor;
}
void decBin(int numero, int i, char * pfaux)
{
int resto;
if (numero==0)
printf("%d",numero);
else if (numero==1)
printf("%d",numero);
else if ((numero/16)==1)
{
printf("%d",(numero/16));
printf("%d",(numero%16));
while((i-1)>=0)
{
printf("%d",*(pfaux+(i-1)));
i++;
}
}
else
{
resto=(numero%16);
numero=numero/16;
*(pfaux+i)=numero;
decBin((numero/16),( i+1), pfaux);
}
}
Esque ando un poco perdido