Ir ao conteúdo
  • Cadastre-se

C Declarar nome com Switch


Guga04
Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

ficou confuso... se deseja usar switch/case, a sintaxe é essa:

 

switch (<variavel>)
  {
  	case <valor>:
  	//fazer algo
  	//fazer mais algo
  	break;
  
  	case <outroValor>:
  	//fazer algo
  	//fazer mais algo
  	break;
  
  	case default:
  	//fazer algo
  	//fazer mais algo
  	break;
  }

o switch compara a variavel com o valor no case, e esse conjunto seria equivalente a uma serie de ifs e elses com floreios :)

 

o default seria equivalente a else

  • Triste 1
Link para o comentário
Compartilhar em outros sites

@Um mero usuário

4 horas atrás, Um mero usuário disse:

se deseja usar switch/case

Não existe switch/case, o comando é switch, case e default são prefixos do label.

 

4 horas atrás, Um mero usuário disse:

case default:
//fazer algo
//fazer mais algo
break;

Não se junta os dois prefixos assim.

Aliás, break é usado nesse contexto para transferir o controle para fora do corpo, e não tem nada para ser executado depois de default, então naturalmente omitimos break.

Isto vale para qualquer comando que seja o último, tendo como prefixo case ou default.

 

4 horas atrás, Um mero usuário disse:

o switch compara a variavel com o valor no case, e esse conjunto seria equivalente a uma serie de ifs e elses

switch transfere o controle para um label, é equivalente a um goto.

Não se trata de uma série de comandos if.

 

Dê uma lida na documentação, parece que você está...

4 horas atrás, Um mero usuário disse:

confuso...

:D

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Lucca RodriguesDesculpe sou novo em programa e formulei errado a pergunta... Como eu uso um nome em decisão switch, como por exemplo, eu coloco:

 

switch(<variavel>)

case<valor>: printf("esse nome corresponde a segunda feira")

Mais ou menos dessa forma, a pergunta correta seria, como eu declaro um nome e após isso uso decisão switch?

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Solução

@Guga04

12 minutos atrás, Guga04 disse:

Como eu uso um nome em decisão switch

Uma string não pode ser o valor da expressão de switch, se é essa sua pergunta.

Se quer comparar strings, use strcmp(). Essa função retorna 0 se as strings são iguais, dê uma olhada:

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[20] = "quinta-feira";
    char str2[5][20] =
    {
        "segunda-feira",
        "terca-feira",
        "quarta-feira",
        "quinta-feira",
        "sexta-feira"
    };
    int i;
    
    for(i = 0; i < 5; i++)
        if(strcmp(str1, str2[i]) == 0) break;
    
    if(i < 5)
        printf("String <%s> encontrada na posicao <%d> do vetor", str2[i], i);
    else
        printf("String <%s> nao encontrada", str1);
    
    return 0;
}

Temos uma string (str1), um vetor de strings (str2) e um laço para comparar cada uma das strings do vetor str2 com str1. Se a string é encontrada, ou seja, se strcmp retorna 0, break transfere o controle para fora do laço.

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

8 horas atrás, Lucca Rodrigues disse:

Não existe switch/case, o comando é switch, case e default são prefixos do label.

hm, isso nao sabia, sempre que via estavam juntos...

 

8 horas atrás, Lucca Rodrigues disse:

Não se junta os dois prefixos assim.

Foi mal criador do topico, momento de bobeira bateu e ficou 😐

 

8 horas atrás, Lucca Rodrigues disse:

Dê uma lida na documentação, parece que você está...

13 horas atrás, Um mero usuário disse:

confuso...

:D

hahaha... boa ideia... mas que parece if e else parece :)

Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!