-
Total de itens
2 -
Registro em
-
Última visita
Sobre david fs

david fs's Achievements
0
Reputação
-
char unidades[][10]={"zero","um","dois","três","quatro","cinco","seis","sete","oito","nove"}; char especial[][10]={"","","","","","","","","","","","onze","doze","treze","quatorze","quinze"}; char dezenas[][10]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa","cem"}; char dezenascomp [][13]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"}; char centenas[][15]={"","Cem","duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"}; char milhares[][15] = {"", "Mil", "Dois Mil", "Três Mil", "Quatro Mil", "Cinco Mil", "Seis Mil", "Sete Mil", "Oito Mil", "Nove Mil", "Dez Mil"}; char dezenasdemilhar [][10]={"","dez mil","vinte mil","trinta mil","quarenta mil","cinquenta mil","sessenta mil","setenta mil","oitenta mil","noventa mil"}; char centenademilhar [][15]={"","Cem mil","duzentos mil", "trezentos mil", "quatrocentos mil", "quinhentos mil", "seiscentos mil", "setecentos mil", "oitocentos mil", "novecentos mil"}; char milhoes [][15] = {"", "um Milhao", "Dois Milhoes", "Três Milhoes", "Quatro Milhoes", "Cinco Milhoes", "Seis Milhoes", "Sete Milhoes", "Oito Milhoes", "Nove Milhoes", "Dez Milhoes"}; char especialmilhoes [][10]={"","","","","","","","","","","","onze milhoes ","doze milhoes","treze milhoes","quatorze milhoes","quinze milhoes"}; char letras[16]; int unid,deze, cente, milha,milhao; if(numero<10) { strcpy(letras,unidades[numero]); printf("%s",letras); } else switch(numero) { /* Abre switch */ case 11: case 12: case 13: case 14: case 15: strcpy(letras,especial[numero]); printf("%s",letras); break; default: milhao = numero/1000000 milha = numero/1000; cente = (numero - 1000*milha)/100; deze = (numero - 1000*milha - 100*cente)/10; unid = numero%10; strcpy(letras, milhares[milha]); printf("%s",letras); strcpy(letras,centenas[cente]); printf("%s ", letras); if( 0 == unidades ) { /* Abre if */ strcpy(letras,dezenas[deze]); printf(" %s", letras); } /* Fechar if*/ else /*se há unidades*/ { /* Abre else */ if ( ((10*deze + unid) >= 11) && ((10*deze + unid) <= 15) ) { /*Abre if*/ strcpy(letras, especial[10 + unid]); printf("%s ", letras); } /*Fechar if*/ else { /*Abre else recolheu-se */ strcpy(letras,dezenascomp[deze]); printf(" %s", letras); strcpy(letras, unidades[unid]); printf("%s", letras); } /*Fechar else recolheu-se*/ } /*Fechar else */ break; } /* Fechar switch */ return; }
-
/*Este programa imprime um cheque. Insira o dia (número): Digite o mês (nome): Digite o ano: Por favor, digite o nome do destinatário: Digite o nome de solteira do beneficiário: Por favor, indique o nome de solteira da mãe do beneficiário: Por favor, indique o valor. ===================================================================================== BANCO CENTRAL DO BRASIL Belo Horizonte, MINAS GERAIS, MG 29 / setembro / 2011 Pagar esse cheque para: Para a quantidade de: 3.030.212,20 (três milhões, trinta mil e duzentos e doze reais.) ____________________________ CIA MINERADORA MINAS GERAIS ===================================================================================== */ /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * + * Este programa imprime um cheque .Para este recebe o nome BENEFICIÁRIO, Data + * e o valor do cheque. + * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * + * Algoritmo: + * Receber nome de usuário + * Receber data + * Receber o valor + * + * Imprime a verificação de dados gerais do cheque + * Imprime o nome do beneficiario + * Imprime a quantidade em números + * Chamar uma função que imprime o valor por extenso o número é enviado, recebeu o + * controle + * + * função de impressão (recebe o número ) + * + * Definir os conjunto: + * Unidades { "Zero", "Um", "Dois",....."Dez"} + * Especial {"", "", "", "",......"onze", "doze", "treze", "quatorze", "quinze"} + * Dezenas {"", "dez", "vinte", "trinta", ..........., "noventa", "cem"} + * Dezenascomp {"", "dezessete", "vinte", "trinta", "quarenta", ......., "noventa"} + * Centenas {"", "cem", "duzentas", "trezentos", ............, "novecentos" } + * Milhares {"". "Mil", "Dois mil", "Três mil",.....,"Dez Mil"} + * letras {" "} + * + * Se o número < 10 + * + * Imprime a entrada correspondente em unidades de acordo + * + * Caso contrário + * + * Se o número for entre 11 e 15 + * Imprima a entrada de conjunto especial + * + * Caso contrário + * Milhares = número/1000; + * Centenas = (número - 1000*milhares)/100; + * Dezenas = (número - 1000*milhares - 100*centenas)/10; + * Unidades = número%10; + * + * Imprimir a entrada correspondente, em conformidade Milhares + * Imprimir a entrada correspondente na Centenas acordo + * Imprimir a entrada correspondente na Dezenas acordo + * (Se houver unidades a serem impressas de entrada Decenascomp) + * Imprima a entrada correspondente em Unidades de acordo + * + * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include <stdio.h> #include <string.h> void Imprimir(int ); /*//////////////////////////////////////////////////////////////////////////// // MAIN ////////////////////////////////////////////////////////////////////////////*/ int main() { /*Abrir main*/ char Nome[20]; char Paternal[20]; char Maternal[20]; int valor; int dia, ano; char mes[15]; printf("\nEste programa imprime um cheque.\n"); printf("\nInsira o dia (numero): "); scanf("%d", &dia); printf("\nDigite o mes (nome): "); scanf("%s", mes); printf("\nDigite o ano:\n"); scanf("%d", &ano); printf("\nPor favor, indique o nome do destinatário: "); scanf("%s", Nome); printf("\nPor favor, indique o nome de solteiro do destinatário: "); scanf("%s", Paternal); printf("\nPor favor, indique o nome de solteira da mãe do beneficiário: "); scanf("%s", Maternal); printf("\nPor favor, indique o valor.\n"); scanf("%d", &valor); printf("\n=====================================================================================\n"); printf("\n \t\t\t\t BANCO CENTRAL DO BRASIL\n "); printf("\n Belo Horizonte, MINAS GERAIS, MG \t\t\t\t %d/%s/%d\n", dia, mes, ano); printf("\n \n\n\t\tPague este cheque a: %s %s %s ", Nome, Paternal, Maternal); printf("\n A quantidade de: %d (", valor); Imprimir(valor); printf(" reais.)\n"); printf("\n\n\n\t\t\t\t\t\t\t ____________________________\n"); printf("\t\t\t\t\t\t\t\t\tassinatura\n"); printf("\n=====================================================================================\n"); return 0; } /*Fechar main */ /*////////////////////////////////////////////////////////////////////////////////// // Função print //////////////////////////////////////////////////////////////////////////////////*/ void Imprimir(int numero) { char unidades[][10]={"zero","um","dois","três","quatro","cinco","seis","sete","oito","nove"}; char especial[][10]={"","","","","","","","","","","","onze","doze","treze","quatorze","quinze"}; char dezenas[][10]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa","cem"}; char dezenascomp [][13]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"}; char centenas[][15]={"","Cem","duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"}; char milhares[][15] = {"", "Mil", "Dois Mil", "Três Mil", "Quatro Mil", "Cinco Mil", "Seis Mil", "Sete Mil", "Oito Mil", "Nove Mil", "Dez Mil"}; char letras[16]; int unid,deze, cente, milha; if(numero<10) { strcpy(letras,unidades[numero]); printf("%s",letras); } else switch(numero) { /* Abre switch */ case 11: case 12: case 13: case 14: case 15: strcpy(letras,especial[numero]); printf("%s",letras); break; default: milha = numero/1000; cente = (numero - 1000*milha)/100; deze = (numero - 1000*milha - 100*cente)/10; unid = numero%10; strcpy(letras, milhares[milha]); printf("%s",letras); strcpy(letras,centenas[cente]); printf("%s ", letras); if( 0 == unidades ) { /* Abre if */ strcpy(letras,dezenas[deze]); printf(" %s", letras); } /* Fechar if*/ else /*se há unidades*/ { /* Abre else */ if ( ((10*deze + unid) >= 11) && ((10*deze + unid) <= 15) ) { /*Abre if*/ strcpy(letras, especial[10 + unid]); printf("%s ", letras); } /*Fechar if*/ else { /*Abre else recolheu-se */ strcpy(letras,dezenascomp[deze]); printf(" %s", letras); strcpy(letras, unidades[unid]); printf("%s", letras); } /*Fechar else recolheu-se*/ } /*Fechar else */ break; } /* Fechar switch */ return; }