Ir ao conteúdo

C Declarar nome com Switch


Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Postado

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
Postado

@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
Postado

@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
  • Solução
Postado

@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
Postado
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 :)

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!