| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
krlox15
Registrado: 05 Dic 2005 Mensajes: 3
| Publicado: 05/12/2005 8:23 pm | | | Título: cadena en casacada urgente!!!!! |
| | hola necesito que me ayuden con un super problema esque quiero un programa que capture una cadena y que esa cadena simule la caida en casacada de cada uno de los caracteres.[b][/b] |
| | Volver arriba | |  | macu
Registrado: 01 May 2005 Mensajes: 227 Ubicación: Galicia
| Publicado: 06/12/2005 3:25 am | | | Título: |
| Está hecho en dev-c++.
| Código: | #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #define PANTALLA STD_OUTPUT_HANDLE #define PAUSA 300
void gotoxy(int, int);
int main() { char cadena[]="hola, k tal?"; register int i, j; for(i=0; i<strlen(cadena); i++) { if(i) for(j=0; j<i; j++) { gotoxy(i, j); printf("%c\n", cadena[i]); Sleep(PAUSA); gotoxy(i, j); printf(" "); } printf("%c\n", cadena[i]); } system("pause"); return EXIT_SUCCESS; }
void gotoxy(int x, int y) { COORD pos; pos.X = y; pos.Y = x; SetConsoleCursorPosition(GetStdHandle(PANTALLA), pos); }
|
|
| | Volver arriba | |  | macu
Registrado: 01 May 2005 Mensajes: 227 Ubicación: Galicia
| Publicado: 06/12/2005 9:34 am | | | Título: |
| He cambiado el codigo para que el efecto sea totalmente en cascada.
| Código: | #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #define PANTALLA STD_OUTPUT_HANDLE #define PAUSA 300
void gotoxy(int, int);
int main() { char cadena[]="hola, k tal?"; register int i, j; for(i=0; i<strlen(cadena); i++) { for(j=0; j<i; j++) { gotoxy(j, i); printf("%c", cadena[i]); Sleep(PAUSA); gotoxy(j-1, i); printf(" "); } if(i) gotoxy(j-1, i); printf("%c", cadena[i]); } system("pause"); return EXIT_SUCCESS; }
void gotoxy(int x, int y) { COORD pos; pos.X = y; pos.Y = x; SetConsoleCursorPosition(GetStdHandle(PANTALLA), pos); }
|
|
| | Volver arriba | |  | | candres
Registrado: 04 Oct 2005 Mensajes: 36
| Publicado: 06/12/2005 9:45 am | | | Título: ass |
| | hola macu , mira me intereso este tema , y vi el programa y es muy bueno , pero no entiendo bien el proceso que haces , podrias por favor explicar el procedimiento? GRACIAS |
| | Volver arriba | |  | macu
Registrado: 01 May 2005 Mensajes: 227 Ubicación: Galicia
| Publicado: 06/12/2005 12:48 pm | | | Título: |
| Bien, explicaré la siguiente parte que es la única que puede resultar un poco confusa:
| Código: | // 1. for(i=0; i<strlen(cadena); i++) { // 2. for(j=0; j<i; j++) { gotoxy(j, i); printf("%c", cadena[i]); Sleep(PAUSA); gotoxy(j-1, i); printf(" "); } if(i) // Este if sobraría gotoxy(j-1, i); printf("%c", cadena[i]); }
|
1. Vamos a recorrer toda la cadena para visualizar las letras en forma de cascada. 2. Vamos a empezar a crear el efecto. Cada letra se situará desplazada una fila y una columna, hacia la derecha y abajo respectivamente. Cada letra se irá visualizando desde la posición inicial (fila 0, columna X), donde X es será el número de letra, hasta la final, es decir, una fila más abajo y una columna más a la derecha.
El efecto cascada está creado puesto que se saca por pantalla la letra correspondiente, se hace una pausa, y se borra, este ciclo sigue hasta que llega a la posición final. Cuando salimos de este for, ponemos finalmente la letra correspondiente y pasamos a la siguiente.
Sé que no me explico muy bien, pero puedes mirar detenidamente el código poco a poco y llegar a entenderlo mejor. |
| | Volver arriba | |  | krlox15
Registrado: 05 Dic 2005 Mensajes: 3
| Publicado: 06/12/2005 8:26 pm | | | Título: gracias pero!!!! |
| | gracias pero esque lo necesito para el compilador mas viejo de turbo c en el que las letras son todas amarillas y la pantalla es azul y ni siquiera utiliza el cursor todavia espero que me puedas ayudar me urge. |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |