Mais avançado, mais inteligente e mais organizado, este programa apresenta evoluções em relação ao outro que postei:
"PROGRAMA NUMEROS CARDINAIS"
Se você é iniciante em linguagem C, não pode deixar de testar estes dois programas, principalmente este,
porque o funcionamento é excelente e o código é de fácil entendimento.
Um dos destaque do programa é a função Cardinais();que é responsável
por barrar caracteres digitados ou string, e a milagrosa função atoi
que converte os números colhidos pela função gets(); para inteiros.
O código foi criado no eclipse e está rodando sem nenhum warning.
Clique aqui e curta minha página no facebook
Veja abaixo o código do programa:
"PROGRAMA NUMEROS CARDINAIS"
Se você é iniciante em linguagem C, não pode deixar de testar estes dois programas, principalmente este,
porque o funcionamento é excelente e o código é de fácil entendimento.
Um dos destaque do programa é a função Cardinais();que é responsável
por barrar caracteres digitados ou string, e a milagrosa função atoi
que converte os números colhidos pela função gets(); para inteiros.
O código foi criado no eclipse e está rodando sem nenhum warning.
Clique aqui e curta minha página no facebook
Veja abaixo o código do programa:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
void Janela5 ( ) {
int lin, col;
col = 0;
for ( lin = 2; lin <= 24 ; lin++ )
for ( col = 2; col <= 78 ; col++ ) {
gotoxy ( col , lin );
textbackground ( AZULCLARO );
printf ( " " );
}
}
int n = 0, un, de, ce, mi, erro = 0;
int main ( );
void FuncUnidade ( ) {
if ( un == 1 ) {
printf ( "Um" );
}
if ( un == 2 ) {
printf ( "Dois" );
}
if ( un == 3 ) {
printf ( "Tres" );
}
if ( un == 4 ) {
printf ( "Quatro" );
}
if ( un == 5 ) {
printf ( "Cinco" );
}
if ( un == 6 ) {
printf ( "Seis" );
}
if ( un == 7 ) {
printf ( "Sete" );
}
if ( un == 8 ) {
printf ( "Oito" );
}
if ( un == 9 ) {
printf ( "Nove" );
}
}
int Cardinais ( char num [ 4 ] ) {
int i, lev;
lev = strlen ( num );
for ( i = 0; i < lev; i++ ) {
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
int main ( ) {
system ( "title PROGRAMA NUMEROS CARDINAIS II" );
char num [ 10 ];
Janela5 ( );
do {
textcolor ( VERMELHOCLARO );
gotoxy ( 29 , 3 );
printf ( "PROGRAMA
NUMEROS CARDINAIS II" );
textcolor ( AMARELO );
gotoxy ( 24 , 5 );
printf ( "Programa
desenvolvido por:" );
textcolor ( CIANOCLARO );
gotoxy ( 51 , 5 );
printf ( "Samuel
Lima" );
textcolor ( VERDECLARO );
gotoxy ( 34 , 7 );
printf ( "sa_sp10@hotmail.com" );
textcolor ( BRANCO );
gotoxy ( 25 , 9 );
printf ( "Digite um
Numero ou -1 Para sair: " );
textcolor ( PRETO );
gets ( num );
n = atoi ( num );
if ( n == -1 ) {
textcolor ( VERMELHOCLARO );
gotoxy ( 33 , 20 );
printf ( "O ROCCO
AGRADECE" );
Sleep ( 1800 );
exit ( 0 );
}
while ( n < 0 || n > 9999 ) {
textcolor ( VERMELHOCLARO );
gotoxy ( 25 , 11 );
printf ( "\aO Numero
nao Pode Ser Negativo" );
textcolor ( VERMELHOCLARO );
gotoxy ( 25 , 12 );
printf ( "Nem Maior que
10000" );
getche ( );
erro = 0;
main ( );
}
if ( Cardinais ( num ) == 0 ) {
textcolor ( VERDECLARO );
gotoxy ( 34 , 12 );
printf ( "Voce digitou:
%s" , num );
textcolor ( VERDECLARO );
gotoxy ( 34 , 13 );
printf ( "\aIsso nao e
um numero Valido !" );
getche ( );
erro = 0;
main ( );
} else {
//separa milhares
mi = ( n / 1000 );
//separa centenas
ce = ( ( n - ( mi * 1000 ) ) / 100 );
//separa dezenas
de = ( ( n - ( ( mi * 1000 ) + ( ce * 100 ) ) ) / 10 );
//separa unidades
un = ( n - ( ( mi * 1000 ) + ( ce * 100 ) + ( de * 10 ) ) );
textcolor ( VERMELHOCLARO );
gotoxy ( 35 , 11 );
printf ( "Voce digitou:
" );
textcolor ( PRETO );
gotoxy ( 50 , 11 );
printf ( "%d %d %d
%d" , mi , ce , de , un );
textcolor ( AMARELO );
gotoxy ( 15 , 13 );
printf ("Separando A
milhar, centenas, dezenas, e unidades Temos:" );
gotoxy ( 35 , 15 );
mi = mi * 1000;
ce = ce * 100;
de = de * 10;
un = un * 1;
textcolor ( VERDECLARO );
printf ( " %d %d %d
%d" , mi , ce , de , un );
textcolor ( PRETO );
gotoxy ( 37 , 17 );
printf ( "%d
Milhar" , mi / 1000 );
gotoxy ( 37 , 18 );
printf ( "%d
Centenas" , ce / 100 );
gotoxy ( 37 , 19 );
printf ( "%d
Dezenas" , de / 10 );
gotoxy ( 37 , 20 );
printf ( "%d
Unidades" , un / 1 );
getche ( );
textcolor ( VERMELHOCLARO );
gotoxy ( 15 , 21 );
printf ( "Em
Cardinal:" );
textcolor ( PRETO );
gotoxy ( 3 , 23 );
if ( mi == 9000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Nove Mil
" );
} else {
printf ( "Nove Mil e
" );
}
}
if ( mi == 8000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Oito Mil
" );
} else printf ( "Oito Mil e
" );
}
if ( mi == 7000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Sete Mil
" );
} else printf ( "Sete Mil e
" );
}
if ( mi == 6000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Seis Mil
" );
} else printf ( "Seis Mil e
" );
}
if ( mi == 5000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Cinco Mil
" );
} else printf ( "Cinco Mil e
" );
}
if ( mi == 4000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Quatro Mil
" );
} else printf ( "Quatro Mil e
" );
}
if ( mi == 3000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Tres Mil
" );
} else printf ( "Tres Mil e
" );
}
if ( mi == 2000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Dois Mil
" );
} else printf ( "Dois Mil e
" );
}
if ( mi == 1000 ) {
if ( de == 0 && un == 0 ) {
printf ( "Mil " );
} else printf ( "Mil e " );
}
if ( ce == 900 ) {
if ( de == 0 && un == 0 ) {
printf ( "Novecentos" );
} else printf ( "Novecentos e
" );
}
if ( ce == 800 ) {
if ( de == 0 && un == 0 ) {
printf ( "Oitocentos" );
} else printf ( "Oitocentos e
" );
}
if ( ce == 700 ) {
if ( de == 0 && un == 0 ) {
printf ( "Setecentos" );
} else printf ( "Setecentos e
" );
}
if ( ce == 600 ) {
if ( de == 0 && un == 0 ) {
printf ( "Seiscentos" );
} else printf ( "Seiscentos e
" );
}
if ( ce == 500 ) {
if ( de == 0 && un == 0 ) {
printf ( "Quinhentos" );
} else printf ( "Quinhentos e
" );
}
if ( ce == 400 ) {
if ( de == 0 && un == 0 ) {
printf ( "Quatrocentos" );
} else printf ( "Quatrocentos
e " );
}
if ( ce == 300 ) {
if ( de == 0 && un == 0 ) {
printf ( "Trezentos" );
} else printf ( "Trezentos e
" );
}
if ( ce == 200 ) {
if ( de == 0 && un == 0 ) {
printf ( "Duzentos" );
} else printf ( "Duzentos e
" );
}
if ( ce == 100 ) {
if ( de == 0 && un == 0 ) {
printf ( "Cem" );
} else printf ( "Cento e
" );
}
if ( de == 20 ) {
if ( de == 0 || un == 0 ) {
printf ( "Vinte" );
} else printf ( "Vinte e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 30 ) {
if ( de == 0 || un == 0 ) {
printf ( "Trinta" );
} else printf ( "Trinta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 40 ) {
if ( de == 0 || un == 0 ) {
printf ( "Quarenta" );
} else printf ( "Quarenta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 50 ) {
if ( de == 0 || un == 0 ) {
printf ( "Cincoenta" );
} else printf ( "Cinquenta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 60 ) {
if ( de == 0 || un == 0 ) {
printf ( "Sessenta" );
} else printf ( "Sessenta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 70 ) {
if ( de == 0 || un == 0 ) {
printf ( "Setenta" );
} else printf ( "Setenta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 80 ) {
if ( de == 0 || un == 0 ) {
printf ( "Oitenta" );
} else printf ( "Oitenta e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( de == 90 ) {
if ( de == 0 || un == 0 ) {
printf ( "Noventa" );
} else printf ( "Noventa e
" );
FuncUnidade ( );
getche ( );
main ( );
}
if ( un == 1 ) {
if ( de == 0 || un == 0 ) {
printf ( "Um" );
getche ( );
main ( );
} else printf ( "Onze " );
getche ( );
main ( );
}
if ( un == 2 ) {
if ( de == 0 || un == 0 ) {
printf ( "Dois" );
} else printf ( "Doze " );
getche ( );
main ( );
}
if ( un == 3 ) {
if ( de == 0 || un == 0 ) {
printf ( "Tres" );
} else printf ( "Treze " );
getche ( );
main ( );
}
if ( un == 4 ) {
if ( de == 0 || un == 0 ) {
printf ( "Quatro" );
} else printf ( "Catorze " );
getche ( );
main ( );
}
if ( un == 5 ) {
if ( de == 0 || un == 0 ) {
printf ( "Cinco" );
} else printf ( "Quinze " );
getche ( );
main ( );
}
if ( un == 6 ) {
if ( de == 0 || un == 0 ) {
printf ( "Seis" );
} else printf ( "Dezesseis
" );
getche ( );
main ( );
}
if ( un == 7 ) {
if ( de == 0 || un == 0 ) {
printf ( "Sete" );
} else printf ( "Dezessete
" );
getche ( );
main ( );
}
if ( un == 8 ) {
if ( de == 0 || un == 0 ) {
printf ( "Oito" );
} else printf ( "Dezoito
" );
getche ( );
main ( );
}
if ( un == 9 ) {
if ( de == 0 || un == 0 ) {
printf ( "Nove" );
getche ( );
main ( );
} else printf ( "Dezenove " );
getche ( );
main ( );
}
if ( de == 10 ) {
if ( de == 0 || un == 0 ) {
printf ( "Dez" );
getche ( );
main ( );
}
}
getche ( );
}
} while ( 1 );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.