Algumas vêzes precisamos preencher posições de um vetor, com alguns dígitos específicos, por exemplo:
preencher posições de um vetor com algarismos menores que 10, que é o caso deste programa, ou um outro valor pré-determinado.
Más este programa vai além disto, ele está programado para reprovar qualquer caractere que não seja dígitos menores que 10, reprovando também,
números negativos, exceto o -1, que faz a saída do programa.
Está mais que claro que este programa pode fazer parte de um mais elaborado, servindo de base para se obter o máximo de desempenho.
Eis abaixo algumas imagens do programa em execução:
Eis abaixo, o código do programa:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void Janela5(){
int lin, col;
for ( lin = 0; lin <= 25; lin++ ){
for ( col = 0; col <= 80; col++ ){
gotoxy( col, lin );
if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
if ( lin == 25 ){textbackground(LIGHTBLUE);}
if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
}
}textbackground( BLACK );
}
int Vetor ( char num [ 4 ] ){
int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
void Titulo(){int i = 0;Janela5();
char *titulo = {"VETOR DE CHAR PARA INTEIRO"
"CRIADO POR SAMUEL LIMA"
"sa_sp10@hotmail.com"
"PRESSIONE QUALQUER TECLA"};
textcolor(YELLOW);gotoxy(18,7);for ( i = 0; i < 26; i++){
printf ("%c ",titulo [ i ] );Sleep(50);
}
textcolor(LIGHTRED);gotoxy(34,9);for ( i = 26; i < 37; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(LIGHTGREEN);gotoxy(33,11);for ( i = 37; i < 48; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(LIGHTBLUE);gotoxy(25,13);for ( i = 48; i < 67; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(WHITE);gotoxy(21,19);for ( i = 67; i < 91; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
getche();
}
void Vet_Char_Int(){
char num [ 9 ][ 2 ];
int a = 0, i = 0, n = 0, vet [ 10 ];
for( i = 0; i < 10; i++ ){
system("cls");Janela5();
textcolor(LIGHTRED);gotoxy(29,3);printf("VETOR DE CHAR PARA INTEIRO" );
textcolor(LIGHTBLUE);gotoxy(19,5);printf("Digite um numero para a posicao " );
textcolor(LIGHTRED);printf(" %d%c ", i + 0, 167 );
textcolor(LIGHTBLUE);printf("do Vetor A" );
textcolor(YELLOW);gotoxy(66, 5);scanf("%s", num [ i ] );fflush(stdin);
n = atoi ( num [ i ] );
if( n == -1 ){
textcolor(LIGHTRED);gotoxy(33,20);printf ("O ROCCO AGRADECE");Sleep(1800);exit(0);
}
if ( n < 0 ){
textcolor(LIGHTGREEN);gotoxy(25,9);printf("\aO Unico Negativo Valido e o -1");
getche();
}
if ( n > 9 ){
textcolor(LIGHTGREEN);gotoxy(22,11);printf("\aSo sao aceitos Numeros menores que 10 ");
getche();Vet_Char_Int();system("cls");
}
if ( Vetor ( num [ i ] ) == 0 ){
textcolor(LIGHTGREEN);gotoxy(34,11);printf("Voce digitou: %s", num [ i ] );
textcolor(LIGHTGREEN);gotoxy(25,13); printf("\aIsso nao e um numero Valido !");
getche();Vet_Char_Int();system("cls");
}
}system("cls");Janela5();
textcolor(LIGHTRED);gotoxy(29,3);printf("VETOR DE CHAR PARA INTEIRO" );
textcolor(LIGHTBLUE);gotoxy(24,5);printf("Imprimindo abaixo, o Vetor de char" );
textcolor(YELLOW);gotoxy(24,7);for( i = 0; i < 10; i++ ){
printf(" %s ", num [ i ] );
vet [ a ] = atoi ( num [ i ] );
a++;
}getche();
textcolor(LIGHTBLUE);gotoxy(14,9);printf("Imprimindo abaixo, o Vetor de char convertido para Inteiro" );
textcolor(YELLOW);gotoxy(24,11);for( a = 0; a < 10; a++ )
printf(" %d ", vet [ a ] );
textcolor(LIGHTRED);gotoxy(33,20);printf ("O ROCCO AGRADECE");getche();exit(0);
}
int main(){
system ("title VETOR DE CHAR PARA INTEIRO");
Titulo();
Vet_Char_Int();
}
preencher posições de um vetor com algarismos menores que 10, que é o caso deste programa, ou um outro valor pré-determinado.
Más este programa vai além disto, ele está programado para reprovar qualquer caractere que não seja dígitos menores que 10, reprovando também,
números negativos, exceto o -1, que faz a saída do programa.
Está mais que claro que este programa pode fazer parte de um mais elaborado, servindo de base para se obter o máximo de desempenho.
Eis abaixo algumas imagens do programa em execução:
Eis abaixo, o código do programa:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void Janela5(){
int lin, col;
for ( lin = 0; lin <= 25; lin++ ){
for ( col = 0; col <= 80; col++ ){
gotoxy( col, lin );
if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
if ( lin == 25 ){textbackground(LIGHTBLUE);}
if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
}
}textbackground( BLACK );
}
int Vetor ( char num [ 4 ] ){
int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
void Titulo(){int i = 0;Janela5();
char *titulo = {"VETOR DE CHAR PARA INTEIRO"
"CRIADO POR SAMUEL LIMA"
"sa_sp10@hotmail.com"
"PRESSIONE QUALQUER TECLA"};
textcolor(YELLOW);gotoxy(18,7);for ( i = 0; i < 26; i++){
printf ("%c ",titulo [ i ] );Sleep(50);
}
textcolor(LIGHTRED);gotoxy(34,9);for ( i = 26; i < 37; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(LIGHTGREEN);gotoxy(33,11);for ( i = 37; i < 48; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(LIGHTBLUE);gotoxy(25,13);for ( i = 48; i < 67; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
textcolor(WHITE);gotoxy(21,19);for ( i = 67; i < 91; i++){
printf ("%c ",titulo [ i ] );Sleep(100);
}
getche();
}
void Vet_Char_Int(){
char num [ 9 ][ 2 ];
int a = 0, i = 0, n = 0, vet [ 10 ];
for( i = 0; i < 10; i++ ){
system("cls");Janela5();
textcolor(LIGHTRED);gotoxy(29,3);printf("VETOR DE CHAR PARA INTEIRO" );
textcolor(LIGHTBLUE);gotoxy(19,5);printf("Digite um numero para a posicao " );
textcolor(LIGHTRED);printf(" %d%c ", i + 0, 167 );
textcolor(LIGHTBLUE);printf("do Vetor A" );
textcolor(YELLOW);gotoxy(66, 5);scanf("%s", num [ i ] );fflush(stdin);
n = atoi ( num [ i ] );
if( n == -1 ){
textcolor(LIGHTRED);gotoxy(33,20);printf ("O ROCCO AGRADECE");Sleep(1800);exit(0);
}
if ( n < 0 ){
textcolor(LIGHTGREEN);gotoxy(25,9);printf("\aO Unico Negativo Valido e o -1");
getche();
}
if ( n > 9 ){
textcolor(LIGHTGREEN);gotoxy(22,11);printf("\aSo sao aceitos Numeros menores que 10 ");
getche();Vet_Char_Int();system("cls");
}
if ( Vetor ( num [ i ] ) == 0 ){
textcolor(LIGHTGREEN);gotoxy(34,11);printf("Voce digitou: %s", num [ i ] );
textcolor(LIGHTGREEN);gotoxy(25,13); printf("\aIsso nao e um numero Valido !");
getche();Vet_Char_Int();system("cls");
}
}system("cls");Janela5();
textcolor(LIGHTRED);gotoxy(29,3);printf("VETOR DE CHAR PARA INTEIRO" );
textcolor(LIGHTBLUE);gotoxy(24,5);printf("Imprimindo abaixo, o Vetor de char" );
textcolor(YELLOW);gotoxy(24,7);for( i = 0; i < 10; i++ ){
printf(" %s ", num [ i ] );
vet [ a ] = atoi ( num [ i ] );
a++;
}getche();
textcolor(LIGHTBLUE);gotoxy(14,9);printf("Imprimindo abaixo, o Vetor de char convertido para Inteiro" );
textcolor(YELLOW);gotoxy(24,11);for( a = 0; a < 10; a++ )
printf(" %d ", vet [ a ] );
textcolor(LIGHTRED);gotoxy(33,20);printf ("O ROCCO AGRADECE");getche();exit(0);
}
int main(){
system ("title VETOR DE CHAR PARA INTEIRO");
Titulo();
Vet_Char_Int();
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.