Prévia do material em texto
#include <iostream> #include<stdlib.h> struct funcionario{ char nome[50]; char cargo[35]; float salario, cpf, salariolq, VT, VR, INSS, impRenda; int matricula; } funcionarios[10]; using namespace std; void cadastro_fun(); void calcular_fun(); void pesquisa_fun(); void lista_fun(); void sair(); int i,j; int main() { char dados[100]; int i, continuar=1; system ("cls"); do { cout <<"------------------------------------------------------- "<< 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; char dados[50]; string op; system ("cls"); do{ for (i = 0; i <= op.length(); i++){ cout << "\n ===== ===== CADASTRO DE FUNCIONARIOS ===== ===== \n"; cout<<"\n Nome: "; fflush(stdin); cin >> funcionarios[i].nome; cout << "\n Digite o seu cargo: "; cin >> funcionarios[i].cargo; cout << "\n Digite o seu CPF colocando '.': " ; cin >> funcionarios[i].cpf; cout<<"\n Salario Bruto com casas decimais: "; fflush(stdin); cin>> funcionarios[i].salario; cout << "Digite a matricula: "; cin >> funcionarios[i].matricula; cout<<"\n --------------------------------------------------------------- "; cout<<"\n"; cout << "DESEJA CADASTRAR MAIS NOMES ? (S/N)?"; fflush(stdin); cin >> op; system("cls"); i++; } }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; string op; system ("cls"); cout << "===== ===== LISTA DE FUNCIONARIOS ===== ====="<< endl; for (j=0;j < 10;j++) { cout << "O " <<j+1<< " A SER REGISTRADO: \n"; cout << "Nome: "<<funcionarios[j].nome<<"\n"; cout << "Cargo: "<<funcionarios[j].cargo<<"\n"; cout << "CPF: "<<funcionarios[j].cpf<< "\n"; cout << "Matricula: "<<funcionarios[j].matricula<<"\n"; cout << "Salario: "<<funcionarios[j].salario<<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; float cod; system("cls"); cout << " n ===== ===== PESQUISA DE FUNCIONARIOS ===== ===== \n \n"; cout << "INSIRA O CPF colocando '.': "; cin>>cod; for (j=0; j<10 ; j++) { if (cod==funcionarios[j].cpf) { cout << "FUNCIONARIO PESQUISADO "; cout << "Nome: "<<funcionarios[j].nome<<endl; cout << "Matricula: "<< funcionarios[j].matricula<< endl; cout << "CPF: "<< funcionarios[j].cpf<< endl; cout << "Cargo: "<< funcionarios[j].cargo<< endl; cout << "SALARIO BRUTO: "<<funcionarios[j].salario<<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; float cod; system("cls"); cout << "n ===== ===== PESQUISA DE FUNCIONARIO ===== ===== \n \n"; cout << "DIGITE O CPF COM '.' DO FUNCIONARIO QUE DESEJA : "; fflush(stdin); cin >> cod; for (j=0; j<10 ; j++) { if (cod==funcionarios[j].cpf) { verific++; system ("cls"); cout << "## LISTA DOS NOMES CADASTRADOS E CALCULO DO SALARIO LIQUIDO: ##"<< endl; cout << "SEU NOME E: "<<funcionarios[j].nome<<endl; cout << "SALARIO BRUTO DE: "<<funcionarios[j].salario<<" REAIS" <<endl; //calculo INSS if (funcionarios[j].salario<=1693.72){ funcionarios[j].INSS = funcionarios[j].salario*0.08; } else if (funcionarios[j].salario >= 1693.72 && funcionarios[j].salario <= 2822.90){ funcionarios[j].INSS = funcionarios[j].salario*0.09; } else{ funcionarios[j].INSS = funcionarios[j].salario*0.10; } } //calculo VT if(funcionarios[j].salario*5/100<150){ funcionarios[j].VT=funcionarios[j].salario*5/100; } else{ funcionarios[j].VT=150; } //calculo VR if(funcionarios[j].salario*5/100<170){ funcionarios[j].VR=funcionarios[j].salario*5/100; } else{ funcionarios[j].VR=170; } //calculo imposto de renda if(funcionarios[j].salario - funcionarios[j].INSS < 1903.98){ funcionarios[j].impRenda = 0; }else if (funcionarios[j].salario - funcionarios[j].INSS >= 1903.99 && funcionarios[j].salario - funcionarios[j].INSS <= 2826.65){ funcionarios[j].impRenda = ((funcionarios[j].salario - funcionarios[j].INSS) * 0.075)- 142.80; }else if(funcionarios[j].salario - funcionarios[j].INSS >= 2826.66 && funcionarios[j].salario - funcionarios[j].INSS <= 3751.05){ funcionarios[j].impRenda = ((funcionarios[j].salario - funcionarios[j].INSS) * 0.15)-354,80; }else if(funcionarios[j].salario - funcionarios[j].INSS >= 3751.06 && funcionarios[j].salario - funcionarios[j].INSS <= 4664.68){ funcionarios[j].impRenda = ((funcionarios[j].salario - funcionarios[j].INSS) * 0.225)- 636,13; } else{ funcionarios[j].impRenda = ((funcionarios[j].salario - funcionarios[j].INSS) * 0.275)- 869,36; } cout << "O INSS E DE: "<<funcionarios[j].INSS<<" REAIS" << endl; //funcionarios[j].impRenda = funcionarios[j].salario-funcionarios[j].impRenda; cout << "O IMPOSTO DE RENDA É DE: "<< funcionarios[j].impRenda <<" REAIS"<< endl; cout << "O VALE TRANSPORTE E DE: "<<funcionarios[j].VT<<" REAIS"<< endl; cout << "O VALE REFEICAO E DE: "<<funcionarios[j].VR<< " REAIS" << endl; funcionarios[j].salariolq=funcionarios[j].salario- (funcionarios[j].impRenda+funcionarios[j].VT+funcionarios[j].VR); cout << "O SALARIO LIQUIDO E "<<funcionarios[j].salariolq<<" REAIS" << endl; cout << "OBRIGADO POR TER USADO NOSSOS SERVICOS"; system ("pause"); system ("cls"); } } void sair() { //menu 5 opc cout << "\n Volte Sempre! ...\n \n"; } /* Desenvolvido por: Guilherme Teixeira Bassi Antonio Dias Gabriel Pelai */