ayuda! error: lvalve required as left operand of assignmet

Iniciado por NicoSanhueza, 1 Mayo 2018, 17:52 PM

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

NicoSanhueza

Buenas tardes a todos, espero que esten muy bien.

El problema que debo resolver es :"SUMA 1-2+3-4+5-6....n"
Mi observacion: pares son negativos e impares positivos.

El unico error que se detecto es :"14: lvalve required as left operand of assignmet"

lo que realizé fue lo siguiente:

Código (cpp) [Seleccionar]
#include <stdlib.h>
#include <stdio.h>

int main()
{
   int numero,cont,suma=0,resta=0,total;

   printf("Ingrese la cantidad de numeros consecutivos a sumar:");
   scanf("%d",&numero);   // se lee el dato

   cont=1;
   while(cont<=numero)
   {
       (cont%2==0)? resta=resta-cont:suma=suma+cont;   // linea14
       (cont%2==0)? printf("%d",resta):printf("%d",suma);                                                        
       cont++;    
   }

   total=resta+suma;
   printf("El resultado es:%d",total);

   return 0;
}

¿Que significa ese error?
¿Esta mal planteado el programa?
gracias de antemano :)


· Los códigos deben ir en etiquetas GeSHi
· No se debe escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex

engel lex

Código (cpp) [Seleccionar]
(cont%2==0)? resta=resta-cont:suma=suma+cont;

estás aplicando el ternario de manera incorrecta, estás usandolo como si fuera un if y no lo es del todo

el error se deriva de una operación de asignación a la misma variable en un ternario, para tu caso un ternario no tiene sentido, usa if en la linea 14, en la 15 no afecta pero no es un uso apropiado del ternario... el no es un if es un operador

por cierto, este problema se puede resolver con una formula matemática sin necesidad de ciclos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.