Agora eu mostro um exemplo prático de como substituir caracteres dentro de uma matriz de char.
O código foi criado no eclipse como todos os outros, porque é minha IDE padrão, e por aqui,
não mostrou nenhum warnings.
O código é indicado a iniciantes em C, que deve usá-lo como fonte de estudos.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
O código foi criado no eclipse como todos os outros, porque é minha IDE padrão, e por aqui,
não mostrou nenhum warnings.
O código é indicado a iniciantes em C, que deve usá-lo como fonte de estudos.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col,
int tam_fim_col, int a, int b ) {
int i, c;
if ( a >= 1 && a <= 16 ) {
textcolor ( a );
}
if ( b >= 1 && b <= 16 ) {
textbackground ( b );
}
for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
gotoxy ( c, i );
printf ( " " );
}
}
}
int Saida ( int n ) {
if ( n == -1 ) {
textcolor ( LIGHTBLUE );
gotoxy ( 22, 30 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel
Lima" );
textcolor ( BLACK );
gotoxy ( 22, 31 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37, 32 );
printf ( "MUITO OBRIGADO" );
getche ( );
exit ( 0 );
}
return 0;
}
int main ( ) {
system ( "title
SUBSTITUINDO CARACTERES EM MATRIZ" );
system ( "Color A7" );
got_color ( 2, 34, 3, 79, 2, 0 );
char string [ 20 ] [ 43 ] = {
"Q O B G C O H
O P P N A Y G B D F R H O",
"O C V W M L W
A U P W G K I S J G A U A",
"O I I J V I P
I D F Q N I O K Z Z Z Y C",
"T T W S S C P
A X B L I G S O R V I O A",
"N S O J E A M
B I N D T H T Y H F L O E",
"G I H T J B M
K J Z I A A G O K I A M T",
"R L T P N W T
Q Y F Y C O T Z W S B H E",
"X A V C L E R
G V W C H N G A J J A I C",
"A B Z S L F M
I K T H E I V O U K G L A",
"Z A J I Z E A
A R I M S A R K P N D F C",
"R C Y B L B T
W H A N A E E H C Z N L L",
"R J N E D A V
N H N L D J N X Z A F E B",
"C D A U C C N
L E O I V X J Q T S F H I",
"L A T G L O U
A R C J P O E V J U V O X",
"M O J I Q B L
A B M A W S U D W G R F D",
"R Y D H R R C
O C Q L J R E G A E D V F",
"E T K O I R K
L G H A K D J B J B T T B",
"E V B C A H V
B A O W D C A I A Z A Z J",
"O A N B Y C U
V G C A C O S Q S W I L N",
"Y R X U J C V
S T X B G K Y W J B M G I"};
char ch1 [ 3 ];
char ch2 [ 3 ];
int i, j, n;
do {
textcolor ( LIGHTRED );
gotoxy ( 25, 3 );
printf ( "SUBSTITUINDO
CARACTERES EM MATRIZ " );
textcolor ( LIGHTBLUE );
gotoxy ( 24, 5 );
printf ( "Escolha um
caracter para substituir " );
textcolor ( WHITE );
for ( i = 0; i < 20; i++ ) {
gotoxy ( 22, i + 7 );
for ( j = 0; j < 43; j++ ) {
printf ( "%1c", string [ i ] [ j ] );
}
}
textcolor ( LIGHTBLUE );
gotoxy ( 22, 28 );
printf ( "Para sair
digite " );
textcolor ( LIGHTRED );
printf ( "[ - 1 ]
" );
gets ( ch1 );
fflush ( stdin );
strupr ( ch1 );
n = atoi ( ch1 );
if ( n == -1 ) {
Saida ( n );
}
gotoxy ( 47, 28 );
clreol ( );
textcolor ( LIGHTBLUE );
gotoxy ( 24, 5 );
printf ( "Escolha um
caracter para substituição" );
textcolor ( LIGHTBLUE );
gotoxy ( 22, 28 );
printf ( "Para sair
digite " );
textcolor ( LIGHTRED );
printf ( "[ - 1 ]
" );
gets ( ch2 );
fflush ( stdin );
strupr ( ch2 );
n = atoi ( ch2 );
if ( n == -1 ) {
Saida ( n );
}
for ( i = 0; i < 20; i++ ) {
gotoxy ( 22, i + 7 );
for ( j = 0; j < 43; j++ ) {
if ( string [ i ] [ j ] == *ch1 ) {
string [ i ] [ j ] = *ch2;
}
}
}
textcolor ( LIGHTBLUE );
for ( i = 0; i < 20; i++ ) {
gotoxy ( 22, i + 7 );
for ( j = 0; j < 43; j++ ) {
if ( string [ i ] [ j ] == *ch2 ) {
textcolor ( LIGHTRED );
printf ( "%1c", string [ i ] [ j ] );
} else {
textcolor ( WHITE );
printf ( "%1c", string [ i ] [ j ] );
}
}
}
getche ( );
gotoxy ( 24, 5 );
clreol ( );
gotoxy ( 47, 28 );
clreol ( );
} while ( 1 );
return 0;
}