E ai galera , eu preciso de uma ajuda aqui
eu estou conseguindo executar o programa , mas na hora de eu escolher um valor para o preço na opçao pesquisa_por_preço, o programa para de funcionar , eu queria tirar uma duvida onde eu errei.
Nessa parte estou tentando colocar o metodo de pesquisa sequencial
#include <iostream>
#include<string>
#include <cstdlib>
#include <cmath>
using namespace std;
struct Cadastro{
string titulo;
float preço;
string editora;
int ano_lancamento;
};
Cadastro livros[5];
int i = 0;
void DadosCadastrais(){
string lixo;
Cadastro livro;
cout << "\n**********\n" << endl;
cout << "Titulo: ";
getline(cin, lixo);
getline(cin, livro.titulo);
cout << "preço: ";
cin >> livro.preço;
cout << "Editora: ";
getline(cin, lixo);
getline(cin,livro.editora);
cout << "Ano de lancamento: ";
cin >> livro.ano_lancamento;
cout <<" codigo do livro ";
livros = livro; i++;
}
void ImprimirDados(){ for(int x = 0; x < i; x++){ cout << x << "\n"; cout << "Titulo: " << livros[x].titulo << endl; cout << "preço: " << livros[x].preço << endl; cout << "Editora: " << livros[x].editora << endl; cout << "Ano de lancamendo: " << livros[x].ano_lancamento << endl;
} }
void Pesquisa_por_preco(float valor){ int i; float v=valor; while(v <= livros.preço){ cout << "\n"; cout << "Titulo: " << livros.titulo << endl; cout << "preço: " << livros.preço << endl; cout << "Editora: " << livros.editora << endl; cout << "Ano de lancamento: " << livros.ano_lancamento << endl; i++;
}
} int main(){
int comando; float valor; while(true){ cout << "----LIVRARIA----" << endl; cout << "MENU: " << endl;
cout << "\t1 (Adicionar livro)" << endl; cout << "\t2 (ver todos os livros)" << endl; cout << "\t3 (sair)" << endl; cout << "\t4 (pesquisar por preço)" << endl;
cin >> comando; if(comando == 1){ DadosCadastrais(); system("cls"); } if(comando == 2){ ImprimirDados(); } if(comando == 3){ break; } if(comando == 4){ cout << "Digite o valor desejado: "; cin >> valor; Pesquisa_por_preco(valor); } }
return 0; }