Dificuldade em obter ultimo cadastro

1. Dificuldade em obter ultimo cadastro

Marcus Vinícius da Silva
Marvins

(usa Ubuntu)

Enviado em 19/03/2015 - 10:25h

Bom dia!

Estou com dificuldades em criar um algoritmo que retorna o ultimo cadastro feito pelo usuário do programa.
Estou começando a programar agora na facul e estou tentando resolver esta ultima parte do algoritmo.
Preciso implementar o "case 4", ( cout << "4 - Exibir ultimo cadastrado\n";), preciso de uma luz, sei que o programa vai buscar na biblioteca os cadastros, só não consigo fazer um algoritmo que informe o ultimo cadastro feito.
P.S. Com certeza há erro e algoritmos não tão profissionais rsrsrs... mais estou tentando desenvolver este algoritmo para praticar e estudar, já procurei na net algo parecido mais não encontrei. Até agora desenvolvi com ajuda de trópicos na net e de meus livros.

Desde já agradeço a comunidade!
Segue abaixo o algoritmo.

#include <iostream>
#include <cstdlib>
#include <string.h>
#include <stdio.h>

using namespace std;

struct Livro
{
int Codigo;
char Nome[30];
float Preco;
};

void ExibirLivro(Livro l);
Livro PreencherLivro();
void Menu();
void ExibirTodos(Livro livros[], int ultimo);
bool LivroCadastrado(Livro livros[], int codigo, int ultimo);
void PesquisarCodigo (Livro livros [], int ultimo, int codigo); /// Pesquisar codigo do livro
void aleatorio( int codigo, int ultimo);
void ExibirUltimoCadastro (Livro livros [], int ultimo, int codigo);


int main()
{
Livro biblioteca[10];
int opcao;
int posicao = 0;

do
{
Menu();
cout << "Digite sua opcao: ";
cin >> opcao;
cin.ignore();

switch(opcao)
{
case 1:
if(posicao <=10)
{
Livro livroNovo = PreencherLivro();

if(LivroCadastrado(biblioteca, livroNovo.Codigo, posicao))
{
cout << "Este livro ja foi cadastrado.\n\n";
break;
}

biblioteca[posicao] = livroNovo;
posicao++;
}
else
{
cout << "Biblioteca lotada...\n\n";
}
break;
case 2:
ExibirTodos(biblioteca, posicao);
break;
case 3:
PesquisarCodigo(biblioteca,opcao,posicao);
break;
case 4:
ExibirUltimoCadastro(biblioteca,0, posicao);
break;
case 5:
return 1;
break;
default:
cout << "Opcao invalida.\n\n";
break;
}
}
while(true);

return 1;
}

void Menu()
{
// Bloquear cadastro de codigos repetidos
// Bloquear cadastro apos o vetor estiver completo
system("CLS");
cout << "..:: Biblioteca ::..\n\n";
cout << "1 - Cadastrar\n";
cout << "2 - Exibir Todos\n";
cout << "3 - Pesquisar por codigo\n";
cout << "4 - Exibir ultimo cadastrado\n";
cout << "5 - Sair\n\n";
}

Livro PreencherLivro()
{
Livro livro;

cout << "Digite o Codigo: ";
cin >> livro.Codigo;
cin.ignore();

cout << "Digite o Nome: ";
gets(livro.Nome);

cout << "Digite o Preco: ";
cin >> livro.Preco;
cin.ignore();

return livro;
}

void ExibirLivro(Livro l)
{
cout << "--- Dados do Livro ----\n";
cout << "Codigo: " << l.Codigo << "\n";
cout << "Nome: " << l.Nome << "\n";
cout << "Preco: " << l.Preco << "\n\n";
}

void ExibirTodos(Livro livros[], int ultimo)
{
for(int i = 0 ; i < ultimo ; i++)
{
ExibirLivro(livros[i]);
}

system("PAUSE NULL");
}

bool LivroCadastrado(Livro livros[], int codigo, int ultimo)
{
for(int i = 0 ; i < ultimo ; i++)
{
if(livros[i].Codigo == codigo)
return true;
}
}

void PesquisarCodigo (Livro livros[], int codigo, int ultimo)
{
for(int i = 0 ; i < ultimo ; i++)
{
if(livros[i].Codigo == codigo)
{
ExibirLivro(livros[i]);
system("PAUSE");
return;
}
}

cout<< "Livro nao encontrado";
system("PAUSE");
}
void ExibirUltimoCadastro (Livro livros[], int ultimo)
{
ExibirLivro(livros[u]);

system("PAUSE");
return;


}


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts