Ir ao conteúdo

Posts recomendados

Postado

Bom ... sou novo aqui galera ,mas estou fazendo um codigo e o listar ,buscar e calcular so buscam o ultimo valor cadastrado e na função calcular nao estou conseguindo abater os descontos na variavel salario_bruto segue o codigo :

 

 

 

 

#include<iostream>
using namespace std;
string nome[100],nomei[100],sexo[100],endereco[100],bairro[100],cidade[100],cep[100],uf[100],cpf[100],identidade[100];
float idade[100],salario_bruto[100],salario[100],sal[100];
int i,j,op,x = 1;
void cadastrar();
void pesquisar();
void calcular();
void listar(); 
float vref(float salario_bruto);
float inss(float salario_bruto);
float vt(float salario_bruto);



int main ()
{
  do{  
    cout<<""<<endl;
    cout<<"----------------FOLHA DE PAGAMENTO----------------"<<endl<<endl;
    
    cout<<"Escolha uma opcao :"<<endl<<endl;
    cout<<"1- Cadastrar Funcionarios"<<endl<<endl;
    cout<<"2- Listar"<<endl<<endl;
    cout<<"3- Pesquisar"<<endl<<endl;
    cout<<"4- Calcular/Listar Dados"<<endl<<endl;
    cout<<"5- Sair"<<endl<<endl;
    cin>>op;
    system("cls");

    switch (op)
{
case 1:
     
cadastrar();    
break;

case 2:
 
  listar(); 
  
break;

case 3:
 
pesquisar();   
  
break;

case 4:
 
calcular();   
  
break;


case 5:
     exit(1); //para sair do programa
     
break;

default :
        cout<<"Opcao invalida !!!";
           
}
system("pause");
system("cls");

}while(op); //para retornar ao menu 

            system ("pause");
            
                 
            }
      
            
void cadastrar(){
     
     string resp;
     cout<<""<<endl;
     cout<<"---------------Cadastro de Funcionarios-----------------"<<endl<<endl;
     cout<<"Deseja Cadastrar um funcionario [sim ou nao] ? ";
     cin>>resp;
    
     
 while(resp == "sim"){
                    
    cout<<"Digite o nome do funcionario "<<  x <<":";   
   fflush(stdin);
    getline(cin, nome[i]);
    
                    
    cout<<"Informe o sexo [m ou f] : ";   
      fflush(stdin);
    getline(cin, sexo[i]);
    
    if(sexo[i] != "m" && sexo[i] != "f"){
               
   cout<<"Sexo invalido !!!";
      
   }
    
                    
    cout<<"Digite a idade do funcionario ";   
    cin>>idade[i];
    
                    
    cout<<"Digite o endereco do funcionario ";   
    fflush(stdin);
    getline(cin, endereco[i]);
                    
    cout<<"Digite o bairro do funcionario ";   
    fflush(stdin);
    getline(cin, bairro[i]);
                   
    cout<<"Digite a cidade do funcionario ";   
    fflush(stdin);
    getline(cin, cidade[i]);
                    
    cout<<"Digite o cep do funcionario ";   
      fflush(stdin);
    getline(cin, cep[i]);
    
                    
    cout<<"Digite a uf do funcionario ";   
      fflush(stdin);
    getline(cin, uf[i]);
    
                    
    cout<<"Digite o cpf do funcionario ";   
      fflush(stdin);
    getline(cin, cpf[i]);
    
                    
    cout<<"Digite a identidade do funcionario ";   
      fflush(stdin);
    getline(cin, identidade[i]);
    
                    
    cout<<"Informe o salario bruto do funcionario ";   
    cin>>salario_bruto[i]; 
    
     x++;
    
     system ("cls");     
                                   
      cout<<"Deseja Cadastrar um funcionario [sim ou nao] ? ";
     cin>>resp;           
      
                                       
}    

                      
} 


void pesquisar(){

  string nomei;
  
     cout<<""<<endl;
     cout<<"---------------Pesquisa de funcionarios por Nome-----------------"<<endl<<endl;
     
     
     
     cout<<"Informe o nome do funcionario a ser buscado :";
       fflush(stdin);
    getline(cin, nomei);
     

                 
 if(nomei==nome[i]){             
    cout<<"Nome :"<<nome[i]<<endl;
    cout<<"Sexo :"<<sexo[i]<<endl;;        
    cout<<"Idade :"<<idade[i]<<endl;
    cout<<"Endereco :"<<endereco[i]<<endl;
    cout<<"Bairro :"<<bairro[i]<<endl;
    cout<<"Cidade :"<<cidade[i]<<endl;
    cout<<"CEP :"<<cep[i]<<endl;
    cout<<"UF :"<<uf[i]<<endl;
    cout<<"CPF :"<<cpf[i]<<endl;
    cout<<"Identidade :"<<identidade[i]<<endl;
    cout<<"Salario Bruto :"<<salario_bruto[i]<<endl;
                 
}                
   
          
       else{
            
            cout<<"Funcionario não encontrado !!!"<<endl;
            
            }
            
            
            }
     

  
     
void calcular(){
     
     cout<<""<<endl;
     cout<<"---------------Calcular-----------------"<<endl<<endl;
     
     int a=0;
     float in,vtp,vrefe;
     while(a<x){
                             
                
 in=inss(salario_bruto[i]);
 vtp=vt(salario_bruto[i]);
 vrefe=vref(salario_bruto[i]);
 sal[i]=salario_bruto[i]-in-vtp-vrefe;
 cout<<"Nome: "<<nome[i]<<endl;
 cout<<"CPF: "<<cpf[i]<<endl;
 cout<<"Identidade: "<<identidade[i]<<endl;
 cout<<"Salario Bruto: "<<sal[i]<<endl;                     
                
 a++;               
                         
}              
        
     
     }     
     
     
 float inss(float salario_bruto){
      
      
    float in;
    if(salario_bruto<=600){
               
 in=salario_bruto*(10/100);
 return in;              
                           
}    
else if(salario_bruto>600 && salario_bruto<=1000){
     
     in=salario_bruto*(12/100);
     return in;
     
     }
     else{
          
          in=salario_bruto*(15/100);
          return in;
          
          }

      
      
      }   
      
      
      
  float vt(float salario_bruto){
      
        float vtp;
        
        vtp = salario_bruto*(5/100);
        
        return vtp; 
        
        if(vtp>150){
                         
      vtp = 150; 
      
      return vtp;                   
                         
      }              
      
          
      
      
      }        
      
 float vref(float salario_bruto){
      
       float vrefe;
        
        vrefe = salario_bruto*(5/100);
        
        return vrefe; 
        
        if(vrefe>170){
                         
      vrefe = 170;     
      
       return vrefe;               
                         
      }              
     
      
       
      
      
      } 
 
 
      
 void listar(){
      
     cout<<""<<endl;
     cout<<"---------------Listagem-----------------"<<endl<<endl;
      
     int a=0;
     while(a<x){
                
 cout<<"Nome: "<<nome[i]<<endl;
 cout<<"Sexo: "<<sexo[i]<<endl;
 cout<<"idade: "<<idade[i]<<endl;
 cout<<"endereco: "<<endereco[i]<<endl;
 cout<<"Bairro: "<<bairro[i]<<endl;                  
 cout<<"Cidade: "<<cidade[i]<<endl;
 cout<<"CEP: "<<cep[i]<<endl;
 cout<<"UF: "<<uf[i]<<endl;
 cout<<"CPF: "<<cpf[i]<<endl;
 cout<<"Identidade: "<<identidade[i]<<endl;
 cout<<"Salario Bruto: "<<salario_bruto[i]<<endl;
                
                
 a++;               
                
                
                }
      
      
      }      

 

  • Curtir 1
Postado

@tremoff    na função pesquisar você está usando dois sinal de igualdade para comparar duas string, e isso só funciona com números , porém com string não, então você precisa usar o comando compare para fazer essa comparação assim :

fflush(stdin);
    getline(cin, nomeii);
    for(x=0;x<p;x++){
        if(nomeii.compare(nome[x])==0)/* igual a zero é porque é igual */
        {
            cout<<"Nome ----------: "<<nome[x]<<endl;
                       .
                       .
            e o resto dos comandos
                       .
                       .
        }

e nas funções inss, vt e vref na hora de fazer o cálculo você está colocando  para multiplicar float por inteiro assim :

vtp = salario_bruto*(5/100);

com isso ele não consegue calcular, então você precisa usar float para multiplicar float assim :

vtp = salario_bruto*0.05;

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...