
Programa na linguagem java que baseado no algoritmo da diciplina de Lógica, Algoritmo e Programação, realiza o cadastro dos funcionários do televendas da Distribuidora de Cosmeticos conforme descrito na página da diciplina de Fundamentos de Redes de Computadores, e depois de apurar os proventos e descontos, mostra o salário liquido a receber.
/* Programa que cadastra o funcionário, calcula o salário líquido de cada um e da a média salarial da empresa.
Autor: Gabriel, Deborah, Denis, Ezio
Data: 27/11/2014
*/
import java.util.Scanner;
public class Projeto_Integrador1 {
//declaração de constantes
static final String msg1 = "\n\n\n*** CONTRA CHEQUE ***\n\n";
static final String msg2 = "1 - Folha de Pagamento\n";
static final String msg3 = "2 - Media Salarial da Empresa\n";
static final String msg4 = "3 - Sair\n";
static final String msg5 = "\nEssa versao suporta no maximo 50 cadastros\n";
static final int lin = 50;
static final int col = 8;
static final double Sf1 = 35;
static final double Sf2 = 24.66;
public static void main(String args[]){
//declaração de variáveis
int opcao, opcao2, opcao3, cont, vendas;
double mat [][], familia, total, totalT, media;
mat = new double [lin][col];
cont = 0;
totalT = 0;
total = 0;
familia = 0;
//menu
Scanner entrada = new Scanner(System.in);
System.out.print (msg1);
System.out.print (msg2);
System.out.print (msg4);
opcao = entrada.nextInt();
System.out.print (msg5);
while (opcao != 3) {
if (opcao > 3) {
do {
System.out.print ("\nERRO! Escolha uma outra opção que seja valida: ");
opcao = entrada.nextInt();
} while (opcao > 3);
} else {
if (opcao == 1) {
if (cont == 50) {
System.out.println ("\nFIM: a quantidade limite de cadastros foi alcançada.\n\n");
} else {
//informações iniciais
if (cont != 0) {
System.out.println ("\n\n\n**** PROXIMO CADASTRO ***\n");
}
if (cont == 0){
System.out.print ("\n\n\n*** CADASTRO ***\n");
}
System.out.print ("\nDe a matricula do funcionario: ");
mat [cont][0] = entrada.nextDouble();
total = 0;
System.out.print ("\nDe o salario: ");
mat [cont][1] = entrada.nextDouble();
total = mat [cont][1];
//inss
if (mat [cont][1] <= 1317.07) {
mat [cont][2] = mat [cont][1] * 0.08;
} else {
if (mat [cont][1] <= 2195.12) {
mat [cont][2] = mat [cont][1] * 0.09;
} else {
if (mat [cont][1] <= 4390.24) {
mat [cont][2] = mat [cont][1] * 0.11;
}
}
}
total = total - mat [cont][2];
//vale transporte
System.out.print ("\n\n\n*** VALE TRANSPORTE ***\n\n");
System.out.print ("0 - Se o funcionario nao pega o vale\n");
System.out.print ("1 - Se ele o pega\n");
opcao2 = entrada.nextInt();
if (opcao2 != 0 && opcao2 != 1) {
do {
System.out.print ("\nOpcao invalida! Digite outra vez: ");
opcao2 = entrada.nextInt();
} while (opcao2 != 0 && opcao2 != 1);
} else {
if (opcao == 0) {
mat [cont][3] = 0;
} else {
mat [cont][3] = mat [cont][1] * 0.06;
total = total - mat [cont][3];
}
}
//salário família
System.out.print ("\n\n\n*** SALARIO FAMILIA ***\n\n");
System.out.print ("\nQuantos filhos este funcionario tem? ");
mat [cont][4] = entrada.nextDouble();
if (mat [cont][1] <= 682.50) {
familia = Sf1 * mat [cont][4];
total = total + familia;
} else {
if (mat [cont][1] <= 1025.81) {
familia = mat[cont][4] * Sf2;
total = total + familia;
}
}
//plano de saúde
System.out.print ("\n\n\n*** PLANO DE SAUDE ***\n\n");
System.out.print ("\nO funcionario beneficia-se do plano de saude? \n");
System.out.print ("1 - SIM\n");
System.out.print ("2 - NAO\n");
opcao3 = entrada.nextInt();
if (opcao3 != 1 && opcao3 != 2) {
do {
System.out.print ("\n\nOpcao Invalida! Digite outra vez: ");
opcao3 = entrada.nextInt();
} while (opcao3 != 1 && opcao3 != 2);
} else {
if (opcao3 == 1) {
mat [cont][5] = 95;
total = total - mat [cont][5];
} else {
mat [cont][5] = 0;
}
}
//comissão
System.out.print ("\n\n\n*** COMISSAO ***\n\n");
System.out.print ("\nQuantas vendas o funcionario fez: ");
vendas = entrada.nextInt();
if (vendas <= 10) {
mat [cont][6] = 0;
} else {
if (vendas <= 20) {
mat [cont][6] = 100;
} else {
if (vendas <= 40) {
mat [cont][6] = 300;
} else {
if (vendas > 40) {
mat [cont][6] = 500;
}
}
}
}
total = total + mat [cont][6];
System.out.print ("\n\n\n*** DEMONSTRATIVO ***\n\n");
System.out.println ("\nO salario bruto e: R$" + mat [cont][1]);
System.out.println ("O valor descontado pelo INSS e: R$" + mat [cont][2]);
System.out.println ("O valor descontado pelo Vale Transporte e: R$" + mat [cont][3]);
System.out.println ("O valor recebido pelo salario familia e: R$" + familia);
System.out.println ("O valor descontado pelo plano de saude e: R$" + mat [cont][5]);
System.out.println ("A comissao recebida e: R$" + mat [cont][6] + " pela quantidade de vendas igual a " + vendas);
System.out.println ("O seu salario e: R$" + total);
}
mat [cont][7] = total;
totalT = totalT + total;
cont ++;
System.out.println (msg1);
System.out.println (msg2);
System.out.println (msg3);
System.out.println (msg4);
opcao = entrada.nextInt();
System.out.println (msg5);
}
if (opcao == 2) {
media = totalT / cont;
System.out.println ("\n\n\nMEDIA DOS SALARIOS\n\n");
System.out.println ("\n\nA media salarial da empresa e R$ " + media);
System.out.println (msg1);
System.out.println (msg2);
System.out.println (msg3);
System.out.println (msg4);
opcao = entrada.nextInt();
System.out.println (msg5);
}
}
}
}
}