SoloCodigo

Programación General => Pascal => Mensaje iniciado por: gruthemhamhuthen en Lunes 5 de Julio de 2004, 09:36

Título: Re: Mostrar información por pantallas
Publicado por: gruthemhamhuthen en Lunes 5 de Julio de 2004, 09:36
tengo un problemita con el turbo pascal en windows y no sabia a quien acudir,
hice un programa para la U. y se trata de vectores, hay alumnos y promedios, pero cuando lo hecho a correr. por ejemplo:

como hay 12 alumnos y doce promedios no puedo ver los promedios y el nombre de los alumnos que cargue
como puedo imprimir los resultados mas despacio, o imprimir los resultados cortados.

gracias espero que me puedan ayudar :(
Título: Re: Mostrar información por pantallas
Publicado por: SilentBob en Lunes 5 de Julio de 2004, 11:51
Utiliza un contador.

Por ejemplo:

Código: Text
  1.  
  2. constantes:
  3.    MAX_REGISTROS_EN_PANTALLA = 10;
  4.  
  5. variables:
  6.    alumnos: vector de Alumno;
  7.    promedios: vector de Promendio;
  8.    contador, registrosMostrados: entero;
  9.    numElementos: entero;
  10.  
  11. principio
  12.    ....
  13.    registrosMostrados = 0;
  14.    para contador = 0 hasta numElementos hacer
  15.        mostrar(alumnos[contador]);
  16.        mostrar(promedios[contador]);
  17.        incrementa(registrosMostados);
  18.        si registrosMostados = MAX_REGISTROS_EN_PANTALLA entonces
  19.            mostrar("Pulsa una tecla para continuar");
  20.            pausa();
  21.            registrosMostrados = 0;
  22.            borrarPantalla();
  23.        finSi;
  24.    finPara;
  25.    ....
  26. fin.
  27.  
  28.  

Nota: El pascal lo tengo un poco oxidado, asin que espero que con el seudocodigo, pilles la idea.

Salu2.
Título: Re: Mostrar información por pantallas
Publicado por: REDD en Lunes 5 de Julio de 2004, 19:04
Tambien puedes usar la funcion wherey suponiendo que quieres imprimir solo 20 registros pr pantalla empezando del renglon 2:
 
  if(wherey>21) then
begin
  gotoxy(40,23);write('Presione Enter para continuar');readln;clrscr;
end
else
begin
  {imprimir lo que hay que imprimir}
end;