Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 Jabuticaba;
- import java.util.Scanner;
- /**
- *
- * @author debora.medeiros
- */
- public class Biblioteca2 {
- // declarando variaveis globais
- public static String[] livros = new String[100];
- public static String[] usuarios = new String[10];
- public static Integer[][] aluguel = new Integer[100][2];
- public static int opcao, opcao1, opcao2, totalLivros = 0, totalUsuarios = 0, totalAlugueis = 0, totalReservados = 0, totalLivrosAlugados = 0;
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- usuarios[0] = "Victor";
- usuarios[1] = "André";
- livros[0] = "Harry Potter";
- livros[1] = "Percy Jackson";
- Integer reservados[][] = new Integer[50][2];
- for (int i = 0; i < reservados.length; i++) {
- if (reservados[i][0] != null) {
- totalReservados++;
- }
- }
- for (int i = 0; i < usuarios.length; i++) {
- if (usuarios[i] != null) {
- totalUsuarios++;
- }
- }
- for (int i = 0; i < livros.length; i++) {
- if (livros[i] != null) {
- totalLivros++;
- }
- }
- for (int i = 0; i < aluguel.length; i++) {
- if (aluguel[i] != null) {
- totalAlugueis++;
- }
- }
- do {
- System.out.println("1 - Entrar | 2 - Novo Usuário/Remover usuário | 0 - Sair");
- opcao = sc.nextInt();
- sc.nextLine();
- if (opcao == 1) {
- System.out.println("Usuários:");
- System.out.println("");
- for (int i = 0; i < totalUsuarios; i++) {
- System.out.println(i + " - " + usuarios[i]);
- }
- System.out.println("");
- int usuarioSelecionado;
- int logado = -1;
- do {
- System.out.println("Selecione um usuário! (9-Sair)");
- usuarioSelecionado = sc.nextInt();
- sc.nextLine();
- //procura se usuario existe no array
- //se existir, loga como esse usuario
- if (usuarioSelecionado != 9) {
- if (usuarios[usuarioSelecionado] != null) {
- logado = usuarioSelecionado;
- }
- }
- if (usuarioSelecionado != 9 && logado == -1) {
- System.out.println("Usuário inexistente!");
- }
- } while (usuarioSelecionado != 9 && logado == -1);
- //Se achou e logou
- if (logado != -1) {
- System.out.println("");
- System.out.println("Você está logado como: " + usuarios[usuarioSelecionado]);
- System.out.println("");
- do {
- System.out.println("1 - Adicionar Livro | 2 - Buscar Livro | 3 - Listar Livros | 4 - Remover Livro | 5 - Alugar livro | 6 - Devolver Livro | 9 - Sair");
- opcao2 = sc.nextInt();
- sc.nextLine(); // bug do buffer
- switch (opcao2) { //opções do usuário logado
- case 1: //adicionar livro
- boolean novo = true;
- System.out.println("Digite o nome do livro:");
- for (int i = 0; i < (totalLivros - 1); i++) {
- if (livros[i] == null) {
- livros[i] = sc.nextLine();
- i = totalLivros;
- novo = false; // não utiliza uma posição nova
- }
- }
- if (novo) { // equivale a dizer novo == true | utiliza uma posição nova
- livros[totalLivros] = sc.nextLine();
- totalLivros++;
- }
- break;
- case 2: //buscar livro
- System.out.println("Digite o nome do livro que você deseja buscar:");
- String nomeLivro = sc.nextLine();
- buscarLivros(nomeLivro);
- break;
- case 3: // listar livro
- listarLivros();
- break;
- case 4: // remover livro
- System.out.println("Digite o nome livro que você deseja remover:");
- String buscarLivro = sc.nextLine();
- int indiceLivro = -1;
- //procurando indice do livro
- for (int i = 0; i < totalLivros; i++) {
- if (livros[i].equals(buscarLivro)) {
- indiceLivro = i;
- }
- }
- boolean usado = false;
- for (int i = 0; i < totalAlugueis; i++) {
- if (aluguel[i][0] != null) {
- if (aluguel[i][0] == indiceLivro) {
- usado = true;
- }
- }
- }
- if (!usado) {
- for (int i = 0; i < totalLivros; i++) {
- if (buscarLivro.equals(livros[i])) {
- System.out.println("Livro " + livros[i] + " foi removido.");
- livros[i] = null;
- }
- }
- } else {
- System.out.println("O livro nâo pode ser removido pois está alugado.");
- }
- break;
- case 5:
- //existe algum livro disponivel?
- int disponivel = 0;
- if (totalLivrosAlugados < totalLivros) {
- disponivel = 1;
- }
- if (disponivel == 1) {
- System.out.println("Os livros disponíveis são: ");
- int livroSelecionado;
- for (int i = 0; i < totalLivros; i++) {
- //procura pra ver se o livro ja foi alugado
- int alugado = 0;
- for (int j = 0; j < totalAlugueis; j++) {
- if (aluguel[j][0] != null) {
- if (aluguel[j][0] == i) {
- alugado = 1;
- }
- }
- }
- if (alugado == 0) {
- if (livros[i] != null) {
- System.out.println(i + " - " + livros[i]);
- }
- }
- }
- System.out.println("Qual você deseja alugar?");
- livroSelecionado = sc.nextInt();
- sc.nextLine();//bug do buffer
- if (livroSelecionado == -1) {
- //listar alugueis
- System.out.println("");
- for (int i = 0; i < totalAlugueis; i++) {
- System.out.println(aluguel[i][0] + " - " + aluguel[i][1]);
- }
- System.out.println("");
- }
- //procura pra ver se o livro ja foi alugado, de novo
- String response = "";
- int alugado2 = 0;
- for (int j = 0; j < totalAlugueis; j++) {
- if (aluguel[j][0] != null) {
- if (aluguel[j][0] == livroSelecionado) {
- alugado2 = 1;
- }
- }
- }
- if (alugado2 == 1) {
- response = "Livro indisponível.";
- }
- //procura pra ver se o livro existe
- if (livros[livroSelecionado] == null) {
- response = "Livro inexistente.";
- }
- if (response.equals("")) {//o livro existe e não está alugado
- //logica para alocação de livros
- //procura próximo espaço vazio na tabela de aluguel
- for (int i = 0; i < aluguel.length; i++) {
- if (aluguel[i][0] == null) {
- aluguel[i][0] = livroSelecionado;//livro
- aluguel[i][1] = logado;//pessoa logada
- totalLivrosAlugados++;
- System.out.println("Seu aluguel foi feito com sucesso. (Índice " + i + ")");
- i = 100;
- }
- }
- System.out.println("");
- System.out.println("Lista de aluguéis: ");
- for (int i = 0; i < aluguel.length; i++) {
- if (aluguel[i][0] != null) {
- String nome = usuarios[aluguel[i][1]];
- String livro = livros[aluguel[i][0]];
- System.out.println(livro + " - " + nome + " (" + aluguel[i][0] + " - " + aluguel[i][1] + ")");
- }
- }
- System.out.println("");
- } else {
- System.out.println(response);
- }
- } else {
- System.out.println("Nenhum livro disponível.");
- }
- break;
- case 6:
- //devolver
- System.out.println("Qual livro você deseja devolver?");
- //quais livros o usuario logado tem alugado?
- for (int i = 0; i < totalAlugueis; i++) {
- if (aluguel[i][1] != null) {
- if (aluguel[i][1] == logado) {
- System.out.println(aluguel[i][0] + " - " + livros[aluguel[i][0]]);
- }
- }
- }
- int livroSelecionado = sc.nextInt();
- //procura o aluguel do livro selecionado e apaga
- for (int i = 0; i < totalAlugueis; i++) {
- if (aluguel[i][0] != null) {
- if (aluguel[i][0] == livroSelecionado && aluguel[i][1] == logado) {
- aluguel[i][0] = null;
- aluguel[i][1] = null;
- }
- }
- }
- //procura se o livro estava reservado e cria outro aluguel pra quem reservou
- for (int i = 0; i < totalReservados; i++) {
- if (reservados[i][0] != null) {
- if (reservados[i][0].equals(livroSelecionado)) {
- for (int j = 0; j < aluguel.length; j++) {
- if (aluguel[j][0] == null) {
- aluguel[j][0] = livroSelecionado;//livro
- aluguel[j][1] = reservados[i][1];//pessoa logada
- totalLivrosAlugados++;
- j = 100;
- }
- }
- reservados[i][0] = null;
- reservados[i][1] = null;
- }
- }
- }
- totalLivrosAlugados--;
- System.out.println("O livro foi devolvido!");
- break;
- case 9:
- logado = -1;
- break;
- default:
- System.out.println("Opção inválida.");
- break;
- }
- } while (logado != -1);
- }
- } else if (opcao == 2) {
- int subOpcao;
- do {
- System.out.println("1 - Novo Usuário | 2 - Remover Usuário | 3 - Listar Usuarios | 9 - Sair");
- subOpcao = sc.nextInt();
- if (subOpcao == 1) {
- //procura o proximo espaço vazio no array de usuarios e cria o novo usuario
- if (totalUsuarios < 10) {
- String nomeUsuarioNovo;
- System.out.println("Insira o nome do novo usuário");
- sc.nextLine();
- nomeUsuarioNovo = sc.nextLine();
- for (int i = 0; i < usuarios.length; i++) {
- if (usuarios[i] == null) {
- usuarios[i] = nomeUsuarioNovo;
- System.out.println("O usuário " + nomeUsuarioNovo + " foi criado no índice: " + i);
- totalUsuarios++;
- i = 11;
- }
- }
- } else {
- System.out.println("A lista de usuários está cheia! Por favor apague um usuário para criar outro!");
- }
- }
- if (subOpcao == 2) {
- System.out.println("Os usuários cadastrados são:");
- System.out.println("");
- for (int i = 0; i < usuarios.length; i++) {
- if (usuarios[i] != null) {
- System.out.println(i + " - " + usuarios[i]);
- }
- }
- System.out.println("");
- System.out.println("Qual você deseja apagar?");
- int apagarUsuario = sc.nextInt();
- sc.nextLine();
- //procura se o usuário tem pendências(alugueis feitos, reservas feitas)
- //e não deixa apagar se tiver
- int temAluguel = 0;
- int temReserva = 0;
- for (int i = 0; i < totalAlugueis; i++) {
- if (aluguel[i][1] != null) {
- if (aluguel[i][1] == apagarUsuario) {
- temAluguel = 1;
- }
- }
- }
- for (int i = 0; i < 10; i++) {
- //reserva
- }
- if (temAluguel == 0) { // && temReserva == 0
- String nomeUsuario;
- nomeUsuario = usuarios[apagarUsuario];
- usuarios[apagarUsuario] = null;
- System.out.println("Usuario " + nomeUsuario + " foi apagado.");
- } else {
- System.out.println("O usuário tem pendências (alugueis, reservas) e precisa resolvê-las antes de ser apagado.");
- }
- }
- if (subOpcao == 3) {
- for (int i = 0; i < usuarios.length; i++) {
- if (usuarios[i] != null) {
- System.out.println(i + " - " + usuarios[i]);
- }
- }
- }
- } while (subOpcao != 9);
- } else {
- System.out.println("Opção inválida");
- }
- } while (opcao != 0);
- }
- public static void buscarLivros(String buscarLivro) {
- boolean achou = false;
- System.out.println("Digite o nome do livro que você procura:");
- for (int i = 0; i < totalLivros; i++) {
- if (buscarLivro.equals(livros[i])) {
- System.out.println("O livro " + livros[i] + " está no índice " + i);
- achou = true;
- }
- }
- if (!achou) {
- System.out.println("Livro não encontrado.");
- }
- }
- public static void listarLivros() {
- for (int i = 0; i < totalLivros; i++) {
- if (livros[i] != null) {
- System.out.println((i + 1) + " - " + livros[i]);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement