Baixe o app para aproveitar ainda mais
Prévia do material em texto
TRABALHO PRÁTICO 1: NÚMERO POR EXTENSO Aluno Curso JÉSSICA BEATRIZ SANTOS ENGENHARIA DE BIOPROCESSOS 1º PERÍODO DESCRIÇÃO. Faça um programa que leia um inteiro entre 0 e 2.000.000.000 e realize sua impressão por extenso. Após isto o programa deve imprimir 5 múltiplos deste número, também por extenso. RESOLUÇÃO #include <stdio.h> #include <conio.h> void obtem_casas_decimais (int n, int*cM,int*dM,int*uM,int*cm,int*dm,int*um,int*c,int*d,int*u); void imprime_milhar (int c,int d,int u); void imprime_centena (int c,int d,int u); void imprime_dezena (int c,int d,int u); void imprime_unidade (int c,int d,int u); void imprime_extenso (int cM,int dM,int uM,int cm,int dm,int um,int c,int d,int u); int main() { int n,i,cM,dM,uM,cm,dm,um,c,d,u; printf("Este programa recebe um numero e escreve ele e cinco multiplos por extenso. \n"); printf("digite o numero:"); scanf("%d",&n); for(i=1;i<=5;i++) { obtem_casas_decimais(n*i,&cM,&dM,&uM,&cm,&dm,&um,&c,&d,&u); imprime_extenso(cM,dM,uM,cm,dm,um,c,d,u); printf("\n"); } getch(); } void imprime_extenso(int cM,int dM,int uM,int cm,int dm,int um,int c,int d,int u) { imprime_milhar(cM,dM,uM); if(cM!=0 || dM!=0 || uM!=0) { if(cM==0 && dM==00 && uM==1) printf ("milhao"); else printf ("milhoes"); } imprime_milhar (cm,dm,um); if(cm!=0 || dm!=0 || um!=0) printf("mil"); imprime_milhar (c,d,u); } void imprime_milhar (int c,int d, int u) { imprime_centena(c,d,u); imprime_dezena(c,d,u); imprime_unidade(c,d,u); } void imprime_centena (int c,int d,int u) { switch (c) { case 9: if (d==0 && u==0) printf (" novecentos "); else printf (" novecentos e "); break; case 8: if (d==0 && u==0) printf (" oitocentos "); else printf (" oitocentos e "); break; case 7: if (d==0 && u==0) printf (" setecentos "); else printf (" setecentos e "); break; case 6: if (d==0 && u==0) printf (" seissentos "); else printf (" seissentos e "); break; case 5: if (d==0 && u==0) printf (" quinhentos "); else printf (" quinhentos e "); break; case 4: if (d==0 && u==0) printf (" quatrocentos "); else printf (" quatrocentos e "); break; case 3: if (d==0 && u==0) printf (" trezentos "); else printf (" trezentos e "); break; case 2: if (d==0 && u==0) printf (" duzentos "); else printf (" duzentos e "); break; case 1: if (d==0 && u==0) printf (" cem "); else printf (" cento e "); } } void imprime_dezena(int c,int d,int u) { switch (d) { case 9: if(u==0) printf(" noventa "); else printf (" noventa e "); break; case 8: if(u==0) printf(" oitenta "); else printf (" oitenta e "); break; case 7: if(u==0) printf(" setenta "); else printf (" setenta e "); break; case 6: if(u==0) printf(" sessenta "); else printf (" sessenta e "); break; case 5: if(u==0) printf(" cinquenta "); else printf (" cinquenta e "); break; case 4: if(u==0) printf(" quarenta "); else printf (" quarenta e "); break; case 3: if(u==0) printf(" trinta "); else printf (" trinta e "); break; case 2: if(u==0) printf(" vinte "); else printf (" vinte e "); break; case 1: if(d==1 && u==9) printf (" dezenove "); if(d==1 && u==8) printf (" dezoito "); if(d==1 && u==7) printf (" dezesete "); if(d==1 && u==6) printf (" dezesseis "); if(d==1 && u==5) printf (" quinze "); if(d==1 && u==4) printf (" quartoze "); if(d==1 && u==3) printf (" treze "); if(d==1 && u==2) printf (" doze "); if(d==1 && u==1) printf (" onze "); if(d==1 && u==0) printf (" dez "); } } void imprime_unidade (int c,int d,int u) { if (d!=1) { switch(u) { case 9: printf(" nove "); break; case 8: printf(" oito "); break; case 7: printf(" sete "); break; case 6: printf(" seis "); break; case 5: printf(" cinco "); break; case 4: printf(" quatro "); break; case 3: printf(" tres "); break; case 2: printf(" dois "); break; case 1: printf(" um "); break; //case 0: printf("zero"); break; } } } void obtem_casas_decimais(int n, int*cM,int*dM,int*uM,int*cm,int*dm,int*um,int*c,int*d,int*u) { *cM=n/100000000; n=n%100000000; *dM=n/10000000; n=n%10000000; *uM=n/1000000; n=n%1000000; *cm=n/100000; n=n%100000; *dm=n/10000; n=n%10000; *um=n/1000; n=n%1000; *c=n/100; n=n%100; *d=n/10; n=n%10; *u=n; }
Compartilhar