Exibir objetos da lista
Bom a ideia era criar uma lista de encomendas para cada estado. Porem não consigo exibir depois de adicionar com o .push_back(pedido1);
#include <iostream>
#include <list>
using namespace std;
//criando estrutura de pedidos
struct Pedido{
string nomeCliente, mEstado;
int estadoEntrega;
float cepEntrega;
void insere (string stnomePedido, int stestadoEntrega, int stcepEntrega){
nomeCliente = stnomePedido;
estadoEntrega = stestadoEntrega;
cepEntrega = stcepEntrega;
}
void mostraPedido() {
if (estadoEntrega == 1) {mEstado = "Acre";} if (estadoEntrega == 2) {mEstado = "Alagoas";}
if (estadoEntrega == 3) {mEstado = "Amapa";} if (estadoEntrega == 4) {mEstado = "Amazonas";}
if (estadoEntrega == 5) {mEstado = "Baia";} if (estadoEntrega == 6) {mEstado = "Ceara";}
if (estadoEntrega == 7) {mEstado = "Distrito Federal";} if (estadoEntrega == 8) {mEstado = "Espirito Santo";}
if (estadoEntrega == 9) {mEstado = "Goias";} if (estadoEntrega == 10) {mEstado = "Marranhao";}
if (estadoEntrega == 11) {mEstado = "Mato Grosso";} if (estadoEntrega == 12) {mEstado = "Mato Grosso do Sul";}
if (estadoEntrega == 13) {mEstado = "Minas Gerais";} if (estadoEntrega == 14) {mEstado = "Para";}
if (estadoEntrega == 15) {mEstado = "Paraiba";} if (estadoEntrega == 16) {mEstado = "Parana";}
if (estadoEntrega == 17) {mEstado = "Pernambuco";} if (estadoEntrega == 18) {mEstado = "Piaui";}
if (estadoEntrega == 19) {mEstado = "Rio de Janeiro";} if (estadoEntrega == 20) {mEstado = "Rio Grande do Norte";}
if (estadoEntrega == 21) {mEstado = "Rio Grande do Sul";} if (estadoEntrega == 22) {mEstado = "Rondonia";}
if (estadoEntrega == 23) {mEstado = "Roraima";} if (estadoEntrega == 24) {mEstado = "Santa Catarina";}
if (estadoEntrega == 25) {mEstado = "Sao Paulo";} if (estadoEntrega == 26) {mEstado = "Sergipe";}
if (estadoEntrega == 27) {mEstado = "Tocantins";}
cout << "Cliente...............: " << nomeCliente << "\n";
cout << "Estado para entrega...: " << mEstado << "\n";
cout << "Cep para entrega......: " << cepEntrega << " \n \n";
}
};
void sair()
{
printf("Ja vai??? Nao! Nao! Espere! Naa...\n");
}
int main() {
list<Pedido> pedidos;
int valor;
do
{
printf ("\n\n1. Criar pedido: \n");
printf ("2. Listar pedidos: \n");
printf ("0. Sair \n\n");
scanf("%d", &valor);
switch ( valor ) {
case 1: {
string valorNomePedido;
int valorEstado, confirma;
float valorCep;
printf("\n Informe seu nome: \n");
cin >> valorNomePedido;
cout<<endl;
printf("Digite o numero do estado para entrega: \n");
printf("1.AC 2.AL 3.AP 4.AM \n");
printf("5.BA 6.CE 7.DF 8.ES \n");
printf("9.GO 10.MA 11.MT 12.MS \n");
printf("13.MG 14.PA 15.PB 16.PR \n");
printf("17.PE 18.PI 19.RJ 20.RN \n");
printf("21.RS 22.RO 23.RR 24.SC \n");
printf("25.SP 26.SE 27.TO \n");
cin >> valorEstado;
if (valorEstado == 0 or valorEstado > 27){
printf("\n Estado invalido. \n");
break;
}
printf("\n Digite o CEP para entrega: \n");
cin >> valorCep;
cout<<endl;
//estancia e cria um pedido
Pedido pedido1;
pedido1.insere(valorNomePedido, valorEstado, valorCep);
//solicita confirmação do pedido aao usuario antes de adicionalo a lista
cout << "\n Este e seu pedido? \n";
cout << "1.SIM 2.NAO \n\n";
pedido1.mostraPedido();
cin >> confirma;
if (confirma == 1){
cout << "\n Pedido confimado com sucesso! \n";
//adiciona pedido a lista
pedidos.push_back(pedido1);
}
if (confirma == 2){
cout << "\n Pedido cancelado! \n";
}
break;
}
case 2: {
int tamanho;
tamanho=pedidos.size();
if (tamanho==0){
cout << "\n Lista vazia. \n";
}else{
int listar;
cout << "\n Quantidade de pedidos: " << tamanho << "\n";
cout << "Listar pedidos?\n";
cout << "1.SIM 2.NAO\n";
cin >> listar;
cout<<endl;
if(listar == 1){
for (int i=0; i<tamanho; i++){
}
}
if(listar == 2){
cout << "\n OK! Mas nao esqueca de fazer suas entregas!";
}
}
break;
}
case 0:{
sair();
break;
}
default:{
printf("\n Digite uma opçao valida\n");
break;
}
}
}while(valor!=0);
}Discussão (0)
Carregando comentários...