Ir para conteúdo

Arquivado

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

jorge danilo

Mostrar maior salário,e o menor salário digitado

Recommended Posts

Bom galera,estou com uma dificuldade no meu código na condição onde se verifica qual é o maior e o menor salario digitado pelo usuário. Quando executa exibe sempre os dois números iguais.

 

Tem alguma lógica errada ?

 

 

#include <iostream>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
 
 
int main(){
    
    float salario=0,calc=0;
    int i=0;
    int quantidade=0;
    float media =0,menorSalario=0,maiorSalario=0;
    
    cout<<"Digite a quantidade de salarios que deseja cadastrar : ";
    cin>>quantidade; //ler a quantidade de salarios no maximo 100;
    cout<<endl;          
    while(i < quantidade){  
    
         if(quantidade > 100){ //verifica se a quantidade digitada pelo usuario é maior que 100  
                       
                       cout<<"Voce digitou um numero maior que 100 ! "<<endl;
                       cout<<"----------------------------------------------"<<endl;
                       main(); // volta a funcao principal
                       
                       } // fechamento da condicao 
                       
                       //caso a  condicao seja falsa  sera executada os comandos abaixo
                        cout<<"Digite o salario : "; //digite o seu salario
                        cin>>salario;
                        maiorSalario=salario; 
                        menorSalario=salario;
                        calc=calc+salario; // soma todos os salarios 
                        media= (calc/quantidade);//exibe a media dos salarios digitados
                        i++; // incremento
                        
                        
                        
                        //Verifica qual é o maior e o menor salario
                        
                        
                        if(salario >maiorSalario){
                              maiorSalario=salario;
                                                  
                              }
                        else if(salario<menorSalario){
                             menorSalario=salario;
                             
                             
                             }      
                        }
 
                        cout<<"------------------------"<<endl;
                        cout<<"Soma do Salario : \a"<<calc<<endl; //exibe a soma na tela
                        cout<<"Salarios Cadastrados : \a"<<i<<endl; // exibe a quantidade de salarios            
                        cout<<"Media e : \a"<<media<<endl;  //exibe a media
                         cout<<"Maior Salario : "<<maiorSalario<<endl; //exibe o maior salario
                        cout<<"Menor Salario : "<<menorSalario<<endl;//exibe o menor salario
 
getch();
return 0;
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim a lógica está errada.

 

Você só pode atribuir um valor para o menor e maior salário, se o valor que você pretende armazenar for maior ou menor do que já está armazenado.

 

if(salarioMaior < salario)
      salarioMaior = salario;

if(salarioMenor > salario)
      salarioMenor = salario;

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.