Já sabemos que é perfeitamente possível escrever en tela
gráfica, usando outras funções que substitui a função
printf e cprintf do modo texto, e estas funções são:
sprintf e outtextxy, que trabalham juntas nesta operação.
Em posts anteriores já venho utilizando estas funções,
Más e a entrada de dados? O que faremos para ler do teclado
já que scanf ou gets só funciona em modo texto?
Está mais que real que esta é uma obrigação nossa
programadores em linguagem c de criar uma função
que atenda estas necessidades.
E como sou bem detalhista, criei este programa
que contém uma função até bem melhor do que se espera.
Neste exemplo, o programa permite que se digite qualquer
coisa do teclado, que ele filtra eliminando todos os
dígitos que foram digitados, e se por acaso só dígitos
forem digitados ele nada mostra.
Veja abaixo duas imagens do programa em execução:
veja abaixo o código do programa:
gráfica, usando outras funções que substitui a função
printf e cprintf do modo texto, e estas funções são:
sprintf e outtextxy, que trabalham juntas nesta operação.
Em posts anteriores já venho utilizando estas funções,
Más e a entrada de dados? O que faremos para ler do teclado
já que scanf ou gets só funciona em modo texto?
Está mais que real que esta é uma obrigação nossa
programadores em linguagem c de criar uma função
que atenda estas necessidades.
E como sou bem detalhista, criei este programa
que contém uma função até bem melhor do que se espera.
Neste exemplo, o programa permite que se digite qualquer
coisa do teclado, que ele filtra eliminando todos os
dígitos que foram digitados, e se por acaso só dígitos
forem digitados ele nada mostra.
Veja abaixo duas imagens do programa em execução:
veja abaixo o código do programa:
#include <stdio.h>
#include <graphics.h>
#define ENTER 13
void imp_jan ( int x, int y, int lin, int col, int n ) {
for ( int i = 0; i <= n; i++ ) {
line ( x + i, y, x + i, y + lin );
line ( x + col + i, y, x + col + i, y + lin );
line ( x, y + i, x + col, y + i );
line ( x, y + i + lin, x + col + n, y + i + lin );
}
}
int Format ( char vet [ 50 ] ) {
int d = 0, i, i_ = 1, k = 0, t;
char letra = '\0';
for ( i = 0; i < 50; i++ )
vet [ i ] = ' ';
do {
setcolor ( 14 );
imp_jan ( 1, 96 * i_ - 97, 285, 643, 20 );
d++;
letra = getch ( );
vet [ k ] = letra;
k++;
t = strlen ( vet );
settextstyle ( 10, 0, 2 );
setcolor ( 15 );
outtextxy ( 130, 100, vet );
if ( letra == ENTER ) {
break;
}
} while ( d < 50 );
return 0;
}
int main ( ) {
int i, j, lenv, len_v;
char Num [ ] = "0123456789";
initwindow ( 663, 303, "ENTRADA DE
DADOS - CARACTERES" );
char *vet = { 0 };
vet = ( char* ) malloc ( 50 );
for ( i = 0; i < 50; i++ )
vet [ i ] = ' ';
cleardevice ( );
settextstyle ( 10, 0, 2 );
setcolor ( 12 );
outtextxy ( 130, 40, "ENTRADA DE
DADOS - CARACTERES" );
setcolor ( 9 );
outtextxy ( 130, 70, "Digite uma
frase " );
setcolor ( 15 );
//entrada de dados
Format ( vet );
len_v = strlen ( vet );
lenv = strlen ( Num );
setcolor ( 9 );
outtextxy ( 130, 130, "Abaixo só os
caracteres da frase" );
vet [ len_v - 1 ] = 0;
for ( i = 0; i < len_v; i++ ) {
for ( j = 0; j < lenv; j++ ) {
if ( vet [ i ] == Num [ j ] ) {
vet [ i ] = ' ';
}
}
}
setcolor ( 12 );
outtextxy ( 130, 160, vet );
delay ( 1800 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 160, 190, "Por: " );
setcolor ( 13 );
outtextxy ( 240, 190, "Samuel
Lima" );
setcolor ( 15 );
outtextxy ( 220, 240, "MUITO
OBRIGADO" );
getch ( );
closegraph ( );
return ( 0 );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.