Ir ao conteúdo
  • Cadastre-se

C erro no if - else c


Posts recomendados

Boa noite,

Pessoal,

 

Estou com um pouco de dificuldade em terminar meu pequeno programinha em 'C', sou iniciante ainda desculpem minha ignorância.

Segue abaixo o código, esta apresentando o erro na linha 45 ( else ).

 

*Já tentei retirar o ponto e virgula do if mais não deu certo, ele até chega a rodar mais pula a primeira condição quando escolhemos a letra ( a ) sempre vai para segunda parte do else.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <locale.h>

main ()

{
    setlocale(LC_ALL, "Portuguese");
    
    printf("\n\t\t Cálculo da Área do Triângulo \n");
    printf("\nOBS: Os valores fornecidos deveram estar em centimetros. \n");
    
    printf("\n Escolha uma das opções abaixo:\n\n");
    printf("  Digite ( a ) para Calcular o trinagulo normal");
    printf("\n  Digite ( b ) para Calcular o trinagulo equilatero\n");
    
    int S, H, B;
    char a, b, opcao;
    float S2, l;
    
    printf("\n \t => ");
    scanf("%c", &opcao);
    
    system("cls");
    
    if ( opcao == a );
    
    {
        
    printf("\n\t Digite o valor de ( b ) Base: ");
    scanf("%d", &B);
    
    printf("\n\t Digite o valor de ( h ) Altura: ");
    scanf("%d", &H);    
    
    S = ( B * H ) / 2;
    
    printf("\n\t O Valor da área é : %d cm² \n\n", S);
    
        
    }
    
    else
    
    {
            
    printf("\n Digite o valor do lado do triângulo: ");
    scanf("%f", &l);
        
    S2 = ( pow(l,2) /4 ) * sqrt ( 3 );    
    
    printf("\n\n A área deste triângulo equilátero é de aproximadamente : %.2f cm²\n\n\n",S2);
        
    }
    
    
}

 

Triangulo.PNG

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

Boa Noite, Então e o seguinte.. do modo como esta o IF você esta comparando a variável opção com a variável "A", e não com o caractere "A", ou seja como a variável "a" não foi iniciada ela não contem o caractere "A" , então a condição do if não e verdadeira, por isso não "entra" nele.

 

para verificar se a variavel opção contem  a  letra "A" você deve fazer:

 

if ( opcao == 'a' )

 

o  ' ' vai ira indicar que você esta comparando opção com  o caractere "A" e não com a variavel "a".

 

Codigo:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <locale.h>

main ()
{
    setlocale(LC_ALL, "Portuguese");
    
    printf("\n\t\t Cálculo da Área do Triângulo \n");
    printf("\nOBS: Os valores fornecidos deveram estar em centimetros. \n");
    
    printf("\n Escolha uma das opções abaixo:\n\n");
    printf("  Digite ( a ) para Calcular o trinagulo normal");
    printf("\n  Digite ( b ) para Calcular o trinagulo equilatero\n");
    
    int S, H, B;
    char a, b, opcao;
    float S2, l;
    
    printf("\n \t => ");
    scanf("%c", &opcao);
    
    system("cls");
    
    if ( opcao == 'a' )
    
    {
        
    printf("\n\t Digite o valor de ( b ) Base: ");
    scanf("%d", &B);
    
    printf("\n\t Digite o valor de ( h ) Altura: ");
    scanf("%d", &H);    
    
    S = ( B * H ) / 2;
    
    printf("\n\t O Valor da área é : %d cm² \n\n", S);
    
        
    }
    
    else
    
    {
            
    printf("\n Digite o valor do lado do triângulo: ");
    scanf("%f", &l);
        
    S2 = ( pow(l,2) /4 ) * sqrt ( 3 );    
    
    printf("\n\n A área deste triângulo equilátero é de aproximadamente : %.2f cm²\n\n\n",S2);
        
    }
    
    
}

Bom Espero que não tenha ficado confuso com tanto "a"

mas posso estar errado, pois programo em c++...

  • Curtir 1
  • Obrigado 1
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!