Trabalho 24-05-2011 (Preenchedor de cheques)
Autor: Ben-hur Ott | Publicado: 2011-05-25T07:10:00-07:00

ATENÇÃO! PROGRAMA EM ATUALIZAÇÃO A QUALQUER MOMENTO



//O usuario digita um valor numerico e o programa mostra escrito por extenso
#include&lt;stdio.h&gt;
int main(){
int valor,unid,deze,cent,milh,aux1,aux2,aux3,aux4,escolha;
char *unidade[100],*dezena[100],*centena[100],*sinal[10];


unidade[0]="zero";
unidade[1]="um";
unidade[2]="dois";
unidade[3]="tres";
unidade[4]="quatro";
unidade[5]="cinco";
unidade[6]="seis";
unidade[7]="sete";
unidade[8]="oito";
unidade[9]="nove";
unidade[10]="dez";
unidade[11]="onze";
unidade[12]="doze";
unidade[13]="treze";
unidade[14]="quatorze";
unidade[15]="quinze";
unidade[16]="dezesseis";
unidade[17]="dezessete";
unidade[18]="dezoito";
unidade[19]="dezenove";
dezena[2]="vinte";
dezena[3]="trinta";
dezena[4]="quarenta";
dezena[5]="cinquenta";
dezena[6]="sessenta";
dezena[7]="setenta";
dezena[8]="oitenta";
dezena[9]="noventa";
centena[0]="cem";
centena[1]="cento";
centena[2]="duzentos";
centena[3]="trezentos";
centena[4]="quatrocentos";
centena[5]="quinhentos";
centena[6]="seissentos";
centena[7]="setecentos";
centena[8]="oitocentos";
centena[9]="novecentos";






do{
printf ("Digite um valor entre 1 e 9999: ");
scanf ("%d",&amp;valor);
&nbsp; &nbsp; while (valor&gt;9999 || valor&lt;1){
&nbsp; &nbsp; &nbsp; &nbsp; printf ("\nValor invalido, digite um valor entre 1 e 9999:\n");
&nbsp; &nbsp; &nbsp; &nbsp; scanf ("%d",&amp;valor);
&nbsp; &nbsp; }
milh=valor/1000;
aux1=milh*1000;
cent=(valor-aux1)/100;
aux2=cent*100;
deze=(valor-aux1-aux2)/10;
aux3=deze*10;
unid=(valor-aux1-aux2-aux3);
aux4=aux3+unid;
sinal[2]="";


if (cent&gt;0){
&nbsp; &nbsp; sinal[2]=" e ";
}


if (cent&gt;0 &amp;&amp;(deze&gt;0 || unid&gt;0)){
&nbsp; &nbsp; sinal[0]=", ";
}else{
&nbsp; &nbsp; if (milh&gt;0 &amp;&amp; cent==0 &amp;&amp; deze==0 &amp;&amp; unid==0){
&nbsp; &nbsp; &nbsp; &nbsp; sinal[0]="";
&nbsp; &nbsp; }else{
&nbsp; &nbsp; sinal[0]=" e ";
&nbsp; &nbsp; }
}




if (milh==0 &amp;&amp; cent==1 &amp;&amp; deze==0 &amp;&amp; unid==0){
&nbsp; &nbsp; printf("cem reais");
}else{
&nbsp; &nbsp; if (milh&gt;0 &amp;&amp; cent==1 &amp;&amp; deze==0 &amp;&amp; unid==0){
&nbsp; &nbsp; &nbsp; &nbsp; printf("%s mil e cem reais", unidade[milh]);
&nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; &nbsp; if (milh==0 &amp;&amp; cent==0 &amp;&amp; deze==0 &amp;&amp; unid==1){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf("um real");
&nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; &nbsp; if (milh&gt;0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("%s mil%s", unidade[milh],sinal[0]);
&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; &nbsp; &nbsp; if (cent&gt;0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("%s",centena[cent]);
&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; &nbsp; &nbsp; if (aux4&lt;20 &amp;&amp; aux4&gt;0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("%s%s",sinal[2],unidade[aux4]);
&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; &nbsp; &nbsp; if (aux4&gt;19 &amp;&amp; unid!=0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("%s%s e %s",sinal[2],dezena[deze],unidade[unid]);
&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; &nbsp; &nbsp; if (aux4&gt;19 &amp;&amp; unid==0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("%s%s",sinal[2],dezena[deze]);




&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; &nbsp; &nbsp; printf (" reais");
&nbsp; &nbsp; }
&nbsp; &nbsp; }




}








&nbsp; &nbsp; printf ("\nDeseja repetir:\n");
&nbsp; &nbsp; printf ("Sim (1)\n");
&nbsp; &nbsp; printf ("Nao (2)\n");
&nbsp; &nbsp; scanf("%d",&amp;escolha);
&nbsp; &nbsp; &nbsp; &nbsp; while (escolha&gt;2 || escolha&lt;1){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf ("Erro, digite novamente:\n");
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scanf ("%d",&amp;escolha);
&nbsp; &nbsp; &nbsp; &nbsp; }
}while (escolha==1);
}