Pessoal, tenho um pequeno projeto onde faço o cadastro dos dados de um carro em uma struct. Eu consigo cadastrar tranquilamente mas não consigo exibir os dados após o cadastro. Abaixo segue o código do projeto:
main.cpp
#include <iostream>
#include "estrutura.h"
using namespace std;
int main(){
struct carro c;
Cadastro cadastro;
while(true){
string com;
cout << ">> ";
cin >> com;
if(com == "cadastrar"){
string nome;
string cor;
string placa;
int ano;
int portas;
cout << "Nome do carro: ";
cin >> nome;
cout << "Cor do carro: ";
cin >> cor;
cout << "Placa do carro: ";
cin >> placa;
cout << "Ano do carro: ";
cin >> ano;
cout << "Portas do carro: ";
cin >> portas;
cadastro.set_nome(nome);
cadastro.set_cor(cor);
cadastro.set_placa(placa);
cadastro.set_ano(ano);
cadastro.set_portas(portas);
}else if(com == "exibir"){
cadastro.exibir(&c);
}else if(com == "sair"){
return 0;
}else{
cout << "Erro!" << endl;
}
}
return 0;
}
estrutura.h
#ifndef ESTRUTURA_H
#define ESTRUTURA_H
using namespace std;
struct carro{
string nome;
string cor;
string placa;
int ano;
int portas;
};
class Cadastro{
private:
string nome;
string cor;
string placa;
int ano;
int portas;
public:
void set_nome(string nome);
void set_cor(string cor);
void set_placa(string placa);
void set_ano(int ano);
void set_portas(int portas);
void cadastrar(struct carro *c);
void exibir(struct carro *c);
string get_nome();
string get_cor();
string get_placa();
int get_ano();
int get_portas();
};
#endif
estrutura.cpp
#include <iostream>
#include "estrutura.h"
using namespace std;
string nome;
string cor;
string placa;
int ano;
int portas;
void Cadastro::set_nome(string nome){
this->nome = nome;
}
void Cadastro::set_cor(string cor){
this->cor = cor;
}
void Cadastro::set_placa(string placa){
this->placa = placa;
}
void Cadastro::set_ano(int ano){
this->ano = ano;
}
void Cadastro::set_portas(int portas){
this->portas = portas;
}
string Cadastro::get_nome(){
return this->nome;
}
string Cadastro::get_cor(){
return this->cor;
}
string Cadastro::get_placa(){
return this->placa;
}
int Cadastro::get_ano(){
return this->ano;
}
int Cadastro::get_portas(){
return this->portas;
}
void Cadastro::cadastrar(struct carro *c){
c->nome = get_nome();
c->cor = get_cor();
c->placa = get_placa();
c->ano = get_ano();
c->portas = get_portas();
}
void Cadastro::exibir(struct carro *c){
cout << "Nome do carro: " << c->nome << endl;
cout << "Cor do carro: " << c->cor << endl;
cout << "Placa do carro: " << c->placa << endl;
cout << "Ano do carro: " << c->ano << endl;
cout << "Portas do carro: " << c->portas << endl;
}