Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
ArchTGS

c++/logica de programação duvida

Pergunta

#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.forum.png.0349ceae7fc04daa24cdc8cc1e9b57d6.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Na sua lógica, o trecho em verde sempre irá ser executado, pois ele está fora do if.

 

Uma possível solução seria inserir a instrução "continue" no trecho em vermelho. Ficaria asism:

 

else{
    cout<<"Infelizmente o candidato ainda não pode participar!";
    continue;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por josenilson
      Olá pessoal !
       
      Estou tentando rodar um projeto de um jogo na minha maquina porem o mesmo pede para adicionar o log4cxx 0.10.0, realizei pesquisas na internet a respeito mas até agora nada, Encontre para baixar nesse site https://logging.apache.org/log4cxx/1.0.0/download.html porem não sei se devo instalar ele no windows porque ao exportar ele no projeto as depêndencias que precisam dele ficam informando o erro log4cxx.logger.h no such file or directory. a linguagem que estou usando e C++
       
       
    • Por credson
      Elabore um algoritmo que possa descobrir, através de perguntas e respostas, qual meio de transporte o usuário está pensando.
      O usuário deverá escolher uma das seguintes opções:
      - Trator
      - Moto
      - Bicicleta
      - Trem
      - Carro
      - Caminhão
      - Ônibus
      - Paraquedas
      - Balão
      - Avião
      - Helicóptero
      - Submarino
      - Barco
      - Navio
      - Lancha
      Para chegar ao resultado, só devem ser usadas perguntas que retornem "Sim" ou "Não".
      Exemplo:
      É terrestre? Sim.
      Cabe apenas uma pessoa? Sim.
      É pesado? Não.
      Tem pedal? Sim.
       
       
       
      alguem sabveria pode ser  qualquer linguagem
    • Por andersonseifert
      boa tarde, podem me ajudar em uma logica ?
      tenho um numero exemplo 300 , quero aumentar ele sempre +1 , tipo usuario digitou que precisa de 50 numeros depois dos 300 exemplo : 301,302,303... ate 305.
       O que me recomendam fazer ? um array ou for somando +1 ?
       
       
       

    • Por Rafael da Silveira
      Bom dia Pessoal, tudo bem?
      O problema aqui está mais para matematica do que para programação. Mas como sei que aqui só tem fera e pode ser que alguem tenha passado por algo semelhante...

      Tenho um cliente que precisa de uma página, onde ele coloca o valor do produto a vista, e ele joga o valor com as taxas da maquinha de cartão dele...
      A principio é tranquilo, pega o valor, soma taxa, multiplica taxa e pronto...
       
      O problema é que essas taxas são cobradas em cima do valor final, o que depois dos descontos acaba saindo abaixo do valor a vista.
      E ele que receber o valor á vista, deixando para o cliente pagar essa diferença...

      Como resolver essa questão? Alguém poderia me ajudar?
       
    • Por Sharank
      Strcat Function In C++
       
      I'm new to C and C++ programming, can anyone give me a hint on what I'm doing wrong here. I'm trying to write to concat function that takes to pointers to chars and concatenates the second to the first. The code does do that, but the problem is that it adds a bunch of junk at the end.
       
      For instance, when passing the arguments - "green" and "blue", the output will be "greenblue" plus a bunch of random characters. I also wrote the strlen function that strcat uses, which I will provide below it for reference. I'm using the online compiler at InterviewBit The exact instructions and specification is this:
       
      int main(int argc, char** argv)
      {
      const int MAX = 100;
       
      char s1[MAX];
      char s2[MAX];
       
      cout << "Enter your first string up to 99 characters. ";
      cin.getline(s1, sizeof(s1));
      int size_s1 = strlen(s1);
      cout << "Length of first string is " << size_s1 << "\n";
       
      cout << "Enter your second string up to 99 characters. ";
      cin.getline(s2, sizeof(s2));
      int size_s2 = strlen(s2);
      cout << "Length of second string is " << size_s2 << "\n";
      cout << " Now the first string will be concatenated with the second
      string ";
      char* a = strcat(s1,s2);
       
      for(int i = 0; i<MAX; i++)
      cout <<a;
       
      // system("pause");
      return 0;
      }
       
      //strcat function to contatenate two strings
      char* strcat(char *__s1, const char *__s2)
      {
      int indexOfs1 = strlen(__s1);
      int s2L = strlen(__s2);
      cout <<s2L << "\n";
      int indexOfs2 = 0;
      do{
      __s1[indexOfs1] = __s2[indexOfs2];
      indexOfs1++;
      indexOfs2++;
      }while(indexOfs2 < s2L);
       
       
      return __s1;
      }
       
      //Returns length of char array
      size_t strlen(const char *__s)
      {
      int count = 0;
      int i;
      for (i = 0; __s != '\0'; i++)
      count++;
      return (count) / sizeof(__s[0]);
       
      }
×

Informação importante

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