Você está na página 1de 4

/* Trabalho de Algoritmo Nome: Clayton Silva Nome: Diego Pereira Eng Automao Turma A - 2 periodo */ #include #include #include

#include <stdlib.h> <stdio.h> <string.h> <math.h>

int numMatr,numDependente, numAnoAdimissao, numQtdHorasExtras; char stNome, stCdCargo, stEstadoCivil, nomeCargo; float flSalarioBase, slBruto, slTotal, slLiquido, slFamilia; float INSS, FGTS, IRRF; //constante int numAnoAtual=2011; float calculoINSS(void); float calculoFGTS(void); float calculoIRRF(void); void Saida(void); void lerdados(void); float calculo(float, int, char, char); int main() { char opcao; printf("Insira a matricula: scanf("%d", &numMatr);

");

while(numMatr!=99999 && numMatr > 0) { lerdados(); calculo(flSalarioBase, numDependente, stEstadoCivil, stCdCargo); calculoINSS(); calculoFGTS(); calculoIRRF(); Saida(); printf("\n--------------------------\n"); printf("\nDeseja inserir outra Matricula [s]ou[n]? \n"); scanf("%s",&opcao); if(opcao=='n' opcao=='N') { return EXIT_SUCCESS; } if(opcao=='s' opcao=='S') { printf("Insira a matricula: "); scanf("%d", &numMatr); } if(numMatr==99999) { system("PAUSE"); return EXIT_SUCCESS;

} } system("PAUSE"); return EXIT_SUCCESS; } void lerdados(void) { // printf("Insira a matricula: // scanf("%d", &numMatr); printf("Insira o nome: scanf("%s", &stNome); printf("Insira o Salario Base: scanf("%f", &flSalarioBase); printf("Insira QTD Horas Extras: scanf("%d", &numQtdHorasExtras);

"); "); "); ");

printf("\nCodigo do Cargo:\n "); printf("O - Operario: \n "); printf("A - Assitente: \n "); printf("C - Coordenador: \n "); printf("G - Gerente: \n "); printf("D - Diretor: \n "); printf("\nInsira Codigo do Cargo: \n scanf("%s", &stCdCargo);

"); ");

printf("Estado Civil \n[C] para Casado [S] solteiro: scanf("%s", &stEstadoCivil); printf("Insira o Ano Admissao: "); scanf("%d", &numAnoAdimissao); printf("\n--------------------------\n"); } float calculo(float x, int y, char z, char w) { float vlHoras, vlHoraExtra, vlDescontos; float vlAdicionalTempo, vlAdicionalCargo;

//1 - Calculo das Horas e Adicionais vlHoras=(x/160); vlHoraExtra= (numQtdHorasExtras * (vlHoras) * 1.25); vlAdicionalTempo= ((numAnoAtual - numAnoAdimissao)*(0.05 * x)); //2 - Calculo de depedente if( z == 'C' z == 'c') { slFamilia=((y - 1) * (0.1 * x)); printf("Insira o Qtd Dependente: "); scanf("%d", &numDependente); } //3 - Tabela de valores do cargo switch (w) { case 'O': vlAdicionalCargo= 100.00; break; case 'A': vlAdicionalCargo= 200.00; break;

case 'C': vlAdicionalCargo= 300.00; break; case 'G': vlAdicionalCargo= 500.00; break; case 'D': vlAdicionalCargo= 800.00; break; default: break; } //4 slBruto=(x + vlHoraExtra + vlAdicionalTempo + vlAdicionalCargo); slTotal= (slBruto + slFamilia); //5 } float calculoINSS(void) { INSS=(slBruto*0.11); } float calculoFGTS(void) { FGTS=(slBruto*0.08); } float calculoIRRF(void) { IRRF=0; if (slBruto > 1500.00 && slBruto <= 3000.00) { IRRF=(slBruto * 0.165); } if (slBruto > 3000.00) { IRRF=(slBruto * 0.275); } } void Saida(void) { char r; printf(" \n"); printf("Numero da Matricula: %d \n",numMatr); r=stNome; printf("%c ",r); if(stCdCargo == 'O') { printf("Operario \n"); } if (stCdCargo== 'A') { printf("Assistente \n"); } if (stCdCargo== 'C')

{ printf("Coordenador \n"); } if (stCdCargo== 'G') { printf("Gerente \n"); } if (stCdCargo== 'D') { printf("Diretor \n"); } printf("Salario Total: %6.2f \n",slTotal); printf("Valor INSS: %6.2f \n", INSS); printf("Valor FGTS: %6.2f \n", FGTS); slLiquido=((slBruto+slFamilia)-(INSS+IRRF)); printf("Salario Liquido: %6.2f \n",slLiquido); // printf("Salario Bruto: %6.2f \n",slBruto); }