elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:27  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  ¿Error código?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Error código?  (Leído 329 veces)
CarLiLlooo


Desconectado Desconectado

Mensajes: 333


Veni, vidi, vici


Ver Perfil WWW
¿Error código?
« en: 3 Noviembre 2011, 21:30 »

Muy buenas a todos. Mi problema es que estoy programando en mi casa a un nivel muy sencillo, estudiando para la asignatura de Informática de mi Ingeniería.
El cuatrimestre que dura la asignatura lo vamos a dedicar a aprender C/C++, empezando desde cero.

El caso. Estaba ensayando con condiciones (if/else, no con switch) y se me ha ocurrido hacer un programa al que le dieras dos valores, y según los que les des, te dirá si a>b, a=b ó a<b. Son enteros.

El código es:

Código:
#include <stdio.h>

int main()

{
    int a,b,c;

    printf("Dame un valor:");
    scanf("%d", &a);

    printf("Dame un valor:");
    scanf("%d", &b);

    if (a>b)
        printf("%d es mayor que %d", a,b);

    else if (a=b)
        printf("%d es igual que %d", a,b);

    else (a<b)
        printf("%d es menor que %d", a,b); /*Línea 21*/

    return 0;
}

Al programar con CodeBlocks, me dice los errores. En la línea 21 (indicada) me dice 'Error: expected ';' before 'printf'.
Pero según mis apuntes, detras de if (x) y else (x) no puede ir un punto y coma, de hecho el programa no va bien.

¿Desde 'cuándo espera' ese ';' o por qué me dice eso?

Gracias.


« Última modificación: 3 Noviembre 2011, 22:45 por CarLiLlooo » En línea

Más que buenos principios prefiero mejores finales.
satu

Desconectado Desconectado

Mensajes: 263

Siempre aprendiendo


Ver Perfil WWW
Re: ¿Error código?
« Respuesta #1 en: 3 Noviembre 2011, 22:30 »

Hola

Veo  2 errores:
-Las comparaciones se hacen con == no con = (que es asignación) (linea 17)
-El error que te da es por poner else (a<b), las condiciones solo se ponen en el if no en el else, es decir, si se cumple la condición del if entra, si no se cumple entra en el else, por tanto debes quitar el (a<b) y dejar el else solo

Código
#include <stdio.h>
 
int main()
 
{
   int a,b,c;
 
   printf("Dame un valor:");
   scanf("%d", &a);
 
   printf("Dame un valor:");
   scanf("%d", &b);
 
   if (a>b)
       printf("%d es mayor que %d", a,b);
 
   else if (a==b)
       printf("%d es igual que %d", a,b);
 
   else
       printf("%d es menor que %d", a,b); /*Línea 21*/
 
   return 0;
}
 

Saludos


« Última modificación: 3 Noviembre 2011, 22:32 por satu » En línea

Breakbeat como forma de vida
;c1v!c

Desconectado Desconectado

Mensajes: 139


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Re: ¿Error código?
« Respuesta #2 en: 3 Noviembre 2011, 22:33 »

y el error de la linea 21 es que en lugar de "else" va "else if" o sino como dice satu!
saludos!

Código
#include <stdio.h>
 
int main()
 
{
   int a,b,c;
 
   printf("Dame un valor:");
   scanf("%d", &a);
 
   printf("Dame un valor:");
   scanf("%d", &b);
 
   if (a>b)
       {printf("%d es mayor que %d", a,b);}
 
   else if (a=b)
       {printf("%d es igual que %d", a,b);}
 
   else if(a<b)
      { printf("%d es menor que %d", a,b); /*Línea 21*/}
 
   return 0;
}
En línea

CarLiLlooo


Desconectado Desconectado

Mensajes: 333


Veni, vidi, vici


Ver Perfil WWW
Re: ¿Error código?
« Respuesta #3 en: 3 Noviembre 2011, 22:39 »

Lo primero que muchas gracias a los dos.

@satu: El primer error se me ha pasado por completo y no debería haberme pasado, el segundo después de decírmelo tú tiene toda la lógica del mundo...

@;c1v!c: Antes de poner 'else' a secas puse 'else if' pero no iba. No me daba errores ni warnigs, simplemente cuando a era menor que b decía que los dos eran iguales (que es la condición de arriba justamente).
Añado que creo que ese error era por no usar bien los signos '=' para la comparación, y no por lo del else if. Efectivamente era eso.

Gracias de nuevo.
« Última modificación: 3 Noviembre 2011, 22:42 por CarLiLlooo » En línea

Más que buenos principios prefiero mejores finales.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error en codigo php
Desarrollo Web
mit 0 275 Último mensaje 26 Mayo 2005, 01:31
por mit
error en el codigo
Programación C/C++
Meg 13 1,090 Último mensaje 13 Febrero 2006, 23:44
por Kanny
Error en Codigo de C
Programación C/C++
Riudo 2 601 Último mensaje 14 Abril 2006, 02:18
por Riudo
ERROR CODIGO 10
Dudas Generales
ainhoa 2 1,397 Último mensaje 22 Septiembre 2006, 21:23
por mash05
Error en Nautilus-data. Codigo de salida error 1.
GNU/Linux
lilo-wannabe 2 1,756 Último mensaje 29 Enero 2011, 03:49
por RyogiShiki
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines