C/Visual C - Salir de un programa en C

 
Vista:
sin imagen de perfil

Salir de un programa en C

Publicado por Alberto (1 intervención) el 09/12/2015 01:59:19
Hola chicos, tengo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/* cubo2.c */
 
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
 
void pixel(int x,int y, int color)
{
asm mov ah,12;
asm mov cx,x;
asm mov dx,y;
asm mov al,color;
asm int 10h
}
 
void modo(int n)
{
asm mov ah,0;
asm mov al,n;
asm int 10h;
}
 
void pausa()
{
asm mov ah,0;
asm int 16h;
}
 
int i,j,a,b,d,avance;
 
main()
{
a=51;
b=0;
modo(6);
 
/* primer vuelta */
 
do{
modo(6);
a+=1;
b+=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
avance=0;
do{
modo(6);
a-=1;
b-=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
/*otro2*/
 
avance=0;
 
do{
modo(6);
a+=1;
b+=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
avance=0;
do{
modo(6);
a-=1;
b-=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
 
/*otro3*/
 
avance=0;
 
do{
modo(6);
a+=1;
b+=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
avance=0;
do{
modo(6);
a-=1;
b-=1;
 
for(i=b;i<a;i++)
pixel(i,84,1);
 
for(i=b;i<a;i++)
pixel(i,110,1);
 
for(j=84;j<110;j++)
pixel(b,j,1);
 
for(j=84;j<110;j++)
pixel(a,j,1);
avance+=1;
delay(3);
 
}while(avance<579);
 
 
 
pausa();
pausa();
return 0;

Bueno, basicamente lo que hace este codigo es pintar un cuadro en pantalla y desplazarlo de izquierda a derecha.
Lo que no entiendo es como hacer que el codigo se termine de ejecutar al presionar la tecla ESC, alguna sugerencia que me puedan dar?
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

Salir de un programa en C

Publicado por Tom (619 intervenciones) el 09/12/2015 11:59:10
¿ exit() ?
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 Giancarlo

Salir de un programa en C

Publicado por Giancarlo (5 intervenciones) el 10/12/2015 23:43:41
Hola, perdon por demorar pero estoy en finales y con muy poco tiempo..
Estas usando un lenguaje que use muy poco pero la sintaxis siempre es la misma..
Lo que se me ocurre ( es solo una idea no lo he probado ) que podrías utilizar el código ASCII para la tecla escape y usarlo para hacer la comprobación en el bucle.
O puedes usar el comando getch o sea definir tu variable y llamarla mediante getch. Para eso debes agregar una libreria depende de que programa uses, si usas dev-c++ tenes que tener cuidado porque muchas funciones no las tiene prueba antes agregando la libreria #include <windows.h>.
utiliza la libreria del mismo sistema operativo de windows, se llama windows.h alli puedes utliizar gotoxy, clrscr y muchos mas que no corren en dev-c++, solo que tendras que investigar una funcion que habilite estas funciones, como por ejemplo, la libreria iostream, para poder usar sus funciones tales como cout o cin etc, necesitas primero declarar una funcion que los llame la cual es using namespace std:: ...

int c;

while ((c = getch()) != ESCAPE_KEY)....

a ver si te sale es una idea... espero te ayude!
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
sin imagen de perfil

Salir de un programa en C

Publicado por anonymous (12 intervenciones) el 11/12/2015 03:12:19
ejecuta un thread y capta señales con la libreria <signal.h>. Un metodo muy usado es capturar Ctrl+ c
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