deseperado: Marquesina desplazandose en c++
tengo que hacer que en pantalla aparezca mi nombre y apellidos y que el mensaje se desplace horizontalmente. al llegar al final de la pantalla, el mensaje debe ir apareciendo por el principio de la pantalla y en la misma linea.
por favor necesito ayuda, es muy urgente
por favor necesito ayuda, es muy urgente
oye yo tb tng ese problema, por casualidad lo tienes que acer para la practica 3?¿
Espero te sirva
#include <conio.h>
#include <dos.h>
#include <iostream.h>
void main()
{
int a=1,b,c=0;
char nombre[50];
gotoxy(2,2); cout"n Ingresa tu nombre: ";
do
{
c++;
nombre[c]=getche();
}while(nombre[c]!=13);
while(!kbhit())
{
for(b=1;b<=c;b++)
{
if(a+b>=78) { gotoxy(a+(b-77),8); }
else { gotoxy(a+b,8); }
cout<<nombre[b];
}
delay(110);
gotoxy(1,8); clreol();
a++;
if(a==78) { a=1; }
}
}
/* El primer do while sirve para leer caracter por caracter el nombre del usuario;
almacenandolos en nombre(la variable nombre esta configurada solo para 50 caracteres),
el segundo do while se ciclara infinitamente hasta que el usuario presione una tecla, y
este imprimira el nombre caracter por caracter en una posicion mas adelante que
anterior.
el delay retrasa la accion 110 milisegundo la siguiente linea borra la linea ya escrita;
y el ultimo if determina que si el primer caracter del nombre sobrepasa los 78 puntos de
pantalla volvera a comenzar desde 1 ya para toda la cadena en lugar de solo hacerlo por
caracter, asi como sucede con el if dentro del for
*/
Espero te sirva al menos de orientacion
#include <conio.h>
#include <dos.h>
#include <iostream.h>
void main()
{
int a=1,b,c=0;
char nombre[50];
gotoxy(2,2); cout"n Ingresa tu nombre: ";
do
{
c++;
nombre[c]=getche();
}while(nombre[c]!=13);
while(!kbhit())
{
for(b=1;b<=c;b++)
{
if(a+b>=78) { gotoxy(a+(b-77),8); }
else { gotoxy(a+b,8); }
cout<<nombre[b];
}
delay(110);
gotoxy(1,8); clreol();
a++;
if(a==78) { a=1; }
}
}
/* El primer do while sirve para leer caracter por caracter el nombre del usuario;
almacenandolos en nombre(la variable nombre esta configurada solo para 50 caracteres),
el segundo do while se ciclara infinitamente hasta que el usuario presione una tecla, y
este imprimira el nombre caracter por caracter en una posicion mas adelante que
anterior.
el delay retrasa la accion 110 milisegundo la siguiente linea borra la linea ya escrita;
y el ultimo if determina que si el primer caracter del nombre sobrepasa los 78 puntos de
pantalla volvera a comenzar desde 1 ya para toda la cadena en lugar de solo hacerlo por
caracter, asi como sucede con el if dentro del for
*/
Espero te sirva al menos de orientacion
