/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.*;
import java.util.ArrayList;//Nem estou usando essa bagaça
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class BancoUniandrade {
/**
* @param args the command line arguments
* @throws java.io.IOException
* Software Desenvolvido por ;
* Valor do Software: R$ 1.000,00
* Pagamento somente à vista
*
*/
public static void main(String[] args) throws IOException, Exception{
Scanner entrada = new Scanner(System.in);
//Criação das classes Pessoa, aluno, contanormal e contauniver;
Pessoa p = new Pessoa();
Aluno l = new Aluno();
ContaNormal cn = new ContaNormal();
ContaUniver cu = new ContaUniver();
Pesquisa pesquisas = new Pesquisa();
double limite2 = 0;
double valor;
int op, a = 0;
Simulador simu = new Simulador();
ArrayList Pessoas = new ArrayList();
//Criação das classes para a manipulação de um arquivo TXT
File arquivo=new File("f:/db.txt");
FileWriter fw = new FileWriter(arquivo,true);
BufferedWriter bw = new BufferedWriter(fw);
Pes pesq = new Pes();
System.out.println("=====Menu Principal=====");
System.out.println("1 - Cadastrar ");
System.out.println("2 - Consultar");
System.out.println("3 - Relatorio");
System.out.println("4 - Deposito ");
System.out.println("5 - Saque");
System.out.println("6 - Limite");
System.out.println("7 - Simulador");
System.out.println("0 - Sair");
do{
System.out.printf("\n\nDigite a Opção: ");
op=entrada.nextInt();
//Ação do Menu
switch(op){
case 1:
System.out.println("===Cadastro===");
System.out.println("Digite 1 (um) para criar uma conta normal \n Digite 2 (dois) para criar uma conta universitaria");
a= entrada.nextInt();
if(a==1){
System.out.println("Cadastro Conta Normal");
System.out.println("Nome: ");
p.nome = entrada.next();
System.out.println("RG: ");
p.rg = entrada.nextLong();
System.out.println("CPF: ");
p.cpf = entrada.nextLong();
System.out.println("Endereço: ");
p.endereco = entrada.next();
System.out.println("Profissão: ");
p.profissao=entrada.next();
bw.write(p.nome+"-"+p.rg+"-"+p.cpf+"-"+p.endereco+"-"+p.profissao+"-"+cn.numero+"-"+cn.saldo+"-"+cn.getLimite()+"- * - * - *");
bw.newLine();
}else{
System.out.println("Cadastro Conta Universitaria");
System.out.print("Nome: ");
l.nome=entrada.next();
System.out.print("Numero de matricula: ");
l.numEstudante=entrada.nextInt();
System.out.print("RG: ");
l.rg=entrada.nextLong();
System.out.print("CPF: ");
l.cpf=entrada.nextLong();
System.out.print("Endereço: ");
l.endereco=entrada.next();
System.out.print("Profissão: ");
l.profissao=entrada.next();
System.out.print("Instituição de ensino: ");
l.instituicao=entrada.next();
System.out.print("Curso: ");
l.curso=entrada.next();
bw.write("-"+l.nome+"-"+l.rg+"-"+l.cpf+"-"+l.endereco+"-"+l.profissao+"-"+cu.numero+"-"+cu.saldo+"-"+cu.limite2+"-"+l.instituicao+"-"+l.curso+"-"+l.numEstudante);
bw.newLine();
}
break;
case 2:
System.out.println("lendo Arquivo");
Leitura le = new Leitura();
le.Leitura();
break;
case 3:
System.out.println("Criando Relatorio... ");
System.out.println("Relatorio criando em C:/realtorio.txt ");
//simu.Simulador();;
break;
case 4:
System.out.println("Conta Normal(1) Conta Universitaria(2)");
op=entrada.nextInt();
switch (op){
case 1 :
System.out.println("Digite o valor que será depositado: " );
valor = entrada.nextDouble();
cn.saldo = cn.saldo+valor;
System.out.println("Saldo Atual:"+cn.saldo);
break;
case 2:
System.out.println("Digite o valor que será depositado: " );
valor = entrada.nextDouble();
cu.saldo = cu.saldo+valor;
System.out.println("Saldo Atual:"+cu.saldo);
System.out.println("Saldo Atual:"+cu.saldo);
break;
}
//pesq.Pes();
break;
case 5:
System.out.println("Conta Normal(1) Conta Universitaria(2)");
op=entrada.nextInt();
switch(op){
//pesquisas.Pesquisa();
case 1:
System.out.println("Saldo atual:" +cn.saldo);
if(cn.saldo>0.01){
System.out.println("Digite o valor que será retirado: " );
valor = entrada.nextDouble();
if(valor<=cn.saldo){
cn.saldo = cn.saldo-valor;
System.out.println("Saldo atual: "+cn.saldo);
}
}else{
System.out.println("Saldo Insuficiente");
}
break;
case 2:
System.out.println("Saldo atual:" +cu.valor);
if(cu.saldo>0.01){
System.out.println("Digite o valor que será retirado : " );
valor = entrada.nextDouble();
cu.saldo = cu.saldo-valor;
}else{
System.out.println("Saldo Insuficiente");
}
}
break;
case 6:
System.out.println("Conta Normal(1) Conta Universitaria(2)");
op = entrada.nextInt();
switch(op){
case 1:
System.out.println("Limite Disponivel: "+cn.limite);
System.out.println("Digite o valor que será usado do limite: " );
valor = entrada.nextDouble();
cn.saldo = valor;
cn.limite-=valor;
System.out.println("Saldo "+cn.saldo+" Limite atual: "+cn.limite );
break;
case 2:
System.out.println("Limite Disponivel: "+cu.limite);
System.out.println("Digite o valor que será usado do limite: " );
valor = entrada.nextDouble();
cu.saldo = valor;
cu.limite-=valor;
System.out.println("Saldo "+cu.saldo+" Limite atual: "+cu.limite );
break;
}
break;
case 7:
System.out.println("Simular:");
for(int mes = 1; mes<=12; mes++){
for(int dia= 1; dia<=31; dia++){
System.out.println("Dia"+dia+" Mes"+mes);
try{
Thread.sleep(1000);
}catch(InterruptedException EX){
Logger.getLogger(Simulador.class.getName()).log(Level.SEVERE, null, EX);
}
}
cn.saldo = cn.saldo-cn.getTaxa();
cu.saldo=cu.saldo-cu.getTaxaUniver();
if(cn.getLimite()<5000){
cn.saldo-=cn.getJuros();
}
if(cu.getLimite()<5000){
cu.saldo-=cu.getJuros();
}
System.out.println("Canta normal: "+cn.saldo);
System.out.println("Canta Univer: "+cu.saldo);
}
break;
default:
System.out.println("Opção invalida");
break;
}
}while(op!=0);
bw.close();
fw.close();
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
/**
* Quando eu vou começa a ganhar 3 mil reais?
* não consigo um Estagio de Suporte porque minha voz e escrita é um lixo!
* @author carneirovizoto
*/
public class Aluno extends Pessoa{
int numEstudante;
String curso;
String instituicao;
Aluno(){
}
int getNumEstudante(){
return numEstudante;
}
String getCurso(){
return curso;
}
String getInstituicao(){
return instituicao;
}
public void setNumEstudante(int numEstudante){
this.numEstudante=numEstudante;
}
public void setCurso(String curso){
this.curso=curso;
}
public void setInstituicao(String instituicao){
this.instituicao=instituicao;
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
/**
*
* @author alunos
*/
public class ContaNormal {
double saldo;
private final double juros=0.10;
int numero;
private final int taxa=50;
int limite = 5000;
double valor;
ContaNormal(){
}
public void getDebitar(){
this.saldo=this.saldo+valor;
}
public double getSaldo(){
return saldo;
}
public double getJuros(){
return juros;
}
public int getNumero(){
return numero;
}
public int getTaxa(){
return taxa;
}
public int getLimite(){
return limite;
}
public void setSaldo(double saldo){
this.saldo=saldo;
}
public void setNumero(int numero){
this.numero=numero;
}
public void setLimite(int limite){
this.limite=limite;
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
/**
*
* @author alunos
*/
public class ContaUniver extends ContaNormal {
private final int taxa=15;
int limite2 = 500;
//Herança
ContaUniver(){
}
int getTaxaUniver(){
return taxa;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
/**
*
* @author carneirovizoto
*/
public class Leitura {
public void Leitura() {
String linha = null;
try {
FileReader reader = new FileReader("f:/db.txt"); // Localização do Arquivo
//abre o arquivo
BufferedReader leitor = new BufferedReader(reader);
StringTokenizer st = null;
String nome; // Armazena campo de nome
String rg; // Armazena campo de rg
String cpf; // Armazena campo de cpf
String endereco; // Armazena campo de ndereço
String profissao; // Armazena campo de profissao
String numero;
String saldo;
String limite;
String curso;
String matricula;
String instituicao;
//loop para pular linha
while ((linha = leitor.readLine()) != null) {
// UTILIZA DELIMITADOR "-' PARA DIVIDIR OS CAMPOS
st = new StringTokenizer(linha, "-");
String dados = null;
while (st.hasMoreTokens()) {
// Campo Nome
dados = st.nextToken();
nome = dados;
// Campo RG
dados = st.nextToken();
rg = dados;
// Campo cpf
dados = st.nextToken();
cpf = dados;
// Campo Endereço
dados = st.nextToken();
endereco = dados;
// Campo profissao
dados = st.nextToken();
profissao = dados;
//Campo Numero
dados = st.nextToken();
numero = dados;
//Campo Saldo
dados = st.nextToken();
saldo = dados;
//Campo limite
dados = st.nextToken();
limite = dados;
//Campo curso
dados = st.nextToken();
curso = dados;
//Campo matrcula
dados = st.nextToken();
matricula = dados;
//Campo escola
dados = st.nextToken();
instituicao = dados;
//vai imprimir a bagaça
System.out.println("Nome: " + nome);
System.out.println("RG: " + rg);
System.out.println("CPF: " + cpf);
System.out.println("Prova " + endereco);
System.out.println("Profissao " + profissao);
System.out.println("Numero " + numero);
System.out.println("Saldo " + saldo);
System.out.println("Limite " + limite);
System.out.println("Curso " + curso);
System.out.println("Matricula " + matricula);
System.out.println("Faculdade " + instituicao);
}
}
//fecha a bagaça
leitor.close();
reader.close();
} catch (Exception e) {
//avisa se a bagaça dá erro
e.printStackTrace();
}
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package bancouniandrade;
/**
*
* @author alunos
*/
public class Pessoa {
String nome;
long rg;
long cpf;
String endereco;
String profissao;
Pessoa(){
}
String getNome(){
return nome;
}
long getRg(){
return rg;
}
long getCpf(){
return cpf;
}
String getEndereco(){
return endereco;
}
String getProfissao(){
return profissao;
}
public void setNome(String nome){
this.nome=nome;
}
public void setRg(long rg){
this.rg=rg;
}
public void setCpf(long cpf){
this.cpf=cpf;
}
public void setEndereco(String endereco){
this.endereco=endereco;
}
public void setProfissao(String profissao){
this.profissao=profissao;
}
}