Ir ao conteúdo

Posts recomendados

Postado

o problema é bem fácil, não envolve lógica, mas como nunca estudei ou pratiquei switch, estou com duvidas com relação a como fazer submenus .

eu preciso criar um codigo onde tem inicialmente 3 categorias: mamiferos, aves e repteis, e dessas submenus e (sub)submenus. eu não coloquei o codigo inteiro, porque como n teno certeza se estou fazendo certo não quis tentar terminar a toa: estou com duvidas com relação a submenus, breaks e repetição de variaveis

 

Spoiler

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){

int op, op2, op3;

printf("-----------------------MENU--------------------");
printf("\n1 para mamiferos\n2 para aves\n3 para repteis");
printf("digite a opcao: ");
scanf("%d", &op);

switch(op){
    case 1:
        printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico");
        scanf("%d", op2);
        case 1:
            switch(op){
            printf("\1 para carnivoros \n2 para herbivoros");
            scanf("%d", op3);
            case 1:
                printf("Leao");
            case 2:
                printf("Cavalo");
                }

 

 

  • Curtir 1
Postado

O correto seria:

sint main()
{
    int op, op2, op3;
    printf("-----------------------MENU--------------------");
    printf("\n1 para mamiferos\n2 para aves\n3 para repteis");
    printf("digite a opcao: ");
    scanf("%d", &op);
    
    switch(op){
    case 1: //mamiferos
        printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico");
        scanf("%d", &op2);
        switch(op2) {
        case 1: //quadrupedes
            printf("\n1 para carnivoros \n2 para herbivoros");
            scanf("%d", &op3);
            switch(op3){
          
                case 1: //carnivoros
                	printf("Leao");
					break;
            	case 2://herbivoros
                	printf("Cavalo");           
                    break;
                }
            break;
            
        case 2: //bipedes
            break;
        case 3: //voador
            break;
        case 4: //aquatico
            break;
        }
        break;
    case 2: //aves
        break;
    case 3: //repteis
        break;
    }
    return 0;
}

 

  • Curtir 2
Postado

@Flávio Pedroza agora preciso que o programa pare depois de chegar ao fim de uma das categorias. Mesmo depois q acaba a quadrupedes, ainda assim ele continua e pergunta a opção pra bipede

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
    int op, op2, op3, op4, op5, op6, op7, op8;
    printf("-----------------------MENU--------------------");
    printf("\n1 para mamiferos\n2 para aves\n3 para repteis");
    printf("\ndigite a opcao: ");
    scanf("%d", &op);

    switch(op){
    case 1: //mamiferos
        printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico");
        scanf("%d", &op2);
        switch(op2) {
        case 1: //quadrupedes
            printf("\n1 para carnivoros \n2 para herbivoros");
            scanf("%d", &op3);
            switch(op3){
                case 1: //carnivoros
                	printf("Leao");
					break;
            	case 2://herbivoros
                	printf("Cavalo");
                    break;}}
        case 2: // bipedes:
            printf("\n1 para onivoro \n2 para frutifero");
            scanf("%d", &op4);
            switch(op4){
                case 1: //onivoro
                    printf("Homem");
                    break;
                case 2: //frutifero
                    printf("Macaco");
                    break;
            }}}

 

Postado

Tá faltando um break. Lembre-se, casa "case" tem que ter o "break" correspondente.

case 1: //mamiferos
        printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico");
        scanf("%d", &op2);
        switch(op2) {
        case 1: //quadrupedes
            printf("\n1 para carnivoros \n2 para herbivoros");
            scanf("%d", &op3);
            switch(op3){
                case 1: //carnivoros
                	printf("Leao");
                    break;//op3 - case 1
            	case 2://herbivoros
                	printf("Cavalo");
                    break;}//op3 - case 2
            break;//op2 - case 1:

Bota uns cometários como fiz, para se guiar.

Postado

@Flávio Pedroza agora nos cases 3 e 4 tem apenas um animal. morcego pra 3(voador) e baleia pra 4 (aquatico), então não tem o q scanf ou switch. eu tento colocar apenas case 3 e imprimir direto mas n aparece

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
    int op, op2, op3, op4, op5, op6, op7, op8;
    printf("-----------------------MENU--------------------");
    printf("\n1 para mamiferos\n2 para aves\n3 para repteis");
    printf("\ndigite a opcao: ");
    scanf("%d", &op);

    switch(op){
    case 1: //mamiferos
        printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico:\n ");
        scanf("%d", &op2);
        switch(op2) {
        case 1: //quadrupedes
            printf("\n1 para carnivoros \n2 para herbivoros:\n ");
            scanf("%d", &op3);
            switch(op3){
                case 1: //carnivoros
                	printf("Leao");
					break;
            	case 2://herbivoros
                	printf("Cavalo");
                    break;}
                break;
        case 2: // bipedes:
            printf("\n1 para onivoro \n2 para frutifero:\n ");
            scanf("%d", &op4);
            switch(op4){
                case 1: //onivoro
                    printf("Homem");
                    break;
                case 2: //frutifero
                    printf("Macaco");
                    break;
                break;
        case 3: // voador
            printf("Morcego");
            break;
        break;

                    }}}}

 

adicionado 56 minutos depois
56 minutos atrás, James_Mulder disse:

 

@Flávio Pedroza

era só colocar uma } depois do break; fui desatento 

era

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!