Ir ao conteúdo

Posts recomendados

Postado

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
Postado

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
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!