Jump to content

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

}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By cristhianbrd
      Crie uma estrutura chamada pessoa que seja
      capaz de armazenar o nome, o endereço, o CPF
      e a idade de 5 pessoas. fiz ate uma parte do código mas fica dando uns erros 
      #include <iostream> #include <cstdlib> #include <cstring> typedef struct pessoa { char nome[60]; char endereco[60]; float cpf; int idade; }Pessoa; int main (){ cout << "Digite O Nome De alguem" << endl; cin >> pessoa.nome; cout << "Digite o Endereço Da Pessoa" << endl; cin >> pessoa.endereco; cout << "Digite o Cpf da Pessoa" << endl; cin >> pessoa.cpf ; cout << "Digite a Idade Da Pessoa" << endl; cin >> pessoa.idade ;  
    • By Leidsman217
      Ola a todos, tenho uma duvida quanto a programação de Arduíno. Gostaria de saber se o seguinte código foi escrito de forma correta  ? Agradeço desde já a atenção de todos !
       
         
    • By TheRuivo
      Olá,
      estou tentando criar um código em c++ com funções e procedimentos a um tempo, só que eles sempre retornam 0, se alguém puder me ajudar, agradeço. ;)
      Segue o código:
      #include <iostream>
      #include <stdlib.h>
      #include <stdio.h>
      #include<locale.h>
      #include<math.h>
      #include<cmath>
      using namespace std;
      void Triangulo(int la)
      {
          double b,h,r;
              printf("Por favor digite o valor da base e da altura: \n");
              scanf("%i %i",&b,&h);
              r=(b*h)/2;
              printf("A área é: %i \n",r);
      }
      double Quadrado(int la, int b, int h)
      {
          double r;
          printf("Por favor digite o valor da base e da altura: \n");
          scanf("%i %i",&b,&h);
          r=b*h; 
          printf("A área é: %i ",r);
          return r;
      }
      int Menu(int la)
      {
          int b,h;
          switch(la)
          {
              case 3:
                  printf("É um triângulo \n");
                  Triangulo(la);
                  break;
              case 4:
                  printf("É um quadrilátero \n");
                  Quadrado(la,b,h);
                  break;
              case 5:
                  printf("É um pentágono \n");
                  break;
              case 6:
                  printf("É um hexágono \n");
                  break;        
          }
          return la;
      }
      int main(int argc, char** argv) {
          setlocale(LC_ALL, "Portuguese");
          int b,h,r,l;
          printf("Por favor insira a quantidade de lados da figura(3-6): ");
          scanf("%i",&l);
          Menu(l);
          
          
          
             
          system("pause");
          return 0;
      }
    • By Thalysson Torres
      Estou com problema nesse código, na verdade é uma duvida de como trabalhar melhor com string. Eu quero faze um programa e nele quero receber do usuario, o sexo, caso o usuario digite um nome no local do sexo e seja diferente de Masculino, Feminino... de mensagem de erro. 
       
       
      #include <stdio.h>
      #include <stdlib.h>
      #include <math.h>

      int main()
      {
          char nome [25], sexo;

          
          
      printf("Digite o nome \n");
      scanf("%[\n]", &nome);
      printf("Digite o Sexo:\n Para feminino digite: F \n\n Para masculino digite; M \n");
      scanf("%c",&sexo);
      if (sexo != 'f'|| 'F' || 'M' || 'm')
          printf("Sexo Invalido");
       
       
      ...
       


          
          return 0;
      }
       
    • By joaov369
      Então, preciso fazer um programa em c++ que duplique o valor do vetor se ele for um numero par, até ai tudo bem, e preciso trocar a ordem desse vetor ate a penultima posição, desde a primeira, isso que tá garrando aqui, se alguem puder dar uma olhada no meu codigo.
      #include <iostream> using namespace std; #define n 10 int main() { int a[n], temp; for (int i = 0; i<n; i++) { cin >> a[i]; } for (int i = 0; i<n; i++) { if (a[i] % 2 ==0) a[i]=a[i]*2; } for (int i = 0; i<n-1; i++) { temp=a[i]; a[i]=a[i+1]; temp=a[i]; a[i]=temp; } for (int i = 0; i<n; i++) { cout << a[i] << " " ; } return 0; }  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.