elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No se ejecuta el programa compilado en Dev-c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: No se ejecuta el programa compilado en Dev-c++  (Leído 32,572 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
No se ejecuta el programa compilado en Dev-c++
« en: 28 Mayo 2010, 05:31 am »

No se lo que pasa, al principio se se ejecutaban, pero despues no, probe desintalando y volviendo a instalar, pero el unnistaller del programa dejo todos los archivos igual, a pesar de que decia que se habia desintalado y no se podia desintalar por agregar o quitar programar porque no aparecia, asi que lo volvi a instalar encima, pero no funciono.

El caso es que por ejemplo, este codigo:
Código:
#include <stdio.h>
int x,y;
main()
{
printf("Introduce un numero");
scanf("%d%d",&x,&y);
if(x==y)
{
printf("%d y %d son iguales",x,y);
system("pause");
}
else
{
printf("%d y %d no son iguales",x,y);
system("pause");
}
}

No aparece si quiera la ventana de ms-dos, se compila sin problema y sin dar errores, pero no se muestra la ventana, ni por un segundo.

Pero con este codigo:
Código:
#include <stdio.h>
int long x,y;
main()
{
printf("Este programa le muestra a partir de dos cantidades dadas,\ncual es mayor y cual es menor. Presione Enter para continuar");
getchar();
Inicio:
printf("\tIntroduzca la primera cantidad ");
scanf("%d",&x);
printf("\tIntroduzca la segunda cantidad ");
scanf("%d",&y);
if(x<y) //10 menor que 20 por ej.
{
printf("\t\t%d Es menor que %d\n",x,y); //segundo numero (10) mayor que el primero (20)
printf("\t\t%d Es mayor que %d\n",y,x);
goto Inicio;
}
else if(x>y)
{
printf("\t\t%d Es menor que %d\n",y,x); //segundo numero (20) mayor que el primero (10)
printf("\t\t%d Es mayor que %d\n",x,y);
goto Inicio;
}
else(x=y);
{
printf("\t\t%d Es igual a %d\n",x,y);
printf("\t\tLas dos cantidades son iguales\n");
goto Inicio;
}
}

Si se ejecuta y se muestra, no se porque, parece como si solo fuera con codigos pequeños. Lo que hace deducir que si se ejecutan, pero tan rapido que la ventana ni se muestra?, pero para eso puse system("pause");

No entiendo que pasa


En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
MasterPM2


Desconectado Desconectado

Mensajes: 425


,.-~´¨¯¨`·~-.¸--$4(_Må§të®-Þåølø™_)-$-,.-~´¨¯¨`·~-


Ver Perfil
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #1 en: 28 Mayo 2010, 05:35 am »

ponele un
Código:
return = 0;


En línea

ANBU暗部   Ansatsu Senjutsu Tokushu Butai暗殺戦術特殊部隊 Fuerza militar especial táctica de eliminación........MyDarker Sid3

<firma retirada, no la vuelvas a poner o se te sancionara>  <- - Amenazas
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #2 en: 28 Mayo 2010, 05:54 am »

Prueba lo del return.

Pero no te comento por eso, si no por que, la instrucción 'goto' no es para nada aconsejable en programación modular... Te lo digo como consejo, para que vayas aprendiendo ^^
En línea

MasterPM2


Desconectado Desconectado

Mensajes: 425


,.-~´¨¯¨`·~-.¸--$4(_Må§të®-Þåølø™_)-$-,.-~´¨¯¨`·~-


Ver Perfil
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #3 en: 28 Mayo 2010, 06:02 am »

tiene razon, y si nos vamos a la buena practica del programador, te recomiendo inicializar siempre tus variables en cero al momento de declararlas, de lo contrario podria almacenarte "basura" en esos espacios de memoria reservados, y alterar el resultado o hacer, como vos decis "que el programa se comporte extraño".
En línea

ANBU暗部   Ansatsu Senjutsu Tokushu Butai暗殺戦術特殊部隊 Fuerza militar especial táctica de eliminación........MyDarker Sid3

<firma retirada, no la vuelvas a poner o se te sancionara>  <- - Amenazas
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #4 en: 28 Mayo 2010, 06:35 am »

A donde debo poner el return=0 ?
me da error

Pues acabo de leer por ahi que cuando se empieza con main() (como yo lo hice) el programa espera ningun resultado, pero cuando se inicia con void main(), no. Entonces puse void main() al principio y al final return 0; y se compilo, pero no pasa nada de todas formas.

Ademas al principio no tenia que poner el return...

Y bueno, lei por ahi, si, que goto da muchos problemas, pero no encontraba otra forma de poner para que el programa volviera a comenzar
« Última modificación: 28 Mayo 2010, 06:49 am por Aikanáro Anário » En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #5 en: 28 Mayo 2010, 07:13 am »

int main() = devuelves un entero

void main() = NO devuelves nada

Es aconsejable que main() SIEMPRE devuelva un valor, pues es lo que espera el sistema operativo, por lo cual, haz siempre int main() y return (valor).

Y para hacer que se ejecute varias veces, puedes usar un bucle...

Código
  1.  
  2. ...
  3. int sw =0;
  4.  
  5. do
  6. {
  7.    funciones();
  8.    funciones();
  9.    si (pedir_numero()!=0)
  10.    {
  11.        sw =1;
  12.    }
  13. } while (sw==0);
  14.  
  15. ...
  16.  
  17.  

Repite el bucle mientras que sw sea igual a 0. en el momento que sw sea distinto que 0, sale del bucle. Lee sobre estructuras de control, así te evitas usar goto ^^

http://es.wikipedia.org/wiki/Estructura_de_control_%28computaci%C3%B3n%29

Y siempre intenta evitar bucles infinitos

http://es.wikipedia.org/wiki/Bucle_infinito

Y por último, con system("pause"); condicionas el uso del programa en sistemas Windows. Para mejorar la portabilidad y el funcionamiento, puedes usar getchar(); o similar...



« Última modificación: 28 Mayo 2010, 07:28 am por GNU López » En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #6 en: 28 Mayo 2010, 07:27 am »

getch(); tampoco es portable. getchar(); en todo caso.

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #7 en: 28 Mayo 2010, 07:29 am »

getch(); tampoco es portable. getchar(); en todo caso.

Saludos

Vale, no me acordé de que estaba definido en conio... Gracias por avisar, ya modifiqué
En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #8 en: 28 Mayo 2010, 16:33 pm »

Pero el programa no se ejecuta todavia, por ahora mi principal problema
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: No se ejecuta el programa compilado en Dev-c++
« Respuesta #9 en: 28 Mayo 2010, 20:06 pm »

¿Qué compilador usas? A mi con GCC me va perfectamente (Quitando los system("pause"))



Prueba una cosa, scanf puede dar problemas al ensuciar el buffer, pide las 2 variables por separado en vez de en el mismo scanf, y haz fflush (No es muy recomendado, como dijimos) para limpiar el buffer.

Código
  1.  
  2. int a,b;
  3. fflush(stdin);
  4. scanf("%d", &a);
  5. fflush(stdin);
  6. scanf("%d", &b);
  7.  
  8. if (...)
  9.  
  10.  
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines