Ir ao conteúdo
  • Cadastre-se
tremoff

C++ Tenho que entregar esse código hoje

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×