Os algarismos arábicos ou árabes, foram trazidos da Índia para o
Ocidente há muitos séculos atrás e são aqueles que ainda usamos nos
nossos dias.
Os números que escrevemos são formados pelos algarismos 0,1,2,3,4,5,6,7,8 e 9.
cardinal: indica quantidade determinada de seres, de objetos, de animais e etc.
Se for do seu interesse saber mais sobre os números, pesquie na internet
e encontrará milhares de links falando sobre o assunto.
Aproveitando esta véspera de feriado, e o tempo que me sobrou, comecei
a criar este programa, e coloquei o nome de: "PROGRAMA NUMEROS CARDINAIS". O Programa converte números arábicos em cardinais, de 1 a 9999.
Breve resumo do funcionamento:
O programa começa pedindo para que se digite um número, é claro, más existem parâmetros estabelecidos, quanto ao uso destes numeros, porque se você digitar um número negativo que não seja -1, você receberá a seguinte mensagem:
"O Numero não Pode Ser Negativo
Nem Maior que 10000"
Se você digitar um número acma de 9999, a mensagem de retorno é a mesma, e o programa volta ao seu curso normal aguardando que se digite um número válido.
Se você digitar o número negativo -1, o programa se encerra com o meu apelido agradecendo o uso.
Se você digitar um caractere qualquer, que não seja um número, o programa lhe retorna um bipe e a seginte mensagem:
"Isso não e um numero Valido !"
E retorna ao ponto de partida.
Os números digitados são colhidos pela função gets(); e armazenados no vetor de char num [10]; Más logo são convertidos em inteiros graças a função atoi.
Para não ter que escrever muito, deixando tópico muito extenso, escrevo agora sobre a parte mais importante do código, que é a lógica
principal onde na verdade os números são formatados, divididos e separados por milhar, centena, dezena e unidade, isto é fundamental e foi aonde apanhei para deixá-lo funcionando.
Note que eu não usei ponteiros e nem matrizes e nem switch (case); para escolha e para armazenameto dos números na memória, se tivesse feito assim com certeza o programa teria ficado bem mais portátil, más preferi este método porque o programa é indicado a iniciantes em linguagem C.
Na verdade usei uma corrente de ifs e else, que é fácil
de usar e imprementar, e o funcionamento é Perfeito.
Segue o código abaixo:
Os números que escrevemos são formados pelos algarismos 0,1,2,3,4,5,6,7,8 e 9.
cardinal: indica quantidade determinada de seres, de objetos, de animais e etc.
Se for do seu interesse saber mais sobre os números, pesquie na internet
e encontrará milhares de links falando sobre o assunto.
Aproveitando esta véspera de feriado, e o tempo que me sobrou, comecei
a criar este programa, e coloquei o nome de: "PROGRAMA NUMEROS CARDINAIS". O Programa converte números arábicos em cardinais, de 1 a 9999.
Breve resumo do funcionamento:
O programa começa pedindo para que se digite um número, é claro, más existem parâmetros estabelecidos, quanto ao uso destes numeros, porque se você digitar um número negativo que não seja -1, você receberá a seguinte mensagem:
"O Numero não Pode Ser Negativo
Nem Maior que 10000"
Se você digitar um número acma de 9999, a mensagem de retorno é a mesma, e o programa volta ao seu curso normal aguardando que se digite um número válido.
Se você digitar o número negativo -1, o programa se encerra com o meu apelido agradecendo o uso.
Se você digitar um caractere qualquer, que não seja um número, o programa lhe retorna um bipe e a seginte mensagem:
"Isso não e um numero Valido !"
E retorna ao ponto de partida.
Os números digitados são colhidos pela função gets(); e armazenados no vetor de char num [10]; Más logo são convertidos em inteiros graças a função atoi.
Para não ter que escrever muito, deixando tópico muito extenso, escrevo agora sobre a parte mais importante do código, que é a lógica
principal onde na verdade os números são formatados, divididos e separados por milhar, centena, dezena e unidade, isto é fundamental e foi aonde apanhei para deixá-lo funcionando.
Note que eu não usei ponteiros e nem matrizes e nem switch (case); para escolha e para armazenameto dos números na memória, se tivesse feito assim com certeza o programa teria ficado bem mais portátil, más preferi este método porque o programa é indicado a iniciantes em linguagem C.
Na verdade usei uma corrente de ifs e else, que é fácil
de usar e imprementar, e o funcionamento é Perfeito.
Segue o código abaixo:
Código:
#include <stdio.h> #include <conio.h> int Cardinais ( char num [4] ){ int i; for( i = 0; i < strlen ( num ); i++ ){ if ( num [ i ] < '0' || num [ i ] > '9' ) return 0; } return 1; } int main(){ system ("title PROGRAMA NUMEROS CARDINAIS"); //textbackground(BRANCO); int a, e, i, o, q, n, milhar, centena, dezena, unidade; char num [10]; int erro = 0; do{ system("cls"); textcolor(VERMELHOCLARO);gotoxy(29,3);printf("PROGRAMA NUMEROS CARDINAIS"); 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(AZULCLARO);gotoxy(34,9);printf("Digite um numero: "); 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 não Pode Ser Negativo"); textcolor(VERMELHOCLARO);gotoxy(25,12);printf("Nem Maior que 10000"); Sleep (2800); main(); } if ( Cardinais ( num ) == 0 ){ textcolor(AZULCLARO);gotoxy(34,13); printf("\aIsso não e um numero Valido !\n"); gotoxy(54,13); } else erro = 0; textcolor(VERDECLARO);gotoxy(34,11); printf("voce digitou: %s",num); gotoxy(34,13); milhar = n / 1000; centena = n / 100; n = n - centena * 100; dezena = n / 10; unidade = n % 10; a = dezena * 10; e = unidade * 1; q = dezena * 10 + e; o = milhar * 1000; i = centena * 100 - o; textcolor(AMARELO);gotoxy(34,15); if ( o == 9000) { if(dezena == 0 && unidade == 0){ printf("Nove Mil ");} else{ printf("Nove Mil e ");} } if ( o == 8000) { if(dezena == 0 && unidade == 0){ printf("Oito Mil ");} else printf("Oito Mil e "); } if ( o == 7000) { if(dezena == 0 && unidade == 0){ printf("Sete Mil ");} else printf("Sete Mil e "); } if ( o == 6000) { if(dezena == 0 && unidade == 0){ printf("Seis Mil ");} else printf("Seis Mil e "); } if ( o == 5000) { if(dezena == 0 && unidade == 0){ printf("Cinco Mil ");} else printf("Cinco Mil e "); } if ( o == 4000) { if(dezena == 0 && unidade == 0){ printf("Quatro Mil ");} else printf("Quatro Mil e "); } if ( o == 3000) { if(dezena == 0 && unidade == 0){ printf("Tres Mil ");} else printf("Tres Mil e "); } if ( o == 2000) { if(dezena == 0 && unidade == 0){ printf("Dois Mil ");} else printf("Dois Mil e "); } if ( o == 1000) { if(dezena == 0 && unidade == 0){ printf("Mil ");} else printf("Mil e "); } if ( i == 900) { if(dezena == 0 && unidade == 0){ printf("Novecentos");} else printf("Novecentos e "); } if ( i == 800) { if(dezena == 0 && unidade == 0){ printf("Oitocentos");} else printf("oitocentos e "); } if ( i == 700) { if(dezena == 0 && unidade == 0){ printf("Setecentos");} else printf("Setecentos e "); } if ( i == 600) { if(dezena == 0 && unidade == 0){ printf("Seiscentos");} else printf("Seiscentos e "); } if ( i == 500) { if(dezena == 0 && unidade == 0){ printf("Quinhentos");} else printf("Quinhentos e "); } if ( i == 400) { if(dezena == 0 && unidade == 0){ printf("Quatrocentos");} else printf("Quatrocentos e "); } if ( i == 300) { if(dezena == 0 && unidade == 0){ printf("Trezentos");} else printf("Trezentos e "); } if ( i == 200) { if(dezena == 0 && unidade == 0){ printf("Duzentos");} else printf("Duzentos e "); } if ( i == 100) { if(dezena == 0 && unidade == 0){ printf("cem");} else printf("cento e "); } if ( a == 20) { if(dezena == 0 || unidade == 0){ printf("Vinte");} else printf("Vinte e "); } if ( a == 30) { if(dezena == 0 || unidade == 0){ printf("Trinta");} else printf("Trinta e "); } if ( a == 40) { if(dezena == 0 || unidade == 0){ printf("Quarenta");} else printf("Quarenta e "); } if ( a == 50) { if(dezena == 0 || unidade == 0){ printf("Cincoenta");} else printf("Cinquenta e "); } if ( a == 60) { if(dezena == 0 || unidade == 0){ printf("Sessenta");} else printf("Sessenta e "); } if ( a == 70) { if(dezena == 0 || unidade == 0){ printf("Setenta");} else printf("Setenta e "); } if ( a == 80) { if(dezena == 0 || unidade == 0){ printf("Oitenta");} else printf("Oitenta e "); } if ( a == 90) { if(dezena == 0 || unidade == 0){ printf("Noventa");} else printf("Noventa e "); } if ( q == 11 ) {printf("Onze");getche();main();} if ( q == 12 ) {printf("Doze");getche();main();} if ( q == 13 ) {printf("Treze");getche();main();} if ( q == 14 ) {printf("Catorze");getche();main();} if ( q == 15 ) {printf("Quinze");getche();main();} if ( q == 16 ) {printf("Dezesseis");getche();main();} if ( q == 17 ) {printf("Dezessete");getche();main();} if ( q == 18 ) {printf("Dezoito");getche();main();} if ( q == 19 ) {printf("Dezenove");getche();main();} if ( e == 1 ) {printf("Um");} if ( e == 2 ) {printf("Dois");} if ( e == 3 ) { printf("Tres");} if ( e == 4 ) {printf("Quatro");} if ( e == 5 ) { printf("Cinco");} if ( e == 6 ) { printf("Seis");} if ( e == 7 ) { printf("Sete");} if ( e == 8 ) { printf("Oito");} if ( e == 9 ) { printf("Nove");} if ( a == 10 ) {printf("Dez");} getche(); }while ( 1 ); }