Autor
|
Tema: No se ejecuta el programa compilado en Dev-c++ (Leído 33,291 veces)
|
Aikanáro Anário
|
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: #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: #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
|
|
|
|
MasterPM2
Desconectado
Mensajes: 425
,.-~´¨¯¨`·~-.¸--$4(_Må§të®-Þåølø™_)-$-,.-~´¨¯¨`·~-
|
|
|
|
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
Mensajes: 640
Another Brick in the Wall
|
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
Mensajes: 425
,.-~´¨¯¨`·~-.¸--$4(_Må§të®-Þåølø™_)-$-,.-~´¨¯¨`·~-
|
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
|
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
|
|
|
|
@synthesize
Wiki
Desconectado
Mensajes: 640
Another Brick in the Wall
|
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... ... int sw =0; do { funciones(); funciones(); si (pedir_numero()!=0) { sw =1; } } while (sw==0); ...
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%29Y siempre intenta evitar bucles infinitos http://es.wikipedia.org/wiki/Bucle_infinitoY 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
Mensajes: 2.714
Nie Dam Sie
|
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
Mensajes: 640
Another Brick in the Wall
|
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
|
Pero el programa no se ejecuta todavia, por ahora mi principal problema
|
|
|
En línea
|
|
|
|
@synthesize
Wiki
Desconectado
Mensajes: 640
Another Brick in the Wall
|
¿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. int a,b; if (...)
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Modificar cadenas en programa compilado en Delphi
« 1 2 »
Ingeniería Inversa
|
registrymaster
|
18
|
11,898
|
13 Septiembre 2011, 13:38 pm
por apuromafo CLS
|
|
|
QProcess::execute() no ejecuta el programa [c++][?]
Programación C/C++
|
paju1986
|
2
|
4,953
|
24 Diciembre 2010, 13:53 pm
por paju1986
|
|
|
El programa se ejecuta en el localhost pero en el servidor no se ejecuta
PHP
|
ferarteclasico
|
2
|
4,423
|
8 Julio 2011, 01:38 am
por дٳŦ٭
|
|
|
ayuda programa que ejecuta una ventana en dos pc's
Programación Visual Basic
|
arabik
|
4
|
3,210
|
30 Junio 2012, 21:45 pm
por noele1995
|
|
|
¿Por que tanta diferencia de tamaño entre un programa compilado en un HLL y ASM?
ASM
|
Usuario887
|
7
|
7,874
|
20 Febrero 2021, 22:50 pm
por Eternal Idol
|
|