• Domingo 15 de Diciembre de 2024, 12:31

Autor Tema:  Urgente  (Leído 1498 veces)

lucas01_kar

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Urgente
« en: Sábado 10 de Diciembre de 2005, 23:54 »
0
:( Tengo un problema, como puedo hacer en este programa que despues de darle el texto y haga el banner se salga al precionando la tecla "Esc". Este es mi programa lo dejo a su disposicion.


#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void main(void)
{
   char t[50];
   int i,op,y,x,j,tecla;
   clrscr();
   printf("Programa que realiza un baner");
   printf("\n\n\ningresa un texto\n\n\n");
   gets(t); //almacena la cadena de texto
   clrscr();
   x=40-strlen(t)/2;
   y=12;
   gotoxy(x,y);
   printf("%s",t); //imprime la cadena
   do //ciclo para el banner
   {
      for(i=2;i<=80-strlen(t);i++)
      {
         clrscr();
         gotoxy(i,12);
         printf("%s",t);
      }
      if(i>=79-strlen(t))
      {
         for(j=i;j>=2;j--)
         {
            clrscr();
            gotoxy(j,12);
            printf("%s",t);
         }
      i=2;
      }
   }while(t!=0); //aqui termina
}


Y de pàso, como le hago para centrar y juestificar a la derecha el texto de este progrma. ya que me pide que le de un texto y que se pare hasta darle enter o sean 80 caracteres.


#include<conio.h>
#include<stdio.h>
void dertexto(void);
void iztexto(void);
void centexto(void);
int cad,cadena[100],op;
void main (void)
{
   do
   {
      clrscr();
      printf("Menu\n\n");
      printf("1.-Justificacion a la Derecha.\n2.-Justificacion a la Izquierda.\n3.-Justificacion Centrada.\n4.-Salir.\n\n");
      op=getche();
      switch(op)
      {
         case '1':clrscr();
                  dertexto();
                  break;
         case '2':clrscr();
                  iztexto();
                  break;
         case '3':clrscr();
                  centexto();
                  break;
      }
   }while(op!='4');
}

/*Las referencias sirven para todas las funciones*/
void dertexto(void)//funcion
{
   int i;
   printf("Dame un texto menor a 80 caracteres:\n\n");
   i=1;
   do
      {
         cad=getch();
         cadena=cad;/*sirve para almacenar cada caracter en un arreglo y que los valla contando*/
         gotoxy(80-i,5);
         printf("%c",cadena);
         i++;
         if (i==82)//si es mayor a 80 caracteres se para
            break;
      }while(cad!=("%c",13));
}

void iztexto(void)//funcion
{
   int i;
   printf("Dame un texto menor a 80 caracteres:\n\n");
   i=1;
   do
      {
         cad=getch();
         cadena=cad;
         gotoxy(i,5);
         printf("%c",cadena);
         i++;
         if (i==82)
            break;
      }while(cad!=("%c",13));
}

void centexto(void)//funcion
{
   int i;
   printf("Dame un texto menor a 80 caracteres:\n\n");
   i=1;
   do
      {
         cad=getch();
         cadena=cad;
         gotoxy(40+i,5);
         printf("%c",cadena);
         i++;
         if (i==82)
            break;
      }while(cad!=("%c",13));
}

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Urgente
« Respuesta #1 en: Viernes 16 de Diciembre de 2005, 02:21 »
0
esto lo acaban de responder en otro post.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

over_raider

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Urgente
« Respuesta #2 en: Lunes 26 de Junio de 2006, 15:37 »
0
utiliza un bucle while o un do while para controlar  mientras no se pulse escape o hasta q se pulse escape te haga una cosa u otra, una vez q pulsas escape termina o sale del programa, cuando controles la tecla escape q no se te olvide ponerla en codigo ASCII, saludos

Citar
[size=109]Over  Raider[/color]
[/size]

No juzgues a las personas por su apariencia sino por su conocimiento

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Urgente
« Respuesta #3 en: Lunes 26 de Junio de 2006, 16:37 »
0
acordate de postear siempre el codigo entre las tags de codigo, sino no sale la identacion.