• Domingo 15 de Diciembre de 2024, 03:04

Autor Tema:  Proiblema Con Los Avioncitos  (Leído 1339 veces)

norvic

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Proiblema Con Los Avioncitos
« en: Domingo 2 de Diciembre de 2007, 07:33 »
0
BUENO . ante todo me presento soy victor villacorta nuevo en este foro......... 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;
}
}

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Proiblema Con Los Avioncitos
« Respuesta #1 en: Domingo 2 de Diciembre de 2007, 11:15 »
0
Eso con VC++ no compila (no existe ninguna version 2006 del Visual Studio).

El primer problema es que usas iostream.h, debe ser iostream nada mas. Intentas acceder directamente a cout y endl sin especificar el namespace, tenes dos posibilidades o using namespace std; o en ambos le antepones el namespace. STD_OUTPUT_H ANDLE supongo que sera un error de copiado (va todo junto).

Despues el codigo esta malformado y no esta identado con lo cual es dificil ver donde esta el problema (que no permite compilar pese a solucionar lo anterior) a menos que lo hagamos nosotros. ¿Que significan esas variables? ¿No te parece que son poco descriptivas? Mejor depuralo, sos el unico que sabe a que se refiere el programa.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

norvic

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Proiblema Con Los Avioncitos
« Respuesta #2 en: Domingo 9 de Diciembre de 2007, 06:12 »
0
BUENOP  , GRACIAS POR LOS CONSEJOS ,   EL PROBLEMA YA LO SOLUCIONE,
EL CUAL CONSISTIA EN QUE MI AVION REANUDABA EL VUELO NORMAL HASTA QUE LABALA TERMINARA SU CAIDA YA QUE METI EL VUELO DEL AVION DENTRO DEL DE LA BALA , Y LO SOLUCIONE CALCULANDO QUE EL PROCESO DE CAIA TERMINE ANTES DE LLEGAR AL BORDE
EL  PROGRAMA ANTERIOR ESTABA DESORDENADOAHORA LO MANDARE ORDENADO HABER QUIZAS ALGUIEN LE INTERESE PROBRALO  :
(USO  VISUAL STUDIO C++ 2005)SORRY


 // ---- 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_HANDLE), 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=3;
j=1;
k=75;
l=2;
while(i>0 )
{
   if(k>3)
   {
      if(i%20==0 )
      {
         p=i;q=k;
         for(m=j;m<=20;m++)
         {
         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--;
      clrscr();
   }
   else
   {
      if(j<6)
      {
         j=j+2;
         i=3;
      }
      else
      {j=1;
      }
      if(l<=6)
      {
         l=l+2;
         k=75;
      }
      else
      {
         l=2;
      }
   }
}
}
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.