diff --git a/sources/DescricaoObra.cpp b/sources/DescricaoObra.cpp
index 6fb43ed0fc2387d9c45193692fff1ca42913d218..15cd5cf31cf1ca331c2f196efdecc1c7dd37012c 100644
--- a/sources/DescricaoObra.cpp
+++ b/sources/DescricaoObra.cpp
@@ -6,11 +6,14 @@ using namespace std;
 
 // Constructor
 DescricaoObra::DescricaoObra(const string& titulo, int ano) 
-    : titulo(titulo), anoPublicacao(ano) {}
+  : titulo(titulo), anoPublicacao(ano) {}
 
 void DescricaoObra::mostrarDetalhes() const {
-    cout << "Título: " << this->getTitulo() << "\n";
-    cout << "Ano de Publicação: " << this->getAnoPublicacao() << "\n";
+  string titulo = this->getTitulo();
+  int ano = this->getAnoPublicacao();
+
+  if (!titulo.empty()) { cout << "Título: " << titulo << "\n"; }
+  if (ano >= 0) { cout << "Ano de Publicação: " << ano << "\n"; }
 }
 
 // Methods
diff --git a/sources/Emprestimo.cpp b/sources/Emprestimo.cpp
index 324d276a5803dbd226a622096ff375c061fb90b8..99802f758a2c7883f0a42ca67d6ef9b92ddd6db4 100644
--- a/sources/Emprestimo.cpp
+++ b/sources/Emprestimo.cpp
@@ -23,7 +23,7 @@ Emprestimo::Emprestimo(shared_ptr<DescricaoObra> descricao)
 
 void Emprestimo::mostraDetalhes() const {
   this->descricao->mostrarDetalhes();
-  cout << "Data de devolução: ";
+  cout << "> Data de devolução: ";
   cout << static_cast<unsigned>(this->dataEmprestimo.day()) << "/";
   cout << static_cast<unsigned>(this->dataEmprestimo.month()) << "/";
   cout << static_cast<int>(this->dataEmprestimo.year()) << endl;
diff --git a/sources/Livro.cpp b/sources/Livro.cpp
index 87d066307091c04525d7bb9199dc3e30990dded1..15abded32e2c14bd3bbb2bc3ad1566ea72816ece 100644
--- a/sources/Livro.cpp
+++ b/sources/Livro.cpp
@@ -21,8 +21,9 @@ Livro::Livro(const string& t, int ano, const string& a, const string& e)
 // Description
 void Livro::mostrarDetalhes() const {
   DescricaoObra::mostrarDetalhes();
-  cout << "Autor: " << autor << "\n";
-  cout << "Editora: " << editora << "\n";
+
+  if (!autor.empty()) { cout << "Autor: " << autor << "\n"; }
+  if (!editora.empty()) { cout << "Editora: " << editora << "\n"; }
 }
 
 // Methods
@@ -32,4 +33,4 @@ string Livro::getAutor() const {
 
 string Livro::getEditora() const {
   return this->editora;
-}
\ No newline at end of file
+}
diff --git a/sources/Periodico.cpp b/sources/Periodico.cpp
index ce93ab52e07609c7f9eb52ba66dee1ff2596c2ec..720d815df75cfc3f61a5439d27312c2e081b5e55 100644
--- a/sources/Periodico.cpp
+++ b/sources/Periodico.cpp
@@ -2,6 +2,8 @@
 
 #include "Periodico.hpp"
 
+using namespace std;
+
 // Contructor
 Periodico::Periodico(const DescricaoObra& outro) 
  : DescricaoObra(outro.getTitulo(), outro.getAnoPublicacao())
@@ -18,8 +20,9 @@ Periodico::Periodico(const std::string& t, int ano, int vol, int m)
 
 void Periodico::mostrarDetalhes() const {
     DescricaoObra::mostrarDetalhes();
-    std::cout << "Volume: " << volume << "\n";
-    std::cout << "Mês: " << mes << "\n";
+    
+    if (volume >= 0) { cout << "Volume: " << volume << "\n"; }
+    if (mes >= 0) { cout << "Mês: " << mes << "\n"; }
 }
 
 // Methods
@@ -29,4 +32,4 @@ int Periodico::getVolume() const {
 
 int Periodico::getMes() const {
   return this->mes;
-}
\ No newline at end of file
+}
diff --git a/sources/main.cpp b/sources/main.cpp
index 07e91be596fc5d32acef901c68daf89b908b7b27..bae1dfda5d34343c21104414bea6ad2ffcaedc3e 100644
--- a/sources/main.cpp
+++ b/sources/main.cpp
@@ -186,12 +186,12 @@ int main(){
           cout << "Método de busca (titulo|autor): ";             cin >> tipoBusca; cin.ignore();
           if (tipoBusca == "titulo"){
             cout << "Entre com o titulo: ";                       getline(cin, titulo);
-            dadosObra = contObras.pesquisarObraTitulo(make_shared<Livro>(titulo, 0, "dummy", "dummy"));
+            dadosObra = contObras.pesquisarObraTitulo(make_shared<Livro>(titulo, -1, "", ""));
             cout << "Quantidade Total: " << dadosObra.first << endl;
             cout << "Quantidade Disponivel: " << dadosObra.second << endl;
           } else if (tipoBusca == "autor"){
             cout << "Entre com o autor: ";                        getline(cin, autor);
-            dadosObra = contObras.pesquisarObraAutor(make_shared<Livro>("dummy", 0, autor, "dummy"));
+            dadosObra = contObras.pesquisarObraAutor(make_shared<Livro>("", -1, autor, ""));
             cout << "Quantidade Total: " << dadosObra.first << endl;
             cout << "Quantidade Disponivel: " << dadosObra.second << endl;
           } else { cerr << "> Erro: Tipo não reconhecido! ignorando operacao" << endl; }
@@ -201,7 +201,7 @@ int main(){
       case BORROWWORK:
         cout << "Entre com o CPF do usuário: ";                   cin >> userCPF; cin.ignore();
         cout << "Entre com o titulo: ";                           getline(cin, titulo);
-        dataDevolucao = contUsuarios.registrarEmprestimo(userCPF, make_shared<Periodico>(titulo, 0, 0, 0));
+        dataDevolucao = contUsuarios.registrarEmprestimo(userCPF, make_shared<Periodico>(titulo, -1, -1, -1));
         if ( dataDevolucao == epoch) {
           cerr << "> Erro: Falha ao realizar um emprestimo!" << endl;
         } else {