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 gabriel1303
      É possível verificar a ocorrência de um caractere em negrito em uma planilha do Excel utilizando c/c++?
    • By ArchTGS
      #include <iostream>
      #include <locale>
      using namespace std;
      int main(){
          setlocale(LC_ALL,"ptb");
          int idade;
          char *categoria;
          cout<<"informe a idade do participante: ";
          cin>>idade;
          while(idade!=-1){
              if(idade>=7 && idade<=12){
                  categoria="INFANTIL";
              }
              else if(idade>12 && idade<=17){
                  categoria="JUVENIL";
              }
              else if(idade>17 && idade<=49){
                  categoria="ADULTO";
              }
              else if(idade>=50){
                  categoria="SÊNIOR";
              }
              else{
                  cout<<"Infelizmente o candidato ainda não pode participar!";
              }
              cout<<"O participante está na categoria "<<categoria << " \n ";
              cout<<"Informe a idade do participante: ";
              cin>>idade;
          }
      }
      então pessoal esse é meu codigo, está funcionando bonitinho, porém quando eu faço o teste da ultima opção do encadeamento else, que está em vermelho, aparece o resto do codigo também, o que está em verde, tem alguma maneira de fazer essas ultimas mensagens não aparecerem? não quero ter que colocar saídas(cout) em todos os if's e elses.
      Obs: to aprendendo peguem leve.
    • By RickSilva
      Tenho que criar um código que imprime os 5 numeros anteriores, por exemplo: se o usuario digitar 30, tem que ser impresso 29, 28, 27, 26, 25. Eu conseguir criar um código, porem começa do numero atual, se eu digito 30 começa do 30 e não é isso que eu quero. Eu consigo fazer isso tranquilo com um for, mas preciso que seja com recursividade. O codigo que criei foi esse: 
       
      #include <stdio.h> long int number(int num, int y){ if(num > y-5){ printf(" %d ", num); number(num - 1, y); } else{ return 0; } } int main() { int N; int y; printf("Digite um numero inteiro positivo: "); scanf("%d", &N); y = N; number(N, y); return 0; }  
    • By Rafaahs
      Boa Tarde, Meu professor jogou uma "bomba" para mim sem ao menos explicar direito, enfim ele pediu para criarmos uma Lista de característica de animais... exemplo: Quadripedes, bípedes, voadores... e se você escolher quadrupedes vai para opção... carnívoro [1] herbívoros[2] e dando a próxima escolha aparece o nome dos animais, LEAO ou CAVALO.
      o Problema é que eu não estou conseguindo fazer escolher a opção cavalo , quando a pessoa escolhe todo '1' chega no leao, mas se na ultima etapa você digitar '2' era para aparecer cavalo, porém fica em Branco... me ajudem por favor.
       
       
      #include<stdio.h>
      #include<stdlib.h>
      int main()
      {   
            char opcao; do
           {
            system("cls");
            printf("\n Digite a categoria do animal desejado: ");
            printf("\n [1] Mamiferos: ");
            printf("\n [2] Aves");
            printf("\n [3] Repteis: ");
            printf("\n [4] fim ");
            printf("\n Digite sua opcao: ");
            fflush (stdin);
            scanf("%c", &opcao);
            switch(opcao)
                  {
                      case'1': printf("\n[1] quadrupedes");
                              
                         case'2': printf("\n[2] bipedes");
                         
                         case'3': printf("\n[3] voador");
                         
                         case'4': printf("\n[4] aguatico");
                           { 
                              printf("\n Digite sua opcao: ");
                           fflush (stdin);
                           scanf("%c", &opcao);
                                switch(opcao)
                                            
                                       case'1':  printf("\n[1] carnivoro");
                                            printf("\n[2] herbivoro"); 
                                      {
                                          printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Leao!");
                                                                break;
                                           }   
                                  {
                                     printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Cavalo");
                                                                break;    
                                  }   
                           }
                      
                  
                                
                               
                         
                  }
            system("pause>null");
           }
          while(opcao=!'4');
      }
    • By Marcosdev
      Estou começando na programação e tenho algumas dúvidas sobre esse código do jogo da forca:
       
      #include <iostream>
      #include <stdlib.h>
      using namespace std;
       
      int main() {
          char entrada[21]; //Palavra secreta
          char letra[1]; //Letra que a pessoa digitou
          char letras[30]; //Letras
          char secreta[21]; //A letra certa e sua posição
          int tam; //O tamanho da palavra vai ser igual a ENTRADA
          int i; //(indice) Necessario pq vai usar array
          int chances; // Quando acabar elas acaba o jogo
          int acertos; // O numero de acertos equivale ao TAM
          bool verificacao; // Verifica se a pessoa digitou uma letra certa ou errada
          string dica;
          chances=6;
          tam=0;
          i=0;
          verificacao=false;
          acertos=0;

          cout << "O que seu adversario vai adivinhar? " << "\n";
          cin >> entrada;
      //comando limpar tela
          system("cls");

          cout << "Dica: ";
          cout << dica;
          cin >> dica;
      // O indice vai percorrer ENTRADA até o /0 (enter) pra verificar se tá certo e a posição
      //Char de arrays devem sempre terminar em /0
          while(entrada != '\0') {
              i++; // O i vai percorrer a "entrada" de um por um,e que ainda não é o /0
              tam++; // Cada palavra certa vai adicionar +1 em TAM, desde que i não seja o enter
          }
      //Vou preencher a "entrada" com asteristicos e cada palavra certa vai ser -1 asteristico
          for(i=0 ; i<21 ; i++) {
               //Enquanto i for menor que 21, i de secreta vai aparecer com *
          }
      //Enquanto o jogador tiver chances e acertos diferente de tam, irá aparecer as chances e palavras acertadas na tela
      inicio:
          while((chances > 0)&&(acertos < tam)){
              cout << "Chances Restantes: " << chances << "\n";
              cout << "Palavra Secreta: ";
              for(i=0 ; i<tam ; i++) {
                  cout << secreta;
              }
      //O jogador vai digitar
              cout << "\n\n" << "Digite uma letra: ";
              cin >> letra[0]; //Armazenar na posição 0
              // Se já tiver usado a letra, goto volta pro o inico
              for(i=0 ; i<tam ; i++){
                  if(letras == letra[0]) {
                      system("cls");
                      cout << "\nLetra ja usada! \n";
                      goto inicio;
                  } else {
                      letras=letra[0];
                  }
              }
              for(i=0 ; i<tam ; i++) {
                  if(entrada==letra[0]) {
                      verificacao=true;
                      // A letra dá posição vai ser copiada para secreta se for certa
                      secreta=entrada;
                      acertos++; // incrementa o total de acertos
                  }
              }
      //Se acerto for igual a falso "not acerto = !acerto" diminui o numero de chances
              if(!verificacao) {
                  chances--;
              }
              verificacao=false;
              system("cls");
              if(verificacao=false) {
                  system("cls");
                  cout << letra[0];
              }
          }
          
          if(acertos==tam) {
              cout << "O jogador ganhou! ";
          } else {
              cout << "O jogador perdeu! ";
          }
          system("pause");
          return 0;
      }
×

Important Information

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