Programação Progressiva
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Dúvida com testes switch

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Dúvida com testes switch  Empty Dúvida com testes switch Qua Jun 17, 2015 12:49 am

renan_fiuza



Gostaria de saber se é possível usar uma string no case ?

2Dúvida com testes switch  Empty Re: Dúvida com testes switch Qua Jun 17, 2015 6:36 pm

AbnerRMS



Não diretamente, renan_fiuza, mas você pode "atribuir" um inteiro a uma string e então usá-lo no switch. Por exemplo:
Código:
#include <stdio.h>
#include <string.h>

int main()
{
    char cores[4][10] = {"verde", "amarelo", "azul", "branco"},
         cor[10];
    int indice = 0;

    printf("Digite uma cor: ");
    scanf("%9s", cor);

    strlwr(cor);

    while(strcmp(cor, cores[indice]) && indice < 4)
        indice++;

    switch(indice)
    {
        case 0:
            puts("\nVoc\210 digitou verde.");
            break;

        case 1:
            puts("\nVoc\210 digitou amarelo.");
            break;

        case 2:
            puts("\nVoc\210 digitou azul.");
            break;

        case 3:
            puts("\nVoc\210 digitou branco.");
            break;

        default:
            printf("Cor inv\240lida.");
    }

    return(0);
}
Na verdade, é uma gambiarra, mas funciona. Very Happy

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos