A grande sacada deste programa é a função converge. Esta função escreve no console uma string convergindo para o meio, isto é:
- letra 0;
- letra n;
- letra 1;
- letra n-1;
...
De forma que o texto passado por parâmetro seja por fim escrito.
Let's to the code:
-----
#include "stdio.h"
#include "windows.h"
int tamanhoString(char *str){
int tamanho = 0;
while(*str){
tamanho++;
*str++;
}
return tamanho;
}
void gotoxy(int x, int y){
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void converge( int line, char *msg ){
int i, j;
for( i = 1, j = tamanhoString(msg); i < j; i++, j-- ){
gotoxy(i, line);
printf("%c", msg[i-1]);
gotoxy(j, line);
printf("%c", msg[j-1]);
}
}
int main(){
converge(10, "Testando a funcao converge()");
getchar();
return 0;
}
-----
Como você pôde perceber, utilizamos uma função já implementada: SetConsoleCursorPosition.
Por este motivo, incluímos a biblioteca windows.h e, obviamente, este programa só funciona em ambiente Windows. Para quem utiliza Linux, se não me engano, utilizamos a biblioteca graph.h para usar a função já implementada gotoxy();
Nenhum comentário:
Postar um comentário