Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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;
}

 

Editado por Plugar Brasil
  • 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;
	
}

 

Editado por Lucas Lima Nunes
  • 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






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

×