Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Design-Biblioteca
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Harbor Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Nico Ramos
Design-Biblioteca
Commits
00809fc3
Commit
00809fc3
authored
6 months ago
by
Nico
Browse files
Options
Downloads
Plain Diff
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
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
biblioteca.cpp
+72
-33
72 additions, 33 deletions
biblioteca.cpp
sources/DescricaoObra.hpp
+1
-1
1 addition, 1 deletion
sources/DescricaoObra.hpp
with
73 additions
and
34 deletions
biblioteca.cpp
+
72
−
33
View file @
00809fc3
#include
<cstdio>
#include
<cstdlib>
#include
<iostream>
#include
<string>
#include
<limits>
#include
"./sources/Biblioteca.hpp"
#include
"./sources/Livro.hpp"
#include
"./sources/Periodico.hpp"
using
namespace
std
;
...
...
@@ -48,14 +48,14 @@ int show_options() {
if
(
cin
.
fail
())
{
cin
.
clear
();
// Clear the error flag
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
}
// Check if the option is within the valid range
if
(
option
>=
1
&&
option
<=
10
)
{
break
;
}
// Valid option, exit the loop
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,24 +92,20 @@ int main(){
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
int
option
=
START
;
while
(
option
!=
FINISH
)
{
option
=
show_options
();
// Variaveis para usuario
string
nome
,
userCPF
,
endereco
,
telefone
,
email
;
string
tipoObra
;
int
valor
;
// Variaveis para obras
string
tipoObra
,
tipoBusca
;
string
titulo
,
autor
,
editora
;
int
ano
,
volume
,
mes
;
switch
(
option
)
{
case
ADDUSER
:
cout
<<
"Entre com o nome: "
;
cin
>>
nome
;
...
...
@@ -121,8 +117,7 @@ int main(){
cout
<<
"> Usuario adicionado com sucesso!"
<<
endl
;
break
;
case
LISTUSERS
:
contUsuarios
.
mostrarDetalhes
();
case
LISTUSERS
:
contUsuarios
.
mostrarDetalhes
();
break
;
case
QUERYFEES
:
...
...
@@ -131,9 +126,7 @@ int main(){
if
(
valor
>
0
)
{
cout
<<
"
\n
Usuario: "
<<
userCPF
<<
endl
;
cout
<<
"Valor a pagar: "
<<
valor
<<
endl
;
}
else
{
cout
<<
"Aviso: Usuario não possui multas"
<<
endl
;
}
}
else
{
cout
<<
"> Aviso: Usuario não possui multas"
<<
endl
;
}
break
;
case
PAYFEES
:
...
...
@@ -143,29 +136,75 @@ int main(){
break
;
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
;
case
LISTWORKS
:
contObras
.
mostrarDetalhes
();
case
LISTWORKS
:
contObras
.
mostrarDetalhes
();
break
;
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"
)
{
cout
<<
"Alguma coisa"
;
cout
<<
"Método de busca (titulo|tituloano): "
;
cin
>>
tipoBusca
;
}
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);
break
;
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
;
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
;
case
FINISH
:
...
...
@@ -173,7 +212,7 @@ int main(){
return
0
;
default
:
cout
<<
"Comando não reconhecido!"
<<
endl
;
cout
<<
"
>
Comando não reconhecido!"
<<
endl
;
break
;
}
}
...
...
This diff is collapsed.
Click to expand it.
sources/DescricaoObra.hpp
+
1
−
1
View file @
00809fc3
...
...
@@ -17,7 +17,7 @@ class DescricaoObra {
// Contructor
DescricaoObra
()
{};
DescricaoObra
(
const
string
&
tipo
,
const
string
&
titulo
,
int
ano
);
virtual
void
mostrarDetalhes
()
const
=
0
;
virtual
void
mostrarDetalhes
()
const
;
// Methods
string
getTitulo
()
const
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment