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 flipmartinz13
      Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.

      5.92)    Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
      a) A matrícula da aluna que obteve a maior média.
      b) A matrícula do aluno que obteve a menor média.
      c) O percentual de mulheres na turma.
      d) Quantos alunos foram aprovados, independente do sexo.
      e) O percentual de alunas aprovadas.
      Obs.: o flag é uma matrícula igual a 0 (zero).
    • By flipmartinz13
      Estou tentando fazer esse exercício de introdução a programação em C++, e estou tendo dificuldades para criar os algoritmos. Alguém poderia me ajudar?


      Uma agência de turismo quer fazer um levantamento das praias da cidade para um programação turística de verão, sabendo-se que cada praia tem um nome e uma distância (em Km) do hotel. Criar um algoritmo que forneça os seguintes dados:
      18

       Porcentagem de turistas nas praias próprias do hotel
       A praia mais adiante
       Nome e distancia das praias não-próprias com distancia do hotel maior que 10 km.
      O algoritmo acaba quando se digita @ para nome da praia.
    • By danisj
      #include<iostream>
      using namespace std;
      int BuscaBin (int lista[], int baixo, int alto, int chave)
      {
          int central;
          int valorcentral;
          while (baixo <= alto)
          {
              central = (baixo + alto)/2;
              valorcentral = lista[central];
              if (chave == valorcentral)
                  return central;
              else if (chave < valorcentral)
                  alto = central -1;
              else
                  baixo = central + 1;
          }
      }
      int main()
      {
          int a[10];
          int chave, pos;
          cout << "Introduza uma lista de 10 inteiros:";
          for (pos = 0; pos < 10; pos++)
              cin >> a[pos];
          cout << "Introduza chave a buscar:";
          cin >> chave;
          pos = 0;
          while ((pos = BuscaBin(a, 0, 9, chave))!= -1)
          {
              pos++;
          }
          cout << chave << " está na lista "  << " vezes na lista " << endl;
      }
          
      O objetivo é inserir uma lista e resultar  numa busca binária e ele retornar a chave, não posso alterar a função BuscaBin
    • By Matex5
      Sua tarefa é implementar uma árvore de busca binária que armazene strings. A ordem de inserção deverá ser alfabética crescente, ou seja, se o valor do elemento da raiz for “iguana”, então a palavra “beterraba” deverá ser inserida na subárvore da esquerda, enquanto a palavra “pagode” deverá ser inserida na subárvore da direita.
      Devem ser declaradas a struct e implementadas as seguintes funções da árvore:
      • criar(): inicialização da árvore.
      • buscar(): busca de um elemento na árvore.
      • inserir(): inserção de um elemento na árvore.
      • remover(): remove um elemento da lista.
      • estaVazia(): retorna um booleano indicando se a árvore está vazia.
      • ehEstritamenteBinaria(): retorna um booleano indicando se a árvore é estritamente binária.
      • ehQuaseCompleta(): retorna um booleano indicando se a árvore é quase completa.
      • ehCompletaCheia(): retorna um booleano indicando se a árvore é completa (cheia).
      • preOrdem(): visita e imprime os elementos da árvore em PRÉ-ORDEM (“RED”).
      • emOrdem(): visita e imprime os elementos da árvore EM-ORDEM (“ERD”).
      • posOrdem(): visita e imprime os elementos da árvore em PÓS-ORDEM (“EDR”). Após implementar a estrutura de dados, escreva um programa em C/C++ que permita ao usuário executar as funções acima

    • By FineMustache
      Fiz um programa que calcula o reajuste de salário de 5 funcionários armazenando seus nomes e salários em vetores, porém o salário já reajustado aparece com o mesmo valor do salário original.
      /* Armazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela */ #include <iostream> #include <locale.h> #include <string> #include <string> #include <stdlib.h> #include <cstdlib> using namespace std; int main() { setlocale(0, "Portuguese"); system("color 0a"); system("MODE CON COLS=150 LINES=40"); string nomefunc[5]; double slfunc[5], slnovo[5]; int reaj, i; cout << "\n\tArmazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela"; cout << "\n\n\tDigite a porcentagem do reajuste (sem o sinal %): "; cin >> reaj; for (i=0; i<5; i++){ cout << "\n\n\tDigite o nome do funcionário: "; cin >> nomefunc[i]; cout << "\n\n\tDigite o salário de " << nomefunc[i] <<": "; cin >> slfunc[i]; slnovo[i] = slfunc[i] - slfunc[i] * (reaj / 100); } cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[0] << ") era de R$" << slfunc[0] << " e passará a ser de R$" << slnovo[0] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do segundo funcionário (" << nomefunc[1] << ") era de R$" << slfunc[1] << " e passará a ser de R$" << slnovo[1] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[2] << ") era de R$" << slfunc[2] << " e passará a ser de R$" << slnovo[2] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[3] << ") era de R$" << slfunc[3] << " e passará a ser de R$" << slnovo[3] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[4] << ") era de R$" << slfunc[4] << " e passará a ser de R$" << slnovo[4] << " com o reajuste de " << reaj << "%."; system ("PAUSE>NULL"); }  
×

Important Information

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