package PlanoEmpresa;
public class Pessoa {
private String nome;
private double valorMinuto=0.21;
private int numero;
private int minutos;
private double acrescimo;
private String troca;
public Pessoa(String nome, int numero,int minutos,double acrescimo,String troca){
this.nome=nome;
this.numero=numero;
this.troca=troca;
this.acrescimo=acrescimo;
}
public double getTotal() {
return acrescimo+(minutos*this.valorMinuto);
}
public String getTroca() {
return troca;
}
public void setTroca(String troca) {
this.troca = troca;
}
public int getMinutos() {
return minutos;
}
public void setMinutos(int minutos) {
this.minutos = minutos;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public void alteraMinuto(double valor){
this.valorMinuto=valor;
}
public double getValorMinuto() {
return valorMinuto;
}
public double getAcrescimo() {
return acrescimo;
}
public void setAcrescimo(double acrescimo) {
this.acrescimo = acrescimo;
}
public void setValorMinuto(double valorMinuto) {
this.valorMinuto = valorMinuto;
}
public String toString(){
return ("Nome: "+this.nome+"/nNúmero de celular: "+this.numero+"\nMinutos utilizados: "+this.minutos
+"\nTotal da conta: R$"+getTotal()+"\nData da última troca de aparelho: "+this.troca);
}
}
package PlanoEmpresa;
public class VetPessoa {
private Pessoa[]vet;
private int nElem;
private int senha=102030;
public int getSenha() {
return senha;
}
public void setSenha(int senha) {
this.senha = senha;
}
public VetPessoa(int tam){
this.vet=new Pessoa[tam];
this.nElem=0;
}
public int getnElem() {
return nElem;
}
public Pessoa getPessoa(String nome){
int aux=pesquisa(nome);
return vet[aux];
}
public void setnElem(int nElem) {
this.nElem = nElem;
}
public int pesquisa(String nome){
int i;
String nome2="";
for (i=0;i<this.nElem;i++){
nome2=vet[i].getNome();
if(nome.equalsIgnoreCase(nome2)){
return i;
}}
return -1;
}
public double total(String nome){
int aux=pesquisa(nome);
if(aux>-1){
return vet[aux].getTotal();}
else
return -1;
}
public double totalGeral(){
double total=0;
for(int i=0;i<this.nElem;i++){
total+=vet[i].getTotal();
}return total;
}
public int incluirMinutos(int quant,String nome){
int aux=pesquisa(nome);
if(aux<0){
return -1;
}vet[aux].setMinutos(vet[aux].getMinutos()+quant);
return 1;
}
public int consultaMinutos(String nome){
int aux=pesquisa(nome);
if(aux<0){
return -1;
}return vet[aux].getMinutos();
}
public int pesquisaNumero(int num){
int i;
int numero;;
for (i=0;i<this.nElem;i++){
numero=vet[i].getNumero();
if(num==numero){
return i;
}}
return -1;
}
public int insereData(String nome,String data){
int aux=pesquisa(nome);
if(aux<0){
return -1;
}else{
vet[aux].setTroca(data);
}return 1;
}
public String consultaData(String nome){
int aux=pesquisa(nome);
if(aux<0){
return ("Pessoa não cadastrada!");
}else{
return vet[aux].getTroca();
}
}
public int insere(Pessoa pessoa){
String nome=pessoa.getNome();
int aux2=pesquisaNumero(pessoa.getNumero());
int aux=pesquisa(nome);
if(this.nElem>=vet.length){
return 0;
}
if(aux>=0||aux2>-1){
return -1;
}else{
vet[this.nElem]=pessoa;
this.nElem++;
return 1;
}
}
public int remover(String nome){
int aux=pesquisa(nome);
if (aux<0){
return -1;
}else{
vet[aux]=vet[this.nElem-1];
vet[this.nElem-1]=null;
this.nElem--;
return 1;
}
}
public int consultaNumero(String nome){
int aux=pesquisa(nome);
if(aux>=0){
return vet[aux].getNumero();
}else{
return -1;
}
}
public int insereValor(String nome,double valor){
int aux=pesquisa(nome);
if(aux<0){
return -1;
}else{
vet[aux].setAcrescimo(vet[aux].getAcrescimo()+valor);
return 1;
}}
public int reduzirValor(String nome,double valor){
int aux=pesquisa(nome);
if(aux>=0){
vet[aux].setAcrescimo(vet[aux].getAcrescimo()-valor);
return 1;
}else{
return -1;
}
}
public String consultaNome(int numero){
int i;
int num2=0;
for (i=0;i<this.nElem;i++){
num2=vet[i].getNumero();
if(numero==num2){
return vet[i].getNome();
}}
return "Pessoa Não Cadastrada!";
}
public String toString(){
String msg="";
for(int i=0;i<this.nElem;i++){
msg+="\nNome: "+vet[i].getNome()+"\nNumero: "+vet[i].getNumero()
+"\nData da Ultima troca de aparelho: "+vet[i].getTroca()+"\n";
}
return msg;
}
public String toStringArquivo(){
String msg="";
for(int i=0;i<this.nElem;i++){
msg+="Nome:"+" \t "+vet[i].getNome()+" \t "+"Numero:"+" \t "+vet[i].getNumero();
}
return msg;
}
}
package PlanoEmpresa;
public class Main {
static final int tam=50;
public static void main(String[] args) {
int senha2;
VetPessoa vet=new VetPessoa(tam);
do{senha2=InOut.leInt(“Digite a senha de acesso:”);
}while(senha2!=vet.getSenha());
Pessoa pessoa=new Pessoa("",0,0,0,"");
char confirma=‘N’;
int op;
do{
do{
op=InOut.leInt(" PLANO EMPRESA"+
"\n\n\nINFORME A OPÇÃO DESEJADA:\n\n" +
"1-Cadastrar Pessoa\n" +
"2-Remover Pessoa\n" +
"3-Consulta Numero\n" +
"4-Consulta Nome\n" +
"5-Incluir Minutos Utiliados\n" +
"6-Consultar Minutos Utilizados\n" +
"7-Inserir Valor na Conta\n" +
"8-Reduzir Valor na Conta\n" +
"9-Consultar Data de Troca de Aparelho\n" +
"10-Incluir Data de Troca de Aparelho\n"+
"11-Pessoas Cadastradas no Plano\n"+
"12-Valor de Conta Individual\n" +
"13-Valor da Conta total do plano\n" +
"14-Alterar Preço por Minuto\n" +
"15-Consultar Preço do Minuto\n" +
"16-Alterar Senha\n" +
"17-Sair");
}while (op<1||op>17);
switch(op){
case 1: cadastrar(vet);
break;
case 2: remover(vet);
break;
case 3: consultaNumero(vet);
break;
case 4:consultaNome(vet);
break;
case 5:incluirMinutos(vet);
break;
case 6:consultaMinutos(vet);
break;
case 7:insereValor(vet,pessoa);
break;
case 8:reduzirValor(vet,pessoa);
break;
case 9:consultaData(vet);
break;
case 10:insereData(vet);
break;
case 11: relatorio(vet);
break;
case 12:valorIndividual(vet);
break;
case 13: valorGeral(vet);
break;
case 14:alteraMinuto(pessoa);
break;
case 15:valorMinuto(pessoa);
break;
case 16:alterarSenha(vet);
break;
case 17: confirma=sair();
break;
}
}while(confirma!='S'&&confirma!='s');
}
public static int leTam(){
int aux;
do{
aux=InOut.leInt("Informe a quantidade de pessoas do plano");
}while(aux<0);
return aux;
}
public static void cadastrar(VetPessoa vet){
int aux;
String nome=InOut.leString("Informe o nome da pessoa:").toUpperCase();
int numero=InOut.leInt("Informe o número de celular da pessoa");
Pessoa pessoa=new Pessoa(nome,numero,0,0,"Não Cadastrada!");
aux=vet.insere(pessoa);
if(aux<0){
InOut.MsgDeErro("ERRO","Pessoa ou Números já Cadastrados!");
}else
if(aux==0){
InOut.MsgDeErro("ERRO", "Cadastro Cheio!");
}else{
if(aux>0)
InOut.MsgDeInformação("Plano Empresa","Cadastro Realizado!");}
}
public static void remover(VetPessoa vet){
String nome=InOut.leString("Informe o Nome da Pessoa a Ser Removida:");
int aux;
aux=vet.remover(nome);
if(aux<0){
InOut.MsgDeErro("ERRO", "Pessoa não Cadastrada!");
}else
InOut.MsgDeAviso("Plano Empresa", "Pessoa Removida com Sucesso!");
}
public static void consultaNumero(VetPessoa vet){
int aux=0;
String nome=InOut.leString("Informe o Nome da Pessoa:");
aux=vet.consultaNumero(nome);
if(aux<0){
InOut.MsgDeErro("ERRO", "Pessoa não Cadastrada!");
}else{
InOut.MsgDeInformação("Plano Empresa", "O número de telefone de: "+
nome +" é "+aux);
}
}
public static void consultaNome(VetPessoa vet){
int num=InOut.leInt("Informe o número da pessoa:");
InOut.MsgDeInformação("Plano Empresa",vet.consultaNome(num));
}
public static void relatorio(VetPessoa vet){
InOut.MsgDeInformação("Plano Empresa",vet.toString());
}
public static char sair(){
char aux;
aux=InOut.leChar("Deseja Realmente Sair?\nS-Sim\nN-Não".toUpperCase());
return aux;
}
public static void valorIndividual(VetPessoa vet){
String nome=InOut.leString("Informe o nome a ser consultado");
double aux=vet.total(nome);
if (aux<0){
InOut.MsgDeErro("ERRO","Pessoa não encontrada!");}
InOut.MsgDeInformação("Plano Empresa", "O valor total da conta de "+nome+" é de R$"+aux);
}
public static void valorGeral(VetPessoa vet){
double total=vet.totalGeral();
InOut.MsgDeInformação("Plano Empresa", "O valor total da conta é de R$"+total);
}
public static void incluirMinutos(VetPessoa vet){
String nome=InOut.leString("Informe o nome da pessoa:");
int quant=InOut.leInt("Informe a quantidade de minutos utilizados");
int aux=vet.incluirMinutos(quant, nome);
if(aux<0){
InOut.MsgDeErro("ERRO", "Pessoa não Cadastrada!");
}else{
InOut.MsgDeInformação("Plano Empresa","Minutos incluidos com sucesso!");
}
}
public static void alteraMinuto(Pessoa pessoa){
InOut.MsgDeInformação("Plano Empresa","O atual valor do minuto é de R$"+pessoa.getValorMinuto());
pessoa.setValorMinuto(InOut.leDouble("Informe o novo valor para o minuto: R$"));
}
public static void insereValor(VetPessoa vet,Pessoa pessoa){
String nome=InOut.leString("Informe o nome da Pessoa");
pessoa=vet.getPessoa(nome);
double total=pessoa.getTotal();
InOut.MsgDeInformação("Plano Empresa","O atual valor da conta é de R$:"+total);
double acrescentar=InOut.leDouble("Informe o valor a ser acrescentado: R$");
int aux=vet.insereValor(nome,acrescentar);
if(aux>=1){
InOut.MsgDeInformação("Plano Empresa", "Valor incluido com sucesso!");
}else{
InOut.MsgDeErro("ERRO","Pessoa não cadastrada!");
}
}
public static void reduzirValor(VetPessoa vet,Pessoa pessoa){
String nome=InOut.leString("Informe o nome da Pessoa");
pessoa=vet.getPessoa(nome);
double total=pessoa.getTotal();
InOut.MsgDeInformação("Plano Empresa","O atual valor da conta é de R$:"+total);
double reduzir=InOut.leDouble("Informe o valor a ser reduzido: R$");
int aux=vet.reduzirValor(nome,reduzir);
if(aux>0){
InOut.MsgDeInformação("Plano Empresa", "Valor reduzido com sucesso!");
}else{
InOut.MsgDeErro("ERRO","Pessoa não cadastrada!");
}
}
public static void insereData(VetPessoa vet){
String nome=InOut.leString("Informe o nome da pessoa:");
String data=InOut.leString("Informe a data da troca do aparelho\n Dia-Mes-Ano");
int aux=vet.insereData(nome, data);
if(aux<0){
InOut.MsgDeErro("ERRO","Pessoa não cadastrada!");
}else{
InOut.MsgDeInformação("Plano empresa", "Data inserida com sucesso!");
}
}
public static void alterarSenha(VetPessoa vet){
int senha=InOut.leInt("Informe a senha atual");
if (senha==vet.getSenha()){
int novaSenha=InOut.leInt("Informe a nova senha contendo apenas números");
vet.setSenha(novaSenha);
InOut.MsgDeInformação("Plano Empresa","Senha Alterada com sucesso!");
}else{
InOut.MsgDeErro("ERRO","Senha Incorreta!");
}
}
public static void consultaData(VetPessoa vet){
String nome=InOut.leString("Informe o nome da pessoa");
String aux=vet.consultaData(nome);
InOut.MsgDeInformação("Plano Empresa",aux);
}
public static void consultaMinutos(VetPessoa vet){
String nome=InOut.leString("Informe o nome da pessoa");
int aux=vet.consultaMinutos(nome);
if(aux<0){
InOut.MsgDeErro("ERRO","Pessoa não cadastrada!");
}InOut.MsgDeInformação("Plano Empresa","A quantidade de minutos utilizados por "+nome+" é de: "+aux+ "minutos." );
}
public static void valorMinuto(Pessoa pessoa){
InOut.MsgDeInformação("Plano Empresa", "O valor atual do minuto é de R$"+pessoa.getValorMinuto());
}
}
OBS: o InOut é uma classe para leitura de informaçao com interface