Ir ao conteúdo
  • Cadastre-se
gustavoxxxx

C estrutura if else simples

Recommended Posts

Gostaria de saber se essa estrutura de IF e ELSE está correta, ou se existe uma forma mais "correta" de se fazer, usando elseif ou sei lá hahaha

 


    

   

#include <stdio.h>

void main() {
    
    
 int idade;
 
 printf ("Digite a idade: ");
    scanf("%d",&idade);
    
if (idade >=51) {
    printf("Velho\n");
}


    else {
        
      if (idade>=21)
          printf("Adulto\n");
      
        else {
          
           if (idade>=13)
               printf("Adolescente\n");
           
             else {
                 
                 if (idade >=5)
                     printf("Criança\n");
                 
                    else{
                        printf("Bebe\n");
                    }
                 
             }
            
        }             
    }


    

   

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está errado, esse só não é o modo mais legível/organizado de fazer isso. Veja, você poderia fazer a mesma coisa assim:

#include <stdio.h>

int main() {
    int idade;

    printf ("Digite a idade: ");
    scanf("%d",&idade);

    if (idade >=51)
        printf("Velho\n");
    else if (idade>=21)
        printf("Adulto\n");
    else if (idade>=13)
        printf("Adolescente\n");
    else if (idade >=5)
        printf("Criança\n");
    else 
        printf("Bebe\n");

    return 0;
}

Obs: Note que como cada if só tem uma linha de comando não precisei usar chaves { }.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ... !

Não existe documentos acerca de um padrão universal [pelo menos nunca pesquisei], apenas estilos múltiplos, alguns grupos formalizam seus estilos quando fazem trabalhos cooperativos e diante disso conceituam a forma certa. A maioria dos codificadores, optará pela formato mais legível [os estilos mais presentes na literatura como sendo o melhor] e podem até adotar como certo, contudo, a única forma errada é aquela que não funciona [que tem erros lógicos]. A principal regra nas palavras do PhD McCann, acima de todas é; ser consistente. Isto é, ele nos diz para não fazer de todas as maneias sem ordem, pelo contrário, busque unificar o seu estilo para que assim codifique de maneira limpa, elegante e homogênea, caso contrário seria um carnaval aqui no Brasil.

 

 

adicionado 10 minutos depois

Hits: Um dica pessoal é sempre usar blocos { ... } mesmo quando não precisa, pois assim não perdesse ponto na consistência.

Editado por AnsiC
Fazer do Português algo mais legível
  • Amei 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
36 minutos atrás, isrnick disse:

Não está errado, esse só não é o modo mais legível/organizado de fazer isso. Veja, você poderia fazer a mesma coisa assim:


#include <stdio.h>

int main() {
    int idade;

    printf ("Digite a idade: ");
    scanf("%d",&idade);

    if (idade >=51)
        printf("Velho\n");
    else if (idade>=21)
        printf("Adulto\n");
    else if (idade>=13)
        printf("Adolescente\n");
    else if (idade >=5)
        printf("Criança\n");
    else 
        printf("Bebe\n");

    return 0;
}

Obs: Note que como cada if só tem uma linha de comando não precisei usar chaves { }.

então, mudar de

else {
        
      if (idade>=21)
          printf("Adulto\n");

para

else if (idade>=21)
        printf("Adulto\n");

muda apenas a organização do código, e não a logica em si, correto ?

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
  
  
int main (void){
  int idade;

  printf ("Digite a idade: ");
  scanf ("%d",&idade);

  if (idade >= 51){
  	printf("Velho\n");
  }
  else if (idade >= 21){
  	printf("Adulto\n");
  }
  else if (idade >= 13){
  	printf("Adolescente\n");
  }
  else if (idade >= 5){
  	printf("Criança\n");
  }
  else{
  	printf("Bebe\n");
  }
    
  return 0;
}

:thumbsup: É só mais um estilo de muitos, eu gosto assim!

Editado por AnsiC
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, gustavoxxxx disse:

então, mudar de


else {
        
      if (idade>=21)
          printf("Adulto\n");

para


else if (idade>=21)
        printf("Adulto\n");

muda apenas a organização do código, e não a logica em si, correto ?

 

 

Exatamente. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
36 minutos atrás, AnsiC disse:

Olá ... !

Não existe documentos acerca de um padrão universal [pelo menos nunca pesquisei], apenas estilos múltiplos, alguns grupos formalizam seus estilos quando fazem trabalhos cooperativos e diante disso conceituam a forma certa. A maioria dos codificadores, optará pela formato mais legível [os estilos mais presentes na literatura como sendo o melhor] e podem até adotar como certo, contudo, a única forma errada é aquela que não funciona [que tem erros lógicos]. A principal regra nas palavras do PhD McCann, acima de todas é; ser consistente. Isto é, ele nos diz para não fazer de todas as maneias sem ordem, pelo contrário, busque unificar o seu estilo para que assim codifique de maneira limpa, elegante e homogênea, caso contrário seria um carnaval aqui no Brasil.

 

 

adicionado 10 minutos depois

Hits: Um dica pessoal é sempre usar blocos { ... } mesmo quando não precisa, pois assim não perdesse ponto na consistência.

agora, isrnick disse:

Exatamente. :thumbsup:

demoro valeeeeu, obrigado pelas explicações !

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×