Olá pessoal!
Olhem meu programa de cadastro de clientes em java:
vejam o código:
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro {
public static void main (String[]args) {
String nome_do_arquivo, nome, endereco, cpf, rg, data_nascimento, numero_telefone, numero_celular, email;
int resposta;
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File ("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\" + nome_do_arquivo + ".txt");
FileWriter writer = new FileWriter(new File(nome_do_arquivo + ".txt"));
PrintWriter cadastro = new PrintWriter(writer);
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: " + endereco + "\r\r\n" + "CPF: " + cpf + "\r\r\n" + "RG: " +
rg + "\r\r\n" + "Data de aniversário: " + data_nascimento + "\r\r\n" + "Número de telefone fixo: " + numero_telefone +
"\r\r\n" + "Número de celular: " + numero_celular + "\r\r\n" + "E-mail: " + email);
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
resposta = JOptionPane.showConfirmDialog(null, "Você deseja criar outro cadastro?");
if (resposta == JOptionPane.NO_OPTION)
JOptionPane.showMessageDialog(null, "O programa será fechado...");
if (resposta == JOptionPane.YES_OPTION) {
} else {
System.exit(0);
}
System.exit(0);
}
}
O programa está rodando direitinho (a não ser que ele
não está salvando os arquivos na pasta Clientes cadastrados)
, mas como vocês podem ver ele fecha depois de cadastrar o cliente.
Eu estou querendo que ele faça uma pergunta ao usuário se ele
quer cadastrar mais outro cliente, se sim, ele roda tudo de novo
(faz um loop) e faz a pergunta novamente no final, se não, ele fecha.
Entenderam?
Olá amigo,
não mudando nada em seu raciocínio, basta colocar um do while();
//declare a variável
String opcao;
int op;
do {
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
opcao = JOptionPane.showInputDialog("Cadastrar novo cliente? 1-Sim 0-Não"); //Várias maneiras para tratar isto
op = Integer.parseInt(opcao); //Converte o que vc digitou dentro da caixa de dialogo para inteiro.
} while(op == 1);
[quote=diegohsi]Olá amigo,
não mudando nada em seu raciocínio, basta colocar um do while();
[code]
//declare a variável
String opcao;
int op;
do {
nome = JOptionPane.showInputDialog(“Qual é o nome de seu cliente?”);
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
opcao = JOptionPane.showInputDialog("Cadastrar novo cliente? 1-Sim 0-Não"); //Várias maneiras para tratar isto
op = Integer.parseInt(opcao); //Converte o que vc digitou dentro da caixa de dialogo para inteiro.
public static void main (String[]args) {
int resposta = 0;
while (resposta == 0) {
// ...
// ... trecho do seu programa
// ...
// pergunta para validar execução do programa
resposta = JOptionPane.showConfirmDialog(null, "Deseja criar outro cadastro?");
if (resposta == JOptionPane.OK_OPTION) {
JOptionPane.showMessageDialog(null, "Entrar com os dados novamente...");
} else if (resposta == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.CANCEL_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.DEFAULT_OPTION) {
// nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogo
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
}
}
// fecha
System.exit(0);
}
public static void main (String[]args) {
int resposta = 0;
while (resposta == 0) {
// ...
// ... trecho do seu programa
// ...
// pergunta para validar execução do programa
resposta = JOptionPane.showConfirmDialog(null, "Deseja criar outro cadastro?");
if (resposta == JOptionPane.OK_OPTION) {
JOptionPane.showMessageDialog(null, "Entrar com os dados novamente...");
} else if (resposta == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.CANCEL_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.DEFAULT_OPTION) {
// nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogo
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
}
}
// fecha
System.exit(0);
}
Qualquer dúvida, estamos a disposição.
Até mais…[/quote]
Não entendi direito seu método, onde eu coloco para o programa rodar novamente?
A variável “resposta” é onde trataremos o retorno da escolha do usuário. Caso o usuário escolha SIM, continuaremos no loop.
Não testei, mas creio que seja isto:
public static void main (String[]args) {
int resposta = 0;
while (resposta == 0) {
String nome_do_arquivo, nome, endereco, cpf, rg, data_nascimento, numero_telefone, numero_celular, email;
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File ("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\" + nome_do_arquivo + ".txt");
FileWriter writer = new FileWriter(file);
PrintWriter cadastro = new PrintWriter(writer);
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: " + endereco + "\r\r\n" + "CPF: " + cpf + "\r\r\n" + "RG: " +
rg + "\r\r\n" + "Data de aniversário: " + data_nascimento + "\r\r\n" + "Número de telefone fixo: " + numero_telefone +
"\r\r\n" + "Número de celular: " + numero_celular + "\r\r\n" + "E-mail: " + email);
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
// pergunta para validar execução do programa
resposta = JOptionPane.showConfirmDialog(null, "Deseja criar outro cadastro?");
if (resposta == JOptionPane.OK_OPTION) {
JOptionPane.showMessageDialog(null, "Entrar com os dados novamente...");
} else if (resposta == JOptionPane.NO_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.CANCEL_OPTION) {
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
} else if (resposta == JOptionPane.DEFAULT_OPTION) {
// nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogo
JOptionPane.showMessageDialog(null, "Resposta: " + resposta);
// ... faz alguma coisa
}
}
// fecha
System.exit(0);
}
amigo
Coloque o seu código de cadastro dentro de um
do{}while();
ai dentro da condição de saída, coloque assim:
do{
…
}while(JOptionPane.showConfirmDialog(null,“Deseja cadastrar mais clientes?”)==0);
o ConfirmDialog apresenta uma caixinha com 3 opções: Sim, Não e Cancelar.
Se o user clicar em sim ele retorna 0, se clicar em não ele retorna 1 e se clicar em cancelar, ele retorna 2.
Então se o user clicar em sim, ele irá retornar 0, onde 0==0, então ele vai repetir.
[quote=ByIvo]amigo
Coloque o seu código de cadastro dentro de um
do{}while();
ai dentro da condição de saída, coloque assim:
do{
…
}while(JOptionPane.showConfirmDialog(null,“Deseja cadastrar mais clientes?”)==0);
[/quote=ByIvo]
o ConfirmDialog apresenta uma caixinha com 3 opções: Sim, Não e Cancelar.
Se o user clicar em sim ele retorna 0, se clicar em não ele retorna 1 e se clicar em cancelar, ele retorna 2.
Então se o user clicar em sim, ele irá retornar 0, onde 0==0, então ele vai repetir.[/quote]
Obrigado, você não postou com um código fonte, mas explicou tudo direitinho.
Obrigado.
Não deu erro de compilação, mas o programa não roda.
Eu abro pelo prompt de comando e fica uma underline piscando e nada aparece.
Vejam o código
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro {
public static void main (String[]args) {
do {
String nome_do_arquivo, nome, endereco, cep, cpf, rg, data_nascimento, numero_telefone, numero_celular, email;
int resposta = 0;
while (resposta == 0);
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File ("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\" + nome_do_arquivo + ".txt");
FileWriter writer = new FileWriter(new File(nome_do_arquivo + ".txt"));
PrintWriter cadastro = new PrintWriter(writer);
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: " + endereco + "\r\r\n" + "CEP: " + cep + "\r\r\n" + "CPF: " + cpf + "\r\r\n" + "RG: " + rg + "\r\r\n" + "Data de aniversário: " + data_nascimento + "\r\r\n" + "Número de telefone fixo: " + numero_telefone + "\r\r\n" + "Número de celular: " + numero_celular + "\r\r\n" + "E-mail: " + email);
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null, "Ocorreu um erro ao cadastrar " + nome);
} catch (Exception ex) {
ex.printStackTrace();
}
}
while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);
System.exit(0);
}
}
Bom se você observar, tem duas coisas acontecendo no seu código:
Primeiro e o mais grave, tem uma linha desta forma while(resposta==0);
este ponto e virgula depois do while está gerando um loop infinito!
Segundo, tem uma variável ae não está sendo usada para nada!
Retirei a linha do loop e a variável que estava sobrando segue abaixo o código:
package Colecoes;
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro {
public static void main(String[] args) {
do {
String nome_do_arquivo, nome, endereco, cep, cpf, rg, data_nascimento, numero_telefone, numero_celular, email;
nome_do_arquivo = JOptionPane
.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane
.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane
.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane
.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File(
"C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"
+ nome_do_arquivo + ".txt");
FileWriter writer = new FileWriter(new File(nome_do_arquivo
+ ".txt"));
PrintWriter cadastro = new PrintWriter(writer);
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: "
+ endereco + "\r\r\n" + "CEP: " + cep + "\r\r\n"
+ "CPF: " + cpf + "\r\r\n" + "RG: " + rg + "\r\r\n"
+ "Data de aniversário: " + data_nascimento + "\r\r\n"
+ "Número de telefone fixo: " + numero_telefone
+ "\r\r\n" + "Número de celular: " + numero_celular
+ "\r\r\n" + "E-mail: " + email);
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao cadastrar " + nome);
} catch (Exception ex) {
ex.printStackTrace();
}
} while (JOptionPane.showConfirmDialog(null,
"Deseja cadastrar outro clientes?") == 0);
System.exit(0);
}
}
Testei aqui e verifiquei que estava faltando alguns detales:
Não estava dando flush
Não estava fazendo a verificação de existência do arquivo para depois criá-lo se não existir
Não estava com append true para gravar no final do arquivo
Não tinha um separador para visualizar melhor os registros
Ainda falta lógico o tratamento dos dados…validações
abraço.
Segue o código:
package Colecoes;
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro {
public static void main(String[] args) {
do {
String nome_do_arquivo;
String nome;
String endereco;
String cep;
String cpf;
String rg;
String data_nascimento;
String numero_telefone;
String numero_celular;
String email;
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File ("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\" + nome_do_arquivo + ".txt");
//verifica se o arquivo existe
if(!file.exists()){
//se não existir cria o arquivo
file.createNewFile();
}
System.out.println("C:\\Users\\claudemir\\Desktop\\cadastro\\"+ nome_do_arquivo + ".txt");
//cria um arquivo com append true para garantir a persistência dos dados anteriores
FileWriter writer = new FileWriter(file,true);
PrintWriter cadastro = new PrintWriter(writer);
if (file.length()>0) {
cadastro.println("==============================Novo Registro======================================");
}
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: "
+ endereco + "\r\r\n" + "CEP: " + cep + "\r\r\n"
+ "CPF: " + cpf + "\r\r\n" + "RG: " + rg + "\r\r\n"
+ "Data de aniversário: " + data_nascimento + "\r\r\n"
+ "Número de telefone fixo: " + numero_telefone
+ "\r\r\n" + "Número de celular: " + numero_celular
+ "\r\r\n" + "E-mail: " + email);
//descarrega garantindo que a ultima entrada no buffer será gravada
cadastro.flush();
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao cadastrar " + nome);
} catch (Exception ex) {
ex.printStackTrace();
}
} while (JOptionPane.showConfirmDialog(null,
"Deseja cadastrar outro clientes?") == 0);
System.exit(0);
}
}
Segue como ficou após a gravação no arquivo.
Cliente: asdfasfsa
Endereço: asdfasfsa
CEP: asdfasfsa
CPF: asdfasfsa
RG: asdfasfsa
Data de aniversário: asdfasfsa
Número de telefone fixo: asdfasfsa
Número de celular: asdfasfsa
E-mail: asdfasfsa
==============================Novo Registro======================================
Cliente: asdfasfsa
Endereço: asdfasfsa
CEP: asdfasfsa
CPF: asdfasfsa
RG: asdfasfsa
Data de aniversário: asdfasfsa
Número de telefone fixo: asdfasfsa
Número de celular: asdfasfsa
E-mail: asdfasfsa
Obrigado ribclauport!
Você adicionou para min algumas funções que eu queria implementar, obrigado pela mega ajuda!
Pelo, que eu entendi, eu não pretendo salvar tudo em um único arquivo, desejo salvar cada cadastro em um arquivo diferente, por isso coloquei a pergunta do nome do arquivo, para a pessoa já saber o nome do cadastro que ela criou.
Olá de novo!
Dei uma melhorada colocando o case, mais quero que depois do case 2 ele volte ao menu principal.
vejam:
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro {
public static void main(String[] args) {
String opcao;
int a;
opcao = JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Sair");
a = Integer.parseInt(opcao);
switch (a) {
case 1:
do {
String nome_do_arquivo;
String nome;
String endereco;
String cep;
String cpf;
String rg;
String data_nascimento;
String numero_telefone;
String numero_celular;
String email;
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File ("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\" + nome_do_arquivo + ".txt");
//verifica se o arquivo existe
if(!file.exists()){
//se não existir cria o arquivo
file.createNewFile();
}
System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+ nome_do_arquivo + ".txt");
//cria um arquivo com append true para garantir a persistência dos dados anteriores
FileWriter writer = new FileWriter(file,true);
PrintWriter cadastro = new PrintWriter(writer);
if (file.length()>0) {
cadastro.println("==============================Novo Registro======================================");
}
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: "
+ endereco + "\r\r\n" + "CEP: " + cep + "\r\r\n"
+ "CPF: " + cpf + "\r\r\n" + "RG: " + rg + "\r\r\n"
+ "Data de aniversário: " + data_nascimento + "\r\r\n"
+ "Número de telefone fixo: " + numero_telefone
+ "\r\r\n" + "Número de celular: " + numero_celular
+ "\r\r\n" + "E-mail: " + email);
//descarrega garantindo que a ultima entrada no buffer será gravada
cadastro.flush();
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao cadastrar " + nome);
} catch (Exception ex) {
ex.printStackTrace();
}
} while (JOptionPane.showConfirmDialog(null,
"Deseja cadastrar outro clientes?") == 0);
break;
case 2:
JOptionPane.showMessageDialog(null,"Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.");
break;
case 3:
System.exit(0);
break;
}
}
}
O que faço, caso a pessoa escolhe a opção 2 (case 2), retorne ao menu principal?
E ae ve se funciona a coisa…
qualquer coisa posta ae…
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Cadastro1 {
public static void menu(){
String opcao;
int a;
opcao = JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Sair");
a = Integer.parseInt(opcao);
switch (a) {
case 1:
cadastrar();
break;
case 2:
ajuda();
menu();
break;
case 3:
System.exit(0);
break;
}
}
public static void ajuda(){
JOptionPane.showMessageDialog( null,"Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.");
}
public static void cadastrar (){
do {
String nome_do_arquivo;
String nome;
String endereco;
String cep;
String cpf;
String rg;
String data_nascimento;
String numero_telefone;
String numero_celular;
String email;
nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?");
nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");
endereco = JOptionPane.showInputDialog("Onde seu cliente mora?");
cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");
cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");
rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");
data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");
numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");
numero_celular = JOptionPane.showInputDialog("E o número de celular?");
email = JOptionPane.showInputDialog("Ele(a) tem e-mail?");
try {
File file = new File("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+ nome_do_arquivo + ".txt");
// verifica se o arquivo existe
if (!file.exists()) {
// se não existir cria o arquivo
file.createNewFile();
}
System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+ nome_do_arquivo + ".txt");
// cria um arquivo com append true para garantir a
// persistência dos dados anteriores
FileWriter writer = new FileWriter(file, true);
PrintWriter cadastro = new PrintWriter(writer);
if (file.length() > 0) {
cadastro.println("==============================Novo Registro======================================");
}
cadastro.println("Cliente: " + nome + "\r\r\n"
+ "Endereço: " + endereco + "\r\r\n" + "CEP: "
+ cep + "\r\r\n" + "CPF: " + cpf + "\r\r\n"
+ "RG: " + rg + "\r\r\n" + "Data de aniversário: "
+ data_nascimento + "\r\r\n"
+ "Número de telefone fixo: " + numero_telefone
+ "\r\r\n" + "Número de celular: " + numero_celular
+ "\r\r\n" + "E-mail: " + email);
// descarrega garantindo que a ultima entrada no buffer será
// gravada
cadastro.flush();
cadastro.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar " + nome);
} catch (Exception ex) {
ex.printStackTrace();
}
} while (JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?") == 0);
}
public static void main(String[] args) {
menu();
}
}