Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gaaah

Numero por extenso

Recommended Posts

Tenho que fazer um programa que receba um numero qualqer de 0 a 1500 e o programa responda por extenso e em reais, a maior parte do problema eu ja fiz....mas nao to conseguindo pensar em uma logica que imprima o programa em reais e centavos, me ajudem por favor...ai vai o que eu fiz:

#include <stdio.h>

int main () {

    float a; 
    printf ("Digite um numero de 1 a 1500:\n");
    scanf ("%f", &a); 
                                 
    if (a>1500) 
       printf ("O numero deve ser menor do que 1500\n");

    else 
         {             
         if (a>=1000)
            {
            printf ("mil ");            
            a=a-1000;      
            }                         
             
         if (a>=100)            
            if (a>=900)
               {                       
               printf ("novecentos ");               
               a=a-900;               
               }
                     
            else if (a>=800)               
               {
               printf ("oitocentos ");               
               a=a-800;               
               }   
               
            else if (a>=700)               
               {               
               printf ("setecentos ");               
               a=a-700;               
               }
               
            else if (a>=600)               
               {               
               printf ("seiscentos ");                
               a=a-600;              
               }
                                    
            else if (a>=500)
               {               
               printf ("quinhentos ");                 
               a=a-500;               
               }
               
            else if (a>=400)
               {               
               printf ("quatrocentos ");               
               a=a-400;               
               }   
               
            else if (a>=300)
               {               
               printf ("trezentos ");               
               a=a-300;               
               }
               
            else if (a>=200)
               {               
               printf ("duzentos ");               
               a=a-200;               
               }
                                                           
            else if (a>=100)
               {               
               printf ("cem ");               
               a=a-100;               
               }      
         
          if (a>=10)
            
            if (a>=90)
               {                       
               printf ("noventa ");               
               a=a-90;               
               }
                     
            else if (a>=80)               
               {      
               printf ("oitenta ");               
               a=a-80;               
               }   
               
            else if (a>=70)               
               {               
               printf ("setenta ");               
               a=a-70;                        
               }
               
            else if (a>=60)               
               {               
               printf ("sessenta ");                
               a=a-60;              
               }
                                    
            else if (a>=50)
               {               
               printf ("cinquenta ");                
               a=a-50;               
               }
               
            else if (a>=40)
               {               
               printf ("quarenta ");               
               a=a-40;
               }   
               
            else if (a>=30)
               {               
               printf ("trinta ");               
               a=a-30;               
               }
               
            else if (a>=20)
               {               
               printf ("vinte ");               
               a=a-20;               
               }
                                                           
            else if (a>=10)
               {               
               printf ("dez ");               
               a=a-10;               
               }                   
               
          if (a>=1)
            
            if (a>=9)
               {                       
               printf ("nove ");               
               a=a-9;               
               }
                     
            else if (a>=8)               
               {      
               printf ("oito ");               
               a=a-8;               
               }   
               
            else if (a>=7)               
               {               
               printf ("sete ");               
               a=a-7;                        
               }
               
            else if (a>=6)               
               {               
               printf ("seis ");                
               a=a-6;              
               }
                                    
            else if (a>=5)
               {               
               printf ("cinco ");                
               a=a-5;               
               }
               
            else if (a>=4)
               {               
               printf ("quatro ");               
               a=a-4;
               }   
               
            else if (a>=3)
               {               
               printf ("tres ");               
               a=a-3;               
               }
               
            else if (a>=2)
               {               
               printf ("dois ");               
               a=a-2;               
               }
                                                           
            else if (a>=1)
               {               
               printf ("um ");               
               a=a-1;               
               }     
            
           if (a>0,00)
                                       
              if (a>=0,90)
                 {                       
                 printf ("noventa ");               
                 a=a-0,90;               
                 }
              
              else if (a>=0,80)
                 {                       
                 printf ("oitenta ");               
                 a=a-0,80;               
                 }
              
              else if (a>=0,70)
                 {                       
                 printf ("setenta ");               
                 a=a-0,70;               
                 }
                 
              else if (a>=0,60)
                 {                       
                 printf ("sessenta ");               
                 a=a-0,60;               
                 }
              
              else if (a>=0,50)
                 {                       
                 printf ("cinquenta ");               
                 a=a-0,50;               
                 }
              
              else if (a>=0,40)
                 {                       
                 printf ("quarenta ");               
                 a=a-0,40;               
                 }
              
              else if (a>=0,30)
                 {                       
                 printf ("trinta ");               
                 a=a-0,30;               
                 }
              
              else if (a>=0,20)
                 {                       
                 printf ("vinte ");               
                 a=a-0,20;               
                 }
              
              else if (a>=0,10)
                 {                       
                 printf ("dez ");               
                 a=a-0,10;               
                 }
                          
               
               
            }
         
    fflush (stdin);
    getchar ();
    return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O programa esta compilando e rodando, porem a casa das decimais (0.5; 0.4; 0.9...etc) nao estao compilando, alem do mais eu preciso ainda colocar em reais e centavos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois te ter visto um programa passado pelo link da _Isis_ e (creio eu) ter feito uma busca nesse fórum que tem vários tópicos sobre isso.

Como está seu codigo atual?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O programa que eu fiz esta exatamente do jeito em que eu enviei acima, eu soh posso fazer o programa usando if e else . . .

Soh falta colocar o programa para responder em reais, mas nao estou conseguindo...alem do mais a casa do decimais (0,9...) nao esta rodando.me ajudem por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha teus ifs, tu tá comparando com ex. 0,00 ao invés de 0.00.

E tá subtraindo também errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.