boa tarde, estou precisando de uma ajuda,
estou fazendo um trabalho do curso que é uma folha de pagamento no programa dev c++,
o problema e que o segundo menu nao esta listando os dados,
o terceiro e quarto, no final do programa ao clicar em continuar ele trava e fecha,
o que poderia ser feito para corrigir tais erros ?
desde ja agradeço...............
o enunciado do programa e este:
Criar uma folha de pagamento.
A folha deve ter as seguintes opções:
1 Cadastrar Funcionários
2 Listar
3 Pesquisar
4 Calcular / Listar Dados
5 Sair
Cada item com exceção do número 5 deverá ser desenvolvido através de uma função.
1) Cadastrar Funcionários: Esta função deve cadastrar NOME,SEXO,IDADE,ENDEREÇO, BAIRRO, CIDADE, CEP, UF, CPF, IDENTIDADE E SALARIO BRUTO de até 100 funcionários.
2) Listar Funcionários. Esta função deve listar os dados de todos os funcionários cadastrados.
3) Pesquisar: Esta função deve permitir a busca de um funcionário pelo nome.
4) Calcular / Listar Dados Folha: Esta função deverá calcular o salário líquido do funcionário que é o salário bruto – (menos) descontos:
Os descontos são INSS, VT, VREFEIÇÃO, para cada desconto deverá existir uma função com seu nome.
Função INSS . Essa função deve receber o salário bruto que é um tipo FLOAT e retornar INSS que também será um tipo FLOAT. O Calculo do INSS será o seguinte:
Salário
Descontos
<= 600
10%
> 600 <= 1000
12%
> 1000
15%
Função VT: Essa função recebe o salário bruto e retorna o valor do desconto do vale transporte. O desconto será de 5%, mais não poderá ultrapassar a R$ 150,00.
Função VR: Essa função recebe o salário bruto e retorna o desconto de Vale-refeição. O desconto será de 5%, mais não poderá ser maior que R$ 170,00.
Após todos os descontos prontos, calcular o salário líquido e listar o nome do funcionário, seu salário bruto, todos os descontos e o salário líquido.
Abaixo exemplo função INSS .
Float INSS (float SAL)
{
if (sal <= 600)
return sal*0.10;
else if (sal <= 1000)
return sal*0.12;
else return sal * 0,15;
}
o codigo do meu programa é:
#include<iostream>
#include<stdlib.h>
using namespace std;
void cadastro_fun();
void calcular_fun();
void pesquisa_fun();
void lista_fun();
void sair();
string nome[100], endereco[100], bairro[100], cidade[100], identidade[100], UF[100], op;
int idade[100], CEP[100];
float CPF[100], salario[100], salariolq[100], VT[100], VR[100], INSS[100];
string sexo[100];
int i,j;
int main()
{
string dados;
int i, continuar=1;
system ("cls");
do
{
cout <<"\n ***************************************************************************** "<< endl;
cout <<" ** ********* *** ***** Folha de Pagamento ***** *** ********** ** "<< endl;
cout <<" ***************************************************************************** "<< endl << endl << endl;
cout << "1 - Cadastrar Funcionarios \n";
cout << "2 - Lista Funcionarios \n";
cout << "3 - Pesquisar Funcionarios \n";
cout << "4 - Calcular \n";
cout << "0 - Sair\n \n";
cout << "Opcao escolhida: ";
cin >> continuar;
switch(continuar)
{
case 1:
cadastro_fun();
break;
case 2:
lista_fun();
break;
case 3:
pesquisa_fun();
break;
case 4:
calcular_fun();
break;
case 0:
sair();
break;
default:
system ("cls");
cout << "Digite uma opcao valida\n";
}
} while(continuar);
system ("pause");
}
//----------------------------------------------------------- opções DO MENU -----------------------------------------
void cadastro_fun()
{
// 1 OPÇÃO DO MENU: Cadastrar Funcionários
int i;
string dados;
system ("cls");
do{
cout << "\n ===== ===== CADASTRO DE FUNCIONARIOS ===== ===== \n";
cout<<"\n Nome: ";
fflush(stdin);
getline (cin, nome);
cout<<"\n Sexo: ";
fflush(stdin);
getline (cin, sexo);
cout<<"\n Idade: ";
cin>> idade;
cout<<"\n Endereco: ";
fflush(stdin);
getline (cin, endereco);
cout<<"\n Bairro: ";
fflush(stdin);
getline (cin, bairro);
cout<<"\n Cidade: ";
fflush(stdin);
getline (cin, cidade);
cout<<"\n CEP: ";
cin>> CEP;
cout<<"\n UF: ";
fflush(stdin);
getline (cin, UF);
cout<<"\n CPF: ";
cin>> CPF;
cout<<"\n Identidade: ";
cin>> identidade;
cout<<"\n Salario Bruto: ";
cin>> salario;
cout<<"\n --------------------------------------------------------------- ";
cout<<"\n";
i++;
cout << "DESEJA CADASTRAR MAIS NOMES ? (S/N)?";
fflush(stdin);
getline(cin,op);
system("cls");
}while(op=="S"||op=="s");
}
void lista_fun()
{
// 2 OPÇÃO DO MENU: Listar Funcionários. Esta função deve listar os dados de todos os funcionários
int j;
system ("cls");
cout << "===== ===== LISTA DE FUNCIONARIOS ===== ====="<< endl;
for (j=0;j<i;j++)
{
cout << "O" <<j+1<< " A SER REGISTRADO: \n";
cout << nome[j]<<"\n";
cout << sexo[j]<<"\n";
cout << idade[j]<<"\n";
cout << endereco[j]<<"\n";
cout << bairro[j]<<"\n";
cout << cidade[j]<<"\n";
cout << CEP[j]<<"\n";
cout << UF[j]<<"\n";
cout << CPF[j]<<"\n";
cout << identidade[j]<<"\n";
cout << salario[j]<<endl<<endl;
system("pause");
}
system("cls");
}
void pesquisa_fun()
{
// 3 OPÇÃO DO MENU: Pesquisar: Esta função deve permitir a busca de um funcionário pelo nome.
int i,j,verific=0;
string cod;
system("cls");
cout << " n ===== ===== PESQUISA DE FUNCIONARIOS ===== ===== \n \n";
cout << "INSIRA O NOME: ";
cin>>cod;
for (j=0; j<i ; j++)
{
if (cod==nome[j])
{
cout << "FUNCIONARIO PESQUISADO ";
cout << "Nome: "<<nome[j]<<endl;
cout << "Sexo: "<<sexo[j]<<endl;
cout << "Idade: "<<idade[j]<<endl;
cout << "Endereco: "<<endereco[j]<<endl;
cout << "Bairro: "<<bairro[j]<<endl;
cout << "CIDADE: "<<cidade[j]<<endl;
cout << "ESTADO: "<<UF[j]<<endl;
cout << "CPF: "<<CPF[j]<<endl;
cout << "IDENTIDADE: "<<identidade[j]<<endl;
cout << "SALARIO BRUTO: "<<salario[j]<<endl;
verific++;
system("pause");
}
if (verific==0)
{
cout << "FUNCIONARIO NAO ENCONTRADO";
}
}
}
void calcular_fun()
{
// 4 OPÇÃO DO MENU: Listar Dados Folha: Esta função deverá calcular o salário líquido do funcionário que é o salário bruto – (menos) desconto
system ("cls");
int j,i, verific=0;
string cod;
system("cls");
cout << "n ===== ===== PESQUISA DE FUNCIONARIO ===== ===== \n \n";
cout << "DIGITE O NOME DO FUNCIONARIO QUE DESEJA: ";
fflush(stdin);
getline(cin, cod);
for (j=0; j<i ; j++)
{
if (cod==nome[j])
{
verific++;
system ("cls");
cout << "## LISTA DOS NOMES CADASTRADOS E CALCULO DO SALARIO LIQUIDO: ##"<< endl;
cout << "SEU NOME E: "<<nome[j]<<endl;
cout << "SALARIO BRUTO DE: "<<salario[j]<<" REAIS" <<endl;
if (salario[j]<=600){
INSS[j] = salario[j]*10/100;
}
else if (salario[j]<=1000){
INSS[j] = salario[j]*12/100;
}
else if (salario[j]>1000)
{
INSS[j] = salario[j]*15/100;
}
if(salario[j]*5/100<150){
VT[j]=salario[j]*5/100;
}
else{
VT[j]=150;
}
if(salario[j]*5/100<170){
VR[j]=salario[j]*5/100;
}
else{
VR[j]=170;
}
cout << "O INSS E DE: "<<INSS[j]<<" REAIS" << endl;
cout << "O VALE TRANSPORTE E DE: "<<VT[j]<<" REAIS"<< endl;
cout << "O VALE REFEICAO E DE: "<<VR[j]<< " REAIS" << endl;
salariolq[j]=salario[j]-INSS[j]+VT[j]+VR[j];
cout << "O SALARIO LIQUIDO E "<<salariolq[j]<<" REAIS" << endl;
cout << "OBRIGADO POR TER USADO NOSSOS SERVICOS";
system ("pause");
system ("cls");
}
}
}
void sair()
{ //menu 5 opc
cout << "\n Volte Sempre! ...\n \n";
}