Skip to content
Snippets Groups Projects
Commit 00809fc3 authored by Nico's avatar Nico
Browse files

Merge branch 'main' of gitlab.c3sl.ufpr.br:mgy20/Design-biblioteca

parents 17fa48e9 65383d40
No related branches found
No related tags found
No related merge requests found
#include <cstdio>
#include <cstdlib>
#include <iostream> #include <iostream>
#include <string>
#include <limits> #include <limits>
#include "./sources/Biblioteca.hpp" #include "./sources/Biblioteca.hpp"
#include "./sources/Livro.hpp" #include "./sources/Livro.hpp"
#include "./sources/Periodico.hpp" #include "./sources/Periodico.hpp"
using namespace std; using namespace std;
...@@ -48,14 +48,14 @@ int show_options() { ...@@ -48,14 +48,14 @@ int show_options() {
if (cin.fail()) { if (cin.fail()) {
cin.clear(); // Clear the error flag cin.clear(); // Clear the error flag
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // Ignore the invalid input cin.ignore(numeric_limits<streamsize>::max(), '\n'); // Ignore the invalid input
cout << "Entrada inválida! Por favor, insira um número entre 1 e 10." << endl; cout << "> Entrada inválida! Por favor, insira um número entre 1 e 10." << endl;
continue; // Restart the loop continue; // Restart the loop
} }
// Check if the option is within the valid range // Check if the option is within the valid range
if (option >= 1 && option <= 10) { break; } // Valid option, exit the loop if (option >= 1 && option <= 10) { break; } // Valid option, exit the loop
else { else {
cout << "Opção inválida! Por favor, insira um número entre 1 e 10." << endl; cout << "> Opção inválida! Por favor, insira um número entre 1 e 10." << endl;
} }
} }
...@@ -92,37 +92,32 @@ int main(){ ...@@ -92,37 +92,32 @@ int main(){
contObras.mostrarDetalhes(); contObras.mostrarDetalhes();
//cout << ": Criando Obras" << endl;
//ControladorObras contObras = bib.getContObras();
//string titulo, autor, editora; int ano;
//for (int i=0; i<2 ;i++) {
// cin >> titulo; cin >> ano; cin >> autor; cin >> editora;
// Livro liv(titulo, ano, autor, editora);
// contObras.adicionarObra(liv);
//}
//contObras.mostrarDetalhes();
// Interation Loop // Interation Loop
int option = START; int option = START;
while (option != FINISH) { while (option != FINISH) {
option = show_options(); option = show_options();
// Variaveis para usuario
string nome, userCPF, endereco, telefone, email; string nome, userCPF, endereco, telefone, email;
string tipoObra;
int valor; int valor;
// Variaveis para obras
string tipoObra, tipoBusca;
string titulo, autor, editora;
int ano, volume, mes;
switch (option) { switch (option) {
case ADDUSER: case ADDUSER:
cout << "Entre com o nome: "; cin >> nome; cout << "Entre com o nome: "; cin >> nome;
cout << "Entre com o CPF: "; cin >> userCPF; cout << "Entre com o CPF: "; cin >> userCPF;
cout << "Entre com o endereco: "; cin >> endereco; cout << "Entre com o endereco: "; cin >> endereco;
cout << "Entre com o telefone: "; cin >> telefone; cout << "Entre com o telefone: "; cin >> telefone;
cout << "Entre com o email: "; cin >> email; cout << "Entre com o email: "; cin >> email;
if (contUsuarios.adicionarUsuario(nome, userCPF, endereco, telefone, email)) if (contUsuarios.adicionarUsuario(nome, userCPF, endereco, telefone, email))
cout << "> Usuario adicionado com sucesso!" << endl; cout << "> Usuario adicionado com sucesso!" << endl;
break; break;
case LISTUSERS: case LISTUSERS: contUsuarios.mostrarDetalhes();
contUsuarios.mostrarDetalhes();
break; break;
case QUERYFEES: case QUERYFEES:
...@@ -131,9 +126,7 @@ int main(){ ...@@ -131,9 +126,7 @@ int main(){
if (valor > 0) { if (valor > 0) {
cout << "\nUsuario: " << userCPF << endl; cout << "\nUsuario: " << userCPF << endl;
cout << "Valor a pagar: " << valor << endl; cout << "Valor a pagar: " << valor << endl;
} else { } else { cout << "> Aviso: Usuario não possui multas" << endl; }
cout << "Aviso: Usuario não possui multas" << endl;
}
break; break;
case PAYFEES: case PAYFEES:
...@@ -143,29 +136,75 @@ int main(){ ...@@ -143,29 +136,75 @@ int main(){
break; break;
case ADDWORK: case ADDWORK:
//contObras.adicionarObra(DescricaoObra &descricao); cout << "Entre com o tipo da obra (periodico|livro): "; cin >> tipoObra; cin.ignore();
if (tipoObra == "periodico") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano;
cout << "Entre com o volume: "; cin >> volume;
cout << "Entre com o mês: "; cin >> mes;
Periodico per(titulo, ano, volume, mes);
contObras.adicionarObra(per);
} else if (tipoObra == "livro") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano; cin.ignore();
cout << "Entre com o autor: "; getline(cin, autor);
cout << "Entre com o editora: "; getline(cin, editora);
Livro liv(titulo, ano, autor, editora);
contObras.adicionarObra(liv);
} else { cout << "Erro: Tipo não recinhecido! Ignorando operação" << endl; }
break; break;
case LISTWORKS: case LISTWORKS: contObras.mostrarDetalhes();
contObras.mostrarDetalhes();
break; break;
case QUERYWORK: case QUERYWORK:
cout << "Entre com o tipo da obra: "; cin >> tipoObra; cout << "Entre com o tipo da obra (periodico|livro): "; cin >> tipoObra; cin.ignore();
if (tipoObra == "periodico") { if (tipoObra == "periodico") {
cout << "Alguma coisa"; cout << "Método de busca (titulo|tituloano): ";
cin >> tipoBusca;
} else if (tipoObra == "livro") { } else if (tipoObra == "livro") {
cout << "Alguma coisa"; cout << "Método de busca (titulo|autor): ";
} cin >> tipoBusca;
} else { cout << "Erro: Tipo não reconhecido! Ignorando operação" << endl; }
//contObras.pesquisarObra(DescricaoObra &descricao); //contObras.pesquisarObra(DescricaoObra &descricao);
break; break;
case BORROWWORK: case BORROWWORK:
//contObras.solicitarEmprestimo(DescricaoObra &descricao); cout << "Entre com o tipo da obra (periodico|livro): "; cin >> tipoObra; cin.ignore();
if (tipoObra == "periodico") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano;
cout << "Entre com o volume: "; cin >> volume;
cout << "Entre com o mês: "; cin >> mes;
Periodico per(titulo, ano, volume, mes);
contObras.solicitarEmprestimo(per);
} else if (tipoObra == "livro") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano; cin.ignore();
cout << "Entre com o autor: "; getline(cin, autor);
cout << "Entre com o editora: "; getline(cin, editora);
Livro liv(titulo, ano, autor, editora);
contObras.solicitarEmprestimo(liv);
} else { cout << "Erro: Tipo não reconhecido! Ignorando operação" << endl; }
break; break;
case RETURNWORK: case RETURNWORK:
//contObras.devolverEmprestimo(DescricaoObra &descricao); cout << "Entre com o tipo da obra (periodico|livro): "; cin >> tipoObra; cin.ignore();
if (tipoObra == "periodico") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano;
cout << "Entre com o volume: "; cin >> volume;
cout << "Entre com o mês: "; cin >> mes;
Periodico per(titulo, ano, volume, mes);
contObras.devolverEmprestimo(per);
} else if (tipoObra == "livro") {
cout << "Entre com o titulo: "; getline(cin, titulo);
cout << "Entre com o ano: "; cin >> ano; cin.ignore();
cout << "Entre com o autor: "; getline(cin, autor);
cout << "Entre com o editora: "; getline(cin, editora);
Livro liv(titulo, ano, autor, editora);
contObras.devolverEmprestimo(liv);
} else { cout << "Erro: Tipo não reconhecido! Ignorando operação" << endl; }
break; break;
case FINISH: case FINISH:
...@@ -173,7 +212,7 @@ int main(){ ...@@ -173,7 +212,7 @@ int main(){
return 0; return 0;
default: default:
cout << "Comando não reconhecido!" << endl; cout << "> Comando não reconhecido!" << endl;
break; break;
} }
} }
......
...@@ -17,7 +17,7 @@ class DescricaoObra { ...@@ -17,7 +17,7 @@ class DescricaoObra {
// Contructor // Contructor
DescricaoObra() {}; DescricaoObra() {};
DescricaoObra(const string& tipo, const string& titulo, int ano); DescricaoObra(const string& tipo, const string& titulo, int ano);
virtual void mostrarDetalhes() const = 0; virtual void mostrarDetalhes() const;
// Methods // Methods
string getTitulo() const ; string getTitulo() const ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment