Ir para conteúdo

Recommended Posts

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);

}

 

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Jam123
      A classe Pessoa jurídica tem os atributos CNPJ e razão social.
      A classe Pessoa Física tem os atributos CPF e RG.
      A classe Aluno tem os atributos matrícula (inteiro); período (inteiro); quantidade de matérias
      matriculadas no semestre (inteiro); nome do curso (string).
      A classe Estudos tem o atributo Tempo_de_Estudo.
      A classe Professor tem os atributos Formação e quantidade_de_aulas_lecionadas.
      A classe Militar tem os atributos tipo_de_arma e Patente.
      A classe restaurante tem os atributos tipo_de_comida e o preço_do_quilo_da_comida.
      Todas as classes tem um método para inicializar os atributos e um método para imprimir na
      tela os atributos.
    • Por fernando.h.luiz
      Preencha uma matriz (x,y) com números inteiros aleatórios.
      a) Solicite um número do usuário, pesquise se esse número existe na matriz.
      b) Se existir, imprima em qual posição ele se encontra (linha x coluna).
      - Considere que podem haver valores repetidos.
      - Se não existir, imprima uma mensagem de erro.
      c) Trabalhe com alocação dinâmica de memória.

      alguem pode me ajudar ??
    • Por Rondz
      Faça um programa que receba dados do tipo inteiro suficientes para preencher uma matriz com dimensão 2 x 5, calcule e mostre a quantidade de números ímpares.
       
      Faça um programa que receba 15 valores reais que devem ser armazenados em um vetor. Após a digitação de todos os valores, mostre-os na tela, altere todos os valores para sua metade respectiva e imprima os resultados atuais.
    • Por Luana S
      Boa tarde.
      Não sei se pode ser postado aqui, mas agradeço desde já.
      Sou iniciante e estou com essa duvida.
      O ultimo cout não mostra as 3 variáveis, ou mesmo os caracteres.
       

    • Por Programador Legal Olha Só
      Escreva um algoritmo que leia 6 números e os armazene em um vetor.
      Utilize a função rand para gerar 6 números aleatórios que sejam armazenados em um vetor
      Compare os dois vetores e informe ao usuário se ele acertou ou nao os numeros
      Os números digitados podem ser de 1 a 60, assim como os números gerados.
      Utilize funções para cada algoritmo de seu programa.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.