Pessoal novamente peço uma ajuda com o código que estou desenvolvendo para um exercício da Faculdade a questão pede o seguinte:
- Crie um mini sistema de cadastramento de clientes, com os seguintes requisitos:
? Deve armazenar os dados dos clientes através de um registro contendo o nome, endereço,
cpf do cliente;
? Deve conter um estrutura para armazenar vários clientes (um vetor de clientes) declarada
globalmente;
? Deve conter um módulo de:
Cadastramento de cliente;
Visualização de um cliente através do código. O código é o índice do vetor clientes;
Visualizar os dados de todos os clientes;
Permitir que o usuário possa escolher um das ações desempenhadas por estes módulos;
Já consegui fazer uma parte porém estou tendo dificuldade em adequar o código para utilizar o JOptionPane no lugar do Scanner, utilizando o Scanner consigo acessar o que quero porém ainda da um erro na visualização dos clientes mas acho que consigo desenrrolar isso, meu problema está em como chamar uma opção utilizada no menu e passar para dentro do main.
Segue o código:
[code]import javax.swing.JOptionPane;
import java.util.Scanner;
public class registro
{
static Ficha[ ]armazena;
static int i;
static int quantidade;
static void menu()// Passar a opção Digitada Aqui la para o Void
{ int n;
n = Integer.parseInt(JOptionPane.showInputDialog(null, “Escolha uma opção:\n1: Cadastro de clientes.”+
“\n2: Consultar dados de um cliente.\n3: Visualizar dados de todos os clientes.”));
}
static void armazena(){
Ficha a = new Ficha();
a.nome = JOptionPane.showInputDialog(“Digite o nome do cliente:”);
a.endereco = JOptionPane.showInputDialog(“Digite o endereço do cliente:”);
a.cpf = JOptionPane.showInputDialog(“Digite o cpf do cliente:”);
if (i<armazena.length){
armazena[i] = a;
JOptionPane.showMessageDialog(null, “Cliente " + i + " cadastrado com sucesso.”);
i=i+1;
}
}
static void visualiza(){
Scanner s = new Scanner(System.in);
System.out.println(“Digite o código do cliente.”);
int b = s.nextInt();
if (b<quantidade){
System.out.println("Cliente " + b + “:”);
System.out.println("Nome: " + armazena[b].nome);
System.out.println("Endereço: " + armazena[b].endereco);
System.out.println("CPF: " + armazena[b].cpf);
}else{
System.out.println(“Não há clientes cadastrados com este código.”);
}
}
static void visaogeral(){
for(int z = 0; z<quantidade; z++){
System.out.println("Cliente " + z + “:”);
System.out.println("Nome: " + armazena[z].nome);
System.out.println("Endereço: " + armazena[z].endereco);
System.out.println("CPF: " + armazena[z].cpf);
System.out.println();
}
}
public static void main(String[ ] args)
{
armazena = new Ficha[1000];
i=0;
quantidade=0;
menu();// Utilizar a opção aqui.
int n = Integer.parseInt(JOptionPane.showInputDialog(null));
while (n>0){
switch (n){
case 1:
armazena();
quantidade = quantidade+1;
break;
case 2:
visualiza();
break;
case 3:
visaogeral();
break;
default:
}
menu();
n = Integer.parseInt(JOptionPane.showInputDialog(null));
}
}
}[/code]
Estou tentando passar a opção digitada no menu para o if porém não sei como usando o JOptionPane, se puderem me dar uma luz agradeço.
Abraços
Obs. O Código no Scanner está quase ok, a intenção é passar para o JOptionPane.