Buscar

TRABALHO POR EXTENSO\NUMERO POR EXTENSO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

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;
}

Continue navegando