Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package menuGestor;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.util.Arrays;
- import java.util.Formatter;
- import java.util.Scanner;
- import javax.swing.JOptionPane;
- public class MenuPrincipal {
- static Scanner teclado = new Scanner(System.in);
- static String utilizador;
- // Declaração e definição de vetores
- static String categorias[] = new String[5];
- static String clientes[] = new String[5];
- static String utilizadores[] = new String[5];
- static String tabelaProjetos[][] = new String[6][5];
- static String colunas[] = { "Utilizador", "Nome do Projeto", "Categoria", "Cliente", "Data", "Localização" };
- static String datas[] = { "2013", "2014", "2015", "2016", "2017" };
- public static void main(String[] args) {
- menuPrincipal();
- }
- // logins
- public static void loginAdministrador() {
- System.out.println(" ______________________________________________ ");
- System.out.println("| |");
- System.out.print("| Insira o username de administrador:");
- String user = teclado.nextLine();
- System.out.println("|______________________________________________|");
- System.out.println(" ______________________________________________ ");
- System.out.println("| |");
- System.out.print("| Insira a password de administrador:");
- String password = teclado.nextLine();
- System.out.println("|______________________________________________|");
- if (password.equals("1337") && user.equals("admin")) {
- System.out.println(" ___________________ ");
- System.out.println("| |");
- System.out.println("|Login bem sucedido.|");
- System.out.println("|___________________| ");
- administracao();
- }
- else {
- System.out.println("Informações incorretas.");
- menuPrincipal();
- }
- }
- public static void loginUtilizador() {
- do {
- System.out.println(" ______________________________________________ ");
- System.out.println("| |");
- System.out.print("| Insira o username de administrador:");
- utilizador = teclado.nextLine();
- System.out.println("|______________________________________________|");
- } while (Arrays.asList(utilizadores).contains(utilizador));
- menuUtilizador();
- }
- // menus
- public static void menuPrincipal() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Menu Principal |");
- System.out.println("|______________________________|");
- System.out.println("| |");
- System.out.println("| 1 - Administração. |");
- System.out.println("| 2 - Meu Utilizador. |");
- System.out.println("| 0 - Sair. |");
- System.out.println("|______________________________|");
- System.out.println();
- processarOpcao1(lerOpcao1());
- }
- public static void administracao() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Menu Administrativo |");
- System.out.println("|______________________________|");
- System.out.println("| |");
- System.out.println("|1 - Categorias. |");
- System.out.println("|2 - Utilizadores. |");
- System.out.println("|3 - Clientes. |");
- System.out.println("|4 - Listar Projetos. |");
- System.out.println("|0 - Sair. |");
- System.out.println("|______________________________|");
- System.out.println();
- processarOpcao2(lerOpcao2());
- }
- public static void administrarCategorias() {
- try {
- System.arraycopy(preencherVetor("categorias.txt"), 0, categorias, 0, categorias.length);
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não Encontrado", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Gestão de Categorias |");
- System.out.println("|______________________________|");
- System.out.println("| |");
- System.out.println("|1 - Inserir. |");
- System.out.println("|2 - Remover. |");
- System.out.println("|3 - Alterar. |");
- System.out.println("|4 - Listar. |");
- System.out.println("|0 - Sair. |");
- System.out.println("|______________________________|");
- System.out.println();
- processarOpcao3(lerOpcao3());
- }
- public static void administrarUtilizadores() {
- try {
- System.arraycopy(preencherVetor("utilizadores.txt"), 0, utilizadores, 0, utilizadores.length);
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não Encontrado", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Gestãdo de Utilizadores |");
- System.out.println("|______________________________|");
- System.out.println("| |");
- System.out.println("|1 - Registar Utilizadores. |");
- System.out.println("|2 - Consulta Utilizadores. |");
- System.out.println("|3 - Listar Utilizadores. |");
- System.out.println("|0 - Sair. |");
- System.out.println("|______________________________|");
- System.out.println();
- processarOpcao4(lerOpcao4());
- }
- public static void administrarClientes() {
- try {
- System.arraycopy(preencherVetor("clientes.txt"), 0, clientes, 0, clientes.length);
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não Encontrado", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Gestão de Clientes |");
- System.out.println("|______________________________|");
- System.out.println("| |");
- System.out.println("|1 - Registar Clientes. |");
- System.out.println("|2 - Consultar Clientes. |");
- System.out.println("|3 - Listar Clientes. |");
- System.out.println("|0 - Sair. |");
- System.out.println("|______________________________|");
- System.out.println();
- processarOpcao5(lerOpcao5());
- }
- public static void menuUtilizador() {
- System.out.println(" ____________________________");
- System.out.println("| |");
- System.out.println("| Menu do Utilizador |");
- System.out.println("|____________________________|");
- System.out.println("| 1 - Registar Projecto |");
- System.out.println("| 2 - Consultar Projectos |");
- System.out.println("| 3 - Listar Projectos |");
- System.out.println("| 0 - Sair |");
- System.out.println("|____________________________|");
- processarOpcao6(lerOpcao7());
- }
- // métodos de administração de dados
- public static void inserirCategorias() throws IOException {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Inserir Categorias |");
- System.out.println("|______________________________|");
- // pede categoria e introduz na ultima linha
- FileWriter writer = new FileWriter(new File("categorias.txt"), true);
- System.out.print("Introduza categoria a inserir: ");
- String categoria = teclado.nextLine();
- System.out.println();
- try {
- writer.write("\n" + categoria);
- writer.close();
- } catch (IOException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Erro de input.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- // não atualiza o array porque este não tem dimensão para o suportar
- administrarCategorias();
- }
- public static void removerCategorias() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Remover Categorias |");
- System.out.println("|______________________________|");
- // pede codigo de categoria e iguala no array a ""
- int i;
- do {
- System.out.print("Introduza o código da categoria a remover:");
- i = teclado.nextInt();
- System.out.println();
- } while (i <= 0 || i > categorias.length);
- categorias[i] = "";
- // reescreve o ficheiro com o array atualizado
- try {
- reescreverFicheiro("categorias.txt", categorias);
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não encontrado.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Codificação não suportada.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- administrarCategorias();
- }
- public static void alterarCategorias() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Alterar Categorias |");
- System.out.println("|______________________________|");
- // pede código da categoria e nome da categoria
- int i;
- String categoria;
- do {
- System.out.print("Introduzir código de categoria a alterar: ");
- i = teclado.nextInt();
- System.out.println();
- } while (i <= 0 || i > categorias.length);
- categoria = teclado.nextLine();
- categorias[i] = categoria;
- // reescreve o ficheiro com o array atualizado
- try {
- reescreverFicheiro("categorias.txt", categorias);
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não encontrado.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Codificação não suportada.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- administrarCategorias();
- }
- public static void listarCategorias() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Listar Categorias |");
- System.out.println("|______________________________|");
- for (int i = 0; i < categorias.length; i++)
- System.out.println(i + " - " + categorias[i]);
- System.out.println();
- administrarCategorias();
- }
- public static void registarUtilizadores() throws IOException {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Registar Utilizadores |");
- System.out.println("|______________________________|");
- // pede categoria e introduz na ultima linha
- FileWriter writer = new FileWriter(new File("utilizadores.txt"), true);
- System.out.print("Introduza o utilizador a registar: ");
- String categoria = teclado.nextLine();
- System.out.println();
- try {
- writer.write("\n" + categoria);
- writer.close();
- } catch (IOException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Erro de input.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- // não atualiza o array porque este não tem dimensão para o suportar
- administrarUtilizadores();
- }
- public static void consultarUtilizadores() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Consultar Utilizadores |");
- System.out.println("|______________________________|");
- }
- public static void listarUtilizadores() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Listar Utilizadores: |");
- System.out.println("|______________________________|");
- }
- public static void registarClientes() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Registar Clientes |");
- System.out.println("|______________________________|");
- }
- public static void consultarClientes() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Consultar Clientes |");
- System.out.println("|______________________________|");
- }
- public static void listarClientes() {
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Listar Clientes |");
- System.out.println("|______________________________|");
- }
- public static String[] preencherVetor(String pathFicheiro) throws FileNotFoundException {
- // abre o ficheiro pedido e guarda cada linha dentro de um vetor
- Scanner ficheiro = new Scanner(new File(pathFicheiro), "UTF-8");
- String vetor[] = new String[5];
- int i = 0;
- String linha;
- while (ficheiro.hasNextLine()) {
- linha = ficheiro.nextLine();
- if (linha.length() != 0) {
- vetor[i] = linha;
- i++;
- }
- }
- ficheiro.close();
- return vetor;
- }
- public static void preencherTabela(String pathFicheiro) throws FileNotFoundException {
- Scanner ficheiro = new Scanner(new File(pathFicheiro), "UTF-8");
- int c = 0;
- String linha;
- String[] partes;
- while (ficheiro.hasNextLine()) {
- linha = ficheiro.nextLine();
- if (linha.length() != 0) {
- partes = linha.split("-");
- for (int l = 0; l < tabelaProjetos.length; l++) {
- tabelaProjetos[l][c] = partes[l];
- }
- c++;
- }
- }
- ficheiro.close();
- }
- /*
- * public static void criarFicheiro(String pathFicheiro, String vetor[])
- * throws FileNotFoundException, UnsupportedEncodingException { Formatter
- * writer = new Formatter(new File(pathFicheiro), "UTF-8"); for (int i = 0;
- * i < vetor.length; i++) writer.format("%s%n", vetor[i]); writer.close(); }
- */
- public static void reescreverFicheiro(String pathFicheiro, String vetor[])
- throws FileNotFoundException, UnsupportedEncodingException {
- Formatter writer = new Formatter(new File(pathFicheiro), "UTF-8");
- for (int i = 0; i < vetor.length; i++)
- writer.format("%s%n", vetor[i]);
- writer.close();
- }
- public static void listarTabela(String tabela[][]) {
- int c, l;
- System.out.println(" ______________________________ ");
- System.out.println("| |");
- System.out.println("| Lista de Projetos |");
- System.out.println("|______________________________|");
- System.out.println();
- for (c = 0; c < tabela[0].length - 1; c++) {
- if (tabela[c] != null) {
- for (l = 0; l < tabela.length; l++) {
- if (tabela[l][c] != null)
- System.out.print(colunas[l] + ": " + tabela[l][c] + ", ");
- }
- System.out.println("\n");
- }
- }
- System.out.println();
- administracao();
- }
- public static void registarProjetoUtilizador() {
- System.out.println("_____________________________");
- System.out.println("Novo Projecto");
- System.out.println(utilizador);
- System.out.print("Nome do projecto: ");
- String nome_projecto = teclado.nextLine();
- System.out.println("Categoria: ");
- for (int i = 0; i < categorias.length; i++) {
- System.out.println(" [" + i + "] - " + categorias[i]);
- }
- // processar_opcao(lerOpcao());-----------------------------------------------------<aqui>
- /*
- * "alternativa" System.out.println(" [0] - " + categorias[0]);
- * System.out.println(" [1] - " + categorias[1]); System.out.println(
- * " [2] - " + categorias[2]); System.out.println(" [3] - " +
- * categorias[3]); System.out.println(" [4] - " + categorias[4]);
- */
- int categoria_projecto;
- do {
- System.out.print("Opçao = ");
- categoria_projecto = teclado.nextLine().charAt(0);
- } while (categoria_projecto < '0' || categoria_projecto > '4');
- categoria_projecto = categoria_projecto - 48;
- System.out.print("Cliente: ");
- String cliente_projecto = teclado.nextLine();
- System.out.print("Data:(ano) ");
- String data_projecto = teclado.nextLine();
- System.out.print("Localização: ");
- String localizacao_projecto = teclado.nextLine();
- System.out.println("_____________________________");
- System.out.println(" 1 - Registar novo projecto");
- System.out.println(" 0 - Voltar");
- System.out.println("_____________________________");
- String teste_completo = utilizador + "-" + nome_projecto + "-" + categorias[categoria_projecto] + "-"
- + cliente_projecto + "-" + data_projecto + "-" + localizacao_projecto;
- FileWriter texto = null;
- BufferedWriter escrivao = null;
- try {
- texto = new FileWriter("text7.txt", true);
- escrivao = new BufferedWriter(texto);
- escrivao.write(teste_completo);
- // writer.write(nome_projecto);
- escrivao.newLine(); // descomentar para por em linha !
- escrivao.close();
- } catch (Exception e) {
- System.out.println("Erro!");
- }
- processarOpcao6(lerOpcao7());
- }
- public static void listarTodosProjetos() throws FileNotFoundException {
- System.out.println(" ____________________________");
- System.out.println("| |");
- System.out.println("| Listar Projetos |");
- System.out.println("|____________________________|");
- String user_name = utilizador;
- System.out.println("Todos os projectos de " + user_name);
- Scanner ficheiro = new Scanner(new File("text7.txt"), "UTF-8");
- String linha;
- while (ficheiro.hasNextLine()) {
- linha = ficheiro.nextLine();
- if (linha.length() != 0) {
- System.out.println(linha);
- }
- }
- ficheiro.close();
- }
- public static void menuConsultarProjetosUtilizador() {
- System.out.println(" ____________________________");
- System.out.println("| |");
- System.out.println("| Consultar Projectos |");
- System.out.println("|____________________________|");
- System.out.println("| 1 - Consultar por Categoria|");
- System.out.println("| 2 - Consultar por Cliente |");
- System.out.println("| 3 - Consultar por Data |");
- System.out.println("| 0 - Sair |");
- System.out.println("|____________________________|");
- menuConsultarListagem(lerOpcao6());
- }
- public static void menuConsultarListagem(char procura) {
- switch (procura) {
- case '1':
- System.out.println("\n Consultar por Categoria: ");
- consultarCategorias();
- String escolha_categoria;
- do {
- System.out.print("Opção: ");
- escolha_categoria = teclado.nextLine();
- } while (escolha_categoria.equals(categorias[0]));
- break;
- case '2':
- System.out.println("\n Consultar por Cliente: ");
- consultarClientesUtilizador();
- String escolha_cliente;
- do {
- System.out.print("Opção: ");
- escolha_cliente = teclado.nextLine();
- } while (escolha_cliente.equals(clientes[0]));
- break;
- case '3':
- System.out.println("\n Consultar por Categoria: ");
- consultarDatas();
- String escolha_data;
- do {
- System.out.print("Opção: ");
- escolha_data = teclado.nextLine();
- } while (escolha_data.equals(datas[0]));
- break;
- case '0':
- menuUtilizador();
- default:
- break;
- }
- }
- public static void consultarCategorias() {
- System.out.println();
- for (int i = 0; i < categorias.length; i++)
- System.out.println(i + " - " + categorias[i]);
- System.out.println();
- }
- public static void consultarClientesUtilizador() {
- System.out.println();
- for (int i = 0; i < clientes.length; i++)
- System.out.println(i + " - " + clientes[i]);
- System.out.println();
- }
- public static void consultarDatas() {
- System.out.println();
- for (int i = 0; i < datas.length; i++)
- System.out.println(i + " - " + datas[i]);
- System.out.println();
- }
- /*
- * public static int numLinhasProjetos() { int n = 0; try { Scanner fin =
- * new Scanner(new File("projetos.txt")); while (fin.hasNextLine()) { n++;
- * fin.nextLine(); } fin.close(); } catch (FileNotFoundException e) {
- * JOptionPane.showMessageDialog(null, "Alert", "Erro de input.",
- * JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } return n; }
- */
- // métodos de input de opções
- public static char lerOpcao1() {
- char opcao;
- do {
- System.out.println(" _________________ ");
- System.out.println("| |");
- System.out.print("| Opção = ");
- opcao = teclado.nextLine().charAt(0);
- System.out.println("|_________________|");
- } while (opcao < '0' || opcao > '2');
- System.out.println();
- return opcao;
- }
- public static char lerOpcao2() {
- char opcao;
- do {
- System.out.println(" _________________ ");
- System.out.println("| |");
- System.out.print("| Opção = ");
- opcao = teclado.nextLine().charAt(0);
- System.out.println("|_________________|");
- } while (opcao < '0' || opcao > '4');
- System.out.println();
- return opcao;
- }
- public static char lerOpcao3() {
- char opcao;
- do {
- System.out.println(" _________________ ");
- System.out.println("| |");
- System.out.print("| Opção = ");
- opcao = teclado.nextLine().charAt(0);
- System.out.println("|_________________|");
- } while (opcao < '0' || opcao > '4');
- System.out.println();
- return opcao;
- }
- public static char lerOpcao4() {
- char opcao;
- do {
- System.out.println(" _________________ ");
- System.out.println("| |");
- System.out.print("| Opção = ");
- opcao = teclado.nextLine().charAt(0);
- System.out.println("|_________________|");
- } while (opcao < '0' || opcao > '3');
- System.out.println();
- return opcao;
- }
- public static char lerOpcao5() {
- char opcao;
- do {
- System.out.println(" _________________ ");
- System.out.println("| |");
- System.out.print("| Opção = ");
- opcao = teclado.nextLine().charAt(0);
- System.out.println("|_________________|");
- } while (opcao < '0' || opcao > '3');
- System.out.println();
- return opcao;
- }
- public static char lerOpcao6() {
- char consulta;
- do {
- System.out.print(" Opção = ");
- consulta = teclado.nextLine().charAt(0);
- } while (consulta < '0' || consulta > '4');
- return consulta;
- }
- public static char lerOpcao7() {
- char opcao;
- do {
- System.out.print(" Opção = ");
- opcao = teclado.nextLine().charAt(0);
- } while (opcao < '0' || opcao > '3');
- return opcao;
- }
- // métodos de acesso a menus e métodos
- public static void processarOpcao1(char opcao) {
- switch (opcao) {
- case '1':
- loginAdministrador();
- break;
- case '2':
- loginUtilizador();
- break;
- case '0':
- break;
- default:
- break;
- }
- }
- public static void processarOpcao2(char opcao) {
- switch (opcao) {
- case '1':
- administrarCategorias();
- break;
- case '2':
- administrarUtilizadores();
- break;
- case '3':
- administrarClientes();
- break;
- case '4':
- try {
- preencherTabela("projetos.txt");
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não Encontrado", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- listarTabela(tabelaProjetos);
- break;
- case '0':
- menuPrincipal();
- break;
- default:
- break;
- }
- }
- public static void processarOpcao3(char opcao) {
- switch (opcao) {
- case '1':
- try {
- inserirCategorias();
- } catch (IOException e) {
- JOptionPane.showMessageDialog(null, "Alert", "IOException", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- break;
- case '2':
- removerCategorias();
- break;
- case '3':
- alterarCategorias();
- break;
- case '4':
- listarCategorias();
- break;
- case '0':
- administracao();
- break;
- default:
- break;
- }
- }
- public static void processarOpcao4(char opcao) {
- switch (opcao) {
- case '1':
- try {
- registarUtilizadores();
- } catch (IOException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não encontrado.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- break;
- case '2':
- consultarUtilizadores();
- break;
- case '3':
- listarUtilizadores();
- break;
- case '0':
- administracao();
- break;
- default:
- break;
- }
- }
- public static void processarOpcao5(char opcao) {
- switch (opcao) {
- case '1':
- registarClientes();
- break;
- case '2':
- consultarClientes();
- break;
- case '3':
- listarClientes();
- break;
- case '0':
- administracao();
- break;
- default:
- break;
- }
- }
- public static void processarOpcao6(char opcao) {
- switch (opcao) {
- case '1':
- registarProjetoUtilizador();
- break;
- case '2':
- menuConsultarProjetosUtilizador();
- break;
- case '3':
- try {
- listarTodosProjetos();
- } catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, "Alert", "Ficheiro não encontrado.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- break;
- case '0':
- System.exit(0);
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement