• Viernes 15 de Noviembre de 2024, 03:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Gigi0

Páginas: [1]
1
C/C++ / Re: Lectura De Cadenas De Caracter En Modo Grafico
« en: Lunes 9 de Agosto de 2004, 06:05 »
Qué tal, antes que nada saludos y espero esto aún te sirva...
Resulta que encontré varios errores, que son algo delicados a la hora de programar, pero iwal se corrigen con práctica... y son los siguientes:
 1.- Primero que nada debemos ver la forma en la que declaraste la variable 'capitulo_opcion'.
 2.- ' capitulo_opcion' es la misma que quisiste imprimir en outtextxy?, si es así te equivocaste 'cadena_opcion'. Asumí que era la misma.
 3.- Recordarás que la pantalla en DOS es de 640X480. Bueno, tú problema está en que al asumir que posx=400, esto quiere decir que estarás más inclinado a la derecha y va aumentando de 5 en 5 según tu for(te faltó el '=', sería posx+=5, si no no da, y por cierto tu contador se detiene en 2 letras) después, en tu outtextxy pones que la posición en 'y' sea de 460 esto es, hasta abajo!!. No sé si lo quieras centrado, pero para eso tienes dos funciones
     getmaxx() para x , que sería  posx=getmaxx()/2; //eso te lo pone a la mitad en x
     getmaxy() para y, que sería   posy=getmaxy()/2;//esto en y
 
 posx=400;
for (cont = 0; cont <= 2; cont ++,posx+5)
{
capitulo_opcion[cont]=getch();
outtetxy(posx,460,cadena_opcion);
}

4.- Ahora, dependiendo de como declaraste cadena_opcion, que debe ser
char cadena_opcion[10]; //o algo así
al llamarla en outtextxy(posx,posy,cadena_opcion);/*asi te saca la cadena completa
                                                                           en cada for, lo que debe ir si es        
                                                                           que quieres que solo salga letra
                                                                por letra, es:*/
outtextxy(posx,posy,&cadena_opcion[cont]);
con eso queda...
espero haberme explicado, si no... agrégame a tu msn y lo platicamos.
Saludos y suerte
PD te posteo el codigo que hice yo y quedó...

char cadena_opcion[10];
x = getmaxx() / 2;
y = getmaxy() / 2;
for (int cont = 0; cont <= 9; cont++)//aqui declaré cont dentro del for,no es                                                                       necesario declararlo antes, por si te fala eso
 {                                                   //Limpiamos la cadena de cualquier basura
 cadena_opcion[cont]=NULL; }
 for (cont = 0; cont <= 9; cont ++,x+=10)
 {
 cadena_opcion[cont]=getch();
 outtextxy(x,y,&cadena_opcion[cont]);

 }

Páginas: [1]