Buenas, estaba intentando programar un ejercicio que convierte base 10 a binario cuando me ha salido el error "lvalue required as left operand of assignment" en la función siguiente:
int Decimal_A_Binario(int num_bin[],int num_10,int num_bits)
{
int aux,i,resto;
for(aux=num_10;aux=1;i=num_bits;i=0;i--)
{
aux%2=resto;
aux/2=aux;
num_bin =resto;
}
}
Supongo que tendrá bastante errores, espero que podais ayudarme, gracias!!
Hola Electro93 lo que no está bien es esto:
aux%2=resto;
aux/2=aux;
El error quiere decir que estas líneas requieren un valor en la izquierda(variable) como operando de asignación.Es decir que si tu a una variable quieres asignarle algo tiene que ser así:
resto = aux % 2;
aux = aux / 2;
Tiene que estar la variable a la que le quieres asignar lo que sea primero, y después las operaciones.
La línea 2 de este último código que he puesto puedes sustituirla por:
aux /= 2;
Tiene otro error pero a ver si te das cuenta tú ( es de lógica, no por una mala programación y te doy una pista que tiene que ver con el array num_bin). Ah y utiliza las etiquetas Geshi que colorean el código y da gusto leerlo.
¡Un saludo!
Muchas gracias tio! por fin lo solucioné!
Ahora el problema es que en esta linea : for(aux=num_10;aux=1;i=num_bits-1;i=0;i--)
me da el tipico error expected ")" before ";" token
Es que el for solo puede tener dos puntos y coma:
for(int i = 5; i !=0 ; --i)
{
}
Tiene su estructura:
for(inicialización del iterador ; condición ; aumento o disminución del iterador)
{
código
}