C/Visual C - problema con los avioncios

 
Vista:

problema con los avioncios

Publicado por norvic (1 intervención) el 02/12/2007 07:52:01
BUENO . ante todo me presento soy victor villacorta sanmarquino......... y buenoi :
me dejaron como tarea en el curso de ciencias de la computacion 2 demi universidad , programar avioncitos capaces de disparar , como practicando el uso del gotoxy y clrscr() para
visual studioc++2006
y luego de crear el codigo , al ejecutarlo me di con la sorpresa que no corrian adecuadamnete
el problema se encuentra en que segun mi analogia el " i " inicialiozado en 1 nunca debe ser menor a cero al igual que mi " k "inicializado en 76,, por lo que declaro el while , mientras ambos sean mayores a cero asi mis aviones nunca dejarian de volar , ahora si en el while en vez de colocar el || pongo && osea cambio (o ) a (y) el programa acaba inexplicablemente y ademas al corrrer mi programa se ve que cuando acaban un la linea los aviones suben hasta la parte superior de lapantalla por unos 3 segundos y luego siguen su curso normal, notandose anomalia en su ejecucion .
ojala me puedan ayudar , quizas mi analogia esta mal en algo ,
AGRADEZCO DE ANTICIPO SU RESPUESTA
// ---- norvic -----
#include<iostream.h>
#include<stdlib.h>
#include<math.h>
#include<dos.h>
#include <windows.h>
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), coord);
}
#include<process.h>
void clrscr()
{
system("cls");
}
void main ()
{
char a,b,c,d;
int i,j,k,l,p,q,m;
// proceso para el primer avion
a=200;b=205;c=206;d=207;
i=1;
j=1;
k=76;
l=2;
while(i>0 || k>0)
{
if(i<75 && k>3 && i>0 && k>0)
{
if(i%10==0 )
{
p=i;q=k;
for(m=j;m<=20;m++)
{
clrscr();
gotoxy(i,j);cout<<d<<a<<b<<c<<endl;
i++;
gotoxy(k,l);cout<<c<<b<<a<<d<<endl;
k--;
gotoxy(q,m+1);cout<<d<<endl;
gotoxy(p,m);cout<<d<<endl;
gotoxy(k,m+1);cout<<d<<endl;
gotoxy(i,m);cout<<d<<endl;
}

}
clrscr();
gotoxy(i,j);cout<<a<<b<<c<<endl;
gotoxy(k,l);cout<<c<<b<<a<<endl;
i++;
k--;

}
else
{
if(j<6)
{
j=j+2;
i=1;
}
else
{
j=1;
}
if(l<=6)
{
l=l+2;
k=76;
}
else
{
l=2;
}
}
}
}
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