Considere um sistema para gerenciamento de funcionários. Você deve projetar e implementar uma classe funcionário. Todo funcionário tem um nome, um salário, um cpf e o ano de contratação. Para um dado empregado, deve ser possível inserir cada dados e obter seu nome, obter seu salário, aumentar seu salário de acordo com um percentual, obter o ano de contratação, imprimir seus dados na tela e verificar se um dado nome é igual ao do funcionário. Faça os métodos que atendam às solicitações acima.
Para simular uma empresa com seus funcionários, você deve criar uma classe/programa DemoEmpresa com o seguinte menu:
1- Cadastrar funcionário
2- Buscar funcionário pelo nome
3- Aumentar o salário de um funcionário
4- Exibir dados dos funcionários
5- Obter gasto mensal da empresa
6- Sair
Você deve utilizar um array de funcionários e o máximo de funcionários cadastrados pode ser 50. Para aumentar o salário de um determinado funcionário é preciso encontrar o funcionário. O cadastro deve ser feito enquanto o usuário desejar ou até que atinja o limite de cadastros.
Como eu Aumento o salario de um funcionario e obtenho gasto mensal da empresa?
package modelo;
public class Funcionario {
private float salario;
private String nome, cpf;
private int ano;
public float getSalario() {
return salario;
}
public void setSalario(float salario) {
this.salario = salario;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public boolean verificaNome(String n) {
if (nome.equalsIgnoreCase(n))
return true;
else
return false;
}
}
package principal;
import java.util.Scanner;
import modelo.Funcionario;
public class FuncionariosCadastro {
public static void menu() {
System.out.println("\n***Cadastro de Clientes ***\n");
System.out.println(“1 - Cadastro”);
System.out.println(“2 - Busca cliente”);
System.out.println(“3 - Exibir dados”);
System.out.println(“4 - Sair”);
System.out.println("\n Informe sua opção:");
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Funcionario[] cadastro = new Funcionario[50];
int op=6, qtd=0;
do {
menu();
op = sc.nextInt();
switch(op) {
case 1:{
if(qtd<50) {
cadastro[qtd] = new Funcionario();
System.out.println("Salario: ");
cadastro[qtd].setSalario(sc.nextFloat());
sc.nextLine();
System.out.println("Nome: ");
cadastro[qtd].setNome(sc.nextLine());
sc.nextLine();
System.out.println("CPF: ");
cadastro[qtd].setCpf(sc.nextLine());
sc.nextLine();
System.out.println("Ano: ");
cadastro[qtd].setAno(sc.nextInt());
sc.nextLine();
qtd++;
qtd++;
}
else {
System.out.println("Limite de Funcionarios!!!");
}
break;
}
case 2:{
if(qtd>0) {
String n; boolean achou=false;
System.out.println("Informe o nome desejado : ");
n = sc.nextLine();
for(int i=0;i<qtd;i++) {
if(cadastro[i].verificaNome(n)) {
System.out.println("Funcionario existente!");
achou = true;
break;
}
}
if(achou==false) {
System.out.println("O funcionario não foi encontrado!");
}
}
else
System.out.println("Não há funcionario cadastrado");
break;
}
case 3:{
}
case 4:{
if(qtd>0) {
System.out.println("\nFuncionario\n");
for(int i=0; i<qtd; i++) {
System.out.println(cadastro[i]);
}
}
break;
}
case 5:{
}
case 6:{
System.out.println("Finalizando ...");
break;
}
default:{
System.out.println("Opção Invalida");
}
}
}while(op!=4);
}
}
Para aumentar o salário de um funcionário é só pegar alterar o salário adicionando a margem, exemplo:
salario = salario * (1+(margem/100));
ou
salario *= 1+(margem/100);
no gasto mensal é utilizar uma estrutura de repetição como o for e armazenar o valor do salario de cada funcionário em uma variável soma.