Ir para conteúdo
Fórum Script Brasil

joaoguinadin

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por joaoguinadin

  1. Olá,

    Estava desenvolvendo um programa para exibir o fatorial de números. Na hora de testar, notei que o programa se comporta de maneira estranha: o resultado apresentado é o produto dos possíveis retornos da função. Vou inserir o código, para facilitar o entendimento:

    #include <iostream>
    using namespace std;
    
    int fatorial(int numero);
    
    int main(){
    	
    cout <<fatorial(6);
    	
    	}
    
    int fatorial(int numero){
    	if(numero>1){
    	return numero*fatorial(numero-1); 
    }else{ 
    	return 1;}
      }
    	

    Exemplo: Se o argumento inserido for 6, e o return do else tiver valor 3; o resultado exibido será 6! x 3. Gostaria de saber por que ocorre isso e não o retorno do valor 1.

     

    Desde já, agradeço.

  2. Olá,

    Iniciei na programação há 4 dias e estou criando códigos para treinar meu aprendizado. O programa abaixo é uma simulação de uma interface de compra de produtos, que deveria dar o valor dos produtos, e posteriormente o troco a se retornar. Deixarei o código abaixo. Pelo que identifiquei, o problema inicia-se na linha 43, e o programa pula para a 41. Não estou tendo nenhum problema na compilação, mas sim na execução. Agradeceria imensamente por ajuda.

    #include <iostream>
    #include <cstdlib>

    using namespace std;
    int main ()

    {

    //Definição das variáveis

        float bolachas,salgadinhos,refrigerantes,pagamento,faltantes;
        char resposta, s = 's';
    //Apresentação dos produtos e início das compras


        cout <<"Preço unitário dos produtos:" <<endl <<"Pacote de bolacha: R$2,50" <<endl <<"Salgadinho: R$ 5,00" <<endl <<"Refrigerante: R$ 4,50" <<endl;
        cout <<"Pressione qualquer tecla para iniciar suas compras";
        getchar();
        system ("clear");
        
    //Compras;

        cout <<"Quantos pacotes de bolacha você gostaria de adquirir?" <<endl;
        cin >> bolachas;
        system ("clear");
        
        cout <<"Quantos salgadinhos você gostaria de adquirir?" <<endl;
        cin >> salgadinhos;
        system ("clear");
        
        cout<< "Quantos refrigerantes você gostaria de adquirir?" <<endl;
        cin >> refrigerantes;
        system ("clear");
        
    // Valor das compras e pagamento;
        
        float total;

        total = 2.50 * bolachas + 5.00 * salgadinhos + 4.50 * refrigerantes;
        cout <<"O valor de sua compra é de R$ " <<total <<"." <<endl;
        cout <<"Digite a soma do valor das notas inseridas na máquina." <<endl;
        cin >> pagamento;
        system ("clear"); //daqui, vai para a linha 71 e não executa os comandos no meio
        
    // Troco ou valor faltando;

        float troco=(pagamento-total);
        if (troco > 0) { cout <<"Você receberá o troco no valor de R$ " <<troco <<". Retire na máquina" <<endl ;
        }else {
             if (troco == 0) {cout <<"Não há troco" <<endl ;
             }else {cout <<"Desculpe, não é possível concluir a compra, faltam R$ " <<troco <<". Para prosseguir, insira o valor em falta, ou cancele o procedimento." <<endl;
                   cout <<"Deseja prosseguir com a compra (s/n)? Em caso negativo, os procedimento será cancelado." <<endl;
                   cin >> resposta;
                   if (resposta == s) { cout <<"Obrigado! Prosseguiremos com a compra." <<endl;
                                       cout <<"Insira as notas faltantes e indique o valor da soma" <<endl;
                                       cin >>faltantes;
                                       cout <<endl;
                                       system ("clear");
                                       cout <<"O seu troco é de R$ " <<faltantes+troco <<endl; }
                   else { cout <<"A sua compra foi cancelada." <<endl; }
        }
    }
        
     //Final e reinício da operação;
     
        
        cout <<"Operação finalizada. Agradecemos a preferência. Pressione ENTER para confirmar" <<endl;
        getchar();
        system("clear");
        
        cout <<"Pressione qualquer botão para iniciar sua compra!" <<endl;
        getchar ();
        system ("clear");
        
        
            return 0;
        }

×
×
  • Criar Novo...