Dev - C++ - AYUDA problema con dev c++

 
Vista:
sin imagen de perfil

AYUDA problema con dev c++

Publicado por erick (1 intervención) el 27/08/2017 19:01:20
tengo este codigo y a lo que compilo y ejecuto me sale programa.exe dejo de funcionar
alguien que por favor me ayude a solucionarlo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
main ()
{
	int a;
	printf ("digite su edad\n");
	scanf ("%d",a);
	if (a>=18)
	{
		printf ("usted es mayor de edad\n");
	}
	else
	if (a<=18)
	{
		printf ("usted es menor de edad\n");
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA problema con dev c++

Publicado por Thanatos (199 intervenciones) el 27/08/2017 23:58:00
En la linea:

1
scanf ("%d",a);

scanf espera que le indiques la dirección de memoria de la variable a, en lugar de eso le estás pasando el valor que contiene la variable (que es desconocido, porque la variable no ha sido inicializada). Necesitas utilizar el operador ampersand &.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main(void)
{
    int edad;
 
    printf("digite su edad\n");
    scanf("%d", &edad);
 
    if (edad >= 18)
    {
        printf("usted es mayor de edad\n");
    }
    else if (edad <= 18)
    {
        printf("usted es menor de edad\n");
    }
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xhred

AYUDA problema con dev c++

Publicado por Xhred (18 intervenciones) el 28/08/2017 00:06:07
Supongo que te sale el mensaje del printf en consola y al momento de introducir el numero el programa deja de funcionar esto puede ser a que falto introducir el ampersand "&" de este modo.

1
scanf ("%d", &a);

Tambien en tus if deberias de quitar algún signo igual = como por ejemplo el segundo If solamente dejar el menor que <.
Pues si el usuario introduce el numero 18 este va a entrar en las 2 condicionales imprimiendo que es mayor de edad y menor de edad.
Por último deberias de agregar un return 0; o un exit(0); para que el programa deje de ejecutarse al termino de la ultima linea y dependiendo de tu version de Dev C++ agregar un getchar(); o getch(); para ver que muestre los mensajes necesarios en la consola, ya que en algunas versiones con el return 0; es suficiente para que puedas ver los mensajes en pantalla hasta que presiones una tecla y en otras es necesario el uso del getch(); o getchar();.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar