Ir ao conteúdo
  • Cadastre-se
Plugar Brasil

Sistema de Livraria

Recommended Posts

Seja uma estrutura para descrever os livros de uma loja, contendo os seguintes campos:

título: string

autor: string

ano: inteiro

categoria: inteiro

preço: real

a) Escrever a definição da estrutura Livro. OK

b ) Declarar o vetor livros do tipo da estrutura definida acima, de tamanho 20. OK

c) Crie um bloco de programa para ler os valores fornecidos por um funcionário e armazene-os em livros. OK

d) Crie uma função que receba o vetor livros e um preço. A função deverá exibir os livros (título, autor, preço, ano e categoria) que tenham preço igual ou menor ao preço recebido. BUG

e) Crie uma função que receba o vetor livros e a categoria de um livro. A função deverá exibir os livros (título, autor, preço, ano e categoria) da categoria fornecida. BUG

f) Crie uma função que receba o vetor livros, uma categoria, ano e autor e informe se existe ou não um livro com essas características. Se existir, informar o preço. BUG

g) Teste todas as funções criadas.

#include <iostream>
#include <cstdlib>
using namespace std;
struct Livros{
  string titulo, autor;
  int ano, categoria;
  float preco;
};
void BuscarP(Livros x, int pre){
  for(int c = 0; c < 20; c++){
      if (x[c].preco == pre){
        cout << "Título: " << x[c].titulo << endl;
        cout << "Autor: " << x[c].autor << endl;
        cout << "Lançamento: " << x[c].ano << endl;
        cout << "Categoria: " << x[c].categoria << endl;
        cout << "Valor: " << x[c].preco << endl;
      }
  }
};
void BuscarC(Livros x, int cat){
  for(int c = 0; c < 20; c++){
      if (x[c].categoria == cat){
        cout << "Título: " << x[c].titulo << endl;
        cout << "Autor: " << x[c].autor << endl;
        cout << "Lançamento: " << x[c].ano << endl;
        cout << "Categoria: " << x[c].categoria << endl;
        cout << "Valor: " << x[c].preco << endl;
      }
  }
};
void BuscarCAA(Livros x, int cat, int an, string aut){
  for(int c = 0; c < 20; c++){
      if (x[c].categoria == cat && x[c].ano == an && x[c].autor == aut){
        cout << "Título: " << x[c].titulo << endl;
        cout << "Valor: " << x[c].preco << endl;
      }
  }
}

int main() {
  setlocale(LC_ALL, "Portuguese");
  Livros l[20];
  for(int c = 0; c < 1; c++){
    cout << "Digite o título da obra: ";
    cin >> l[c].titulo;
    cout << "Digite o nome do autor: ";
    cin >> l[c].autor;
    cout << "Digite o ano de lançamento: ";
    cin >> l[c].ano;
    cout << "Digite a categoria: ";
    cin >> l[c].categoria;
    cout << "Digite o valor da obra: ";
    cin >> l[c].preco;
    system("cls");
    cout << "Título: " << l[c].titulo << endl;
    cout << "Autor: " << l[c].autor << endl;
    cout << "Lançamento: " << l[c].ano << endl;
    cout << "Categoria: " << l[c].categoria << endl;
    cout << "Valor: " << l[c].preco << endl;
    system("pause");
    system("cls");
  }
  BuscarP(l, 10.90);
  return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, testa se está tudo certo, talvez eu não tenha feito tudo, mas fiz o que achei que podia melhorar... Mas você com certeza deve fazer algumas correções, por que até onde testei, estava tudo correto...

#include <iostream>
#include <cstdlib>
#include <cstring>

using namespace std;

#define TAM 2

struct livros{
	
  char titulo[31], autor[31];
  int ano, categoria;
  float preco;
  
};

typedef struct livros Livros;

void BuscarP(Livros x[], float pre)
{
	
  for(int c = 0; c < TAM; c++)
  {
  	
      if (x[c].preco == pre || x[c].preco < pre)
	  {
	  	
        cout << "\n\tTítulo: " << x[c].titulo << endl;
        cout << "\tAutor: " << x[c].autor << endl;
        cout << "\tLançamento: " << x[c].ano << endl;
        cout << "\tCategoria: " << x[c].categoria << endl;
        cout << "\tValor: " << x[c].preco << endl;
        
      }
      
  }
  
}

void BuscarC(Livros x[], int cat)
{
	
  for(int c = 0; c < TAM; c++)
  {
  	
      if(x[c].categoria == cat)
	  {
	  	
        cout << "\n\tTítulo: " << x[c].titulo << endl;
        cout << "\tAutor: " << x[c].autor << endl;
        cout << "\tLançamento: " << x[c].ano << endl;
        cout << "\tCategoria: " << x[c].categoria << endl;
        cout << "\tValor: " << x[c].preco << endl;
        
      }
      
  }
  
}

void BuscarCAA(Livros x[], int cat, int an, char* aut)
{
	
  for(int c = 0; c < TAM; c++)
  {
  	
      if(x[c].categoria == cat && x[c].ano == an && (strcmp(x[c].autor, aut) == 0))
	  {
	  	
        cout << "\n\tTítulo: " << x[c].titulo << endl;
        cout << "Valor: " << x[c].preco\t << endl;
        
      }
  }
  
}

int main(void){
	
	setlocale(LC_ALL, "Portuguese");
	
	Livros l[TAM];
	
	cout << "\n\t|| CADASTRO DE LIVROS ||" << endl << endl;
	
	for(int c = 0; c < TAM; c++)
	{
		
	    cout << "\n\tDigite o título da obra: ";
	    cin >> l[c].titulo;
	    cout << "\tDigite o nome do autor: ";
	    cin >> l[c].autor;
	    cout << "\tDigite o ano de lançamento: ";
	    cin >> l[c].ano;
	    cout << "\tDigite a categoria: ";
	    cin >> l[c].categoria;
	    cout << "\tDigite o valor da obra: ";
	    cin >> l[c].preco;
    
	    system("cls");
	    
	    cout << "\tTítulo: " << l[c].titulo << endl;
	    cout << "\tAutor: " << l[c].autor << endl;
	    cout << "\tLançamento: " << l[c].ano << endl;
	    cout << "\tCategoria: " << l[c].categoria << endl;
	    cout << "\tValor: " << l[c].preco << endl;
	    
	    system("pause");
	    system("cls");
		
	}
	
	BuscarP(l, 10);
	
	BuscarCAA(l, 5, 2017, "Autor");
	
	return 0;
	
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×