Ir ao conteúdo

Posts recomendados

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



//Faça um programa, utilizando estrutura de condição, que receba um número real, digitado pelo usuário e mostre o menu para selecionar o tipo de cálculo que deve ser realizado:
// 1 para raiz quadrada, 2 para metade. 3 para 10% e 4 para o dobro



int main(){
    
float num, calc2, calc3, calc4, porcent;
char op;



calc2 = num/2;
calc3 = (num/100)*10;
calc4 = num*2;
porcent = num + calc3;
    
print ("Digite um numero real positivo");
scanf ("%f", &num);    
    
printf ("\nDigite 1 para calcular a raiz quadrada do numero informado, 2 para informar a metade, 3 para acrescer 10% ou 4 para informar o dobro dele:\n");
scanf ("%d", op);

if (op != 1 && op != 2 && op != 3 && op != 4)
{

    printf ("Opcao invalida.\n");

}
        else
        {
        
            if (op = '1')
            printf ("A raiz quadrada de %f e %f ", num, sqrt(num));
            
                else
                    
                    if (op = '2')
                    printf ("A medate de %f e %f", num, calc2);
            
                        else
                        
                            if (op = '3')
                            printf ("%f acrescido de 10% e igual a %f", num, calc3);
                            
                                else
                                
                                    if (op = '4')
                                    printf ("O dobro de %f e igual a %f", num, calc4);    
}
}

 

  • Curtir 1
Postado

No segundo scanf faltou o & e o certo nesse caso é %c. E no if a igualdade é feita com ==. E no primeiro if está comparando char com int. Na verdade recomendo que use switch.

 

Esses erros foram os que eu vi, mas não testei o código. 

  • Curtir 1
  • Amei 1
Postado

@Bacanario     alguns erros simples , e seu código poderia ser assim  :

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<math.h>
#include<locale.h>
//Faça um programa, utilizando estrutura de condição, que receba um número real, digitado pelo usuário e mostre o menu para selecionar o tipo de cálculo que deve ser realizado:
// 1 para raiz quadrada, 2 para metade. 3 para 10% e 4 para o dobro
int main(){
    float num,calc2,calc3,calc4,porcent;
    char op;
    int j;
    calc2   = num/2;
    calc3   = num/100*10;
    calc4   = num*2;
    porcent = num + calc3;
    printf("\n     Digite um numero real positivo ");
    scanf ("%f",&num);    
    printf ("\n     Digite uma opcao :\n\n");
    printf(" 1 - para calcular a raiz quadrada do numero informado\n");
    printf(" 2 - para informar a metade\n");
    printf(" 3 - para acrescer 10% ou 4 para informar o dobro dele:\n");
    printf("     escolha a opcao -> ");
    fflush(stdin);                   /* precisa limpar o buffer do teclado pois esse scanf é de outro tipo */
    scanf("%c",&op);                 /* faltou o & *//* para pegar char usa se  %c */
    printf("\n  ");
    if(op != '1' && op != '2' && 
    op != '3' && op != '4'){         /* char precisa ficar entre aspas simples */
        printf("Opcao invalida.\n");
    }
    else{
        if(op == '1')                /* comparações são feitas usando dois sinais de igual */
            printf ("A raiz quadrada de %f e %f ", num, sqrt(num));
        else
            if(op == '2')
                printf ("A medate de %f e %f", num, calc2);
            else
                if(op == '3')
                    printf ("%f acrescido de 10% e igual a %f", num, calc3);
                else
                    if(op == '4')
                        printf ("O dobro de %f e igual a %f", num, calc4);/* para limitar a duas casas decimais %.2f */
    }
    printf("\n\n");
    for(j=0;j<20;j++){
        printf(". ");    
        Sleep(150);
    }
    printf(" !\n\n\n");
    Sleep(800);
}

 

  • Amei 1
Postado
2 horas atrás, devair1010 disse:

@Bacanario     alguns erros simples , e seu código poderia ser assim  :


#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<math.h>
#include<locale.h>
//Faça um programa, utilizando estrutura de condição, que receba um número real, digitado pelo usuário e mostre o menu para selecionar o tipo de cálculo que deve ser realizado:
// 1 para raiz quadrada, 2 para metade. 3 para 10% e 4 para o dobro
int main(){
    float num,calc2,calc3,calc4,porcent;
    char op;
    int j;
    calc2   = num/2;
    calc3   = num/100*10;
    calc4   = num*2;
    porcent = num + calc3;
    printf("\n     Digite um numero real positivo ");
    scanf ("%f",&num);    
    printf ("\n     Digite uma opcao :\n\n");
    printf(" 1 - para calcular a raiz quadrada do numero informado\n");
    printf(" 2 - para informar a metade\n");
    printf(" 3 - para acrescer 10% ou 4 para informar o dobro dele:\n");
    printf("     escolha a opcao -> ");
    fflush(stdin);                   /* precisa limpar o buffer do teclado pois esse scanf é de outro tipo */
    scanf("%c",&op);                 /* faltou o & *//* para pegar char usa se  %c */
    printf("\n  ");
    if(op != '1' && op != '2' && 
    op != '3' && op != '4'){         /* char precisa ficar entre aspas simples */
        printf("Opcao invalida.\n");
    }
    else{
        if(op == '1')                /* comparações são feitas usando dois sinais de igual */
            printf ("A raiz quadrada de %f e %f ", num, sqrt(num));
        else
            if(op == '2')
                printf ("A medate de %f e %f", num, calc2);
            else
                if(op == '3')
                    printf ("%f acrescido de 10% e igual a %f", num, calc3);
                else
                    if(op == '4')
                        printf ("O dobro de %f e igual a %f", num, calc4);/* para limitar a duas casas decimais %.2f */
    }
    printf("\n\n");
    for(j=0;j<20;j++){
        printf(". ");    
        Sleep(150);
    }
    printf(" !\n\n\n");
    Sleep(800);
}

 

Muito obrigado, Devair! me diz só mais uma coisa... Tem algum problema na declaração de calc2, calc3, calc4 e porcent? Os cálculos não estão sendo efetuados na saída do programa. Só tá calculando corretamente a raiz.

adicionado 11 minutos depois
8 horas atrás, allanxd disse:

No segundo scanf faltou o & e o certo nesse caso é %c. E no if a igualdade é feita com ==. E no primeiro if está comparando char com int. Na verdade recomendo que use switch.

 

Esses erros foram os que eu vi, mas não testei o código. 

Muito obrigado, Allan.

Postado

@Bacanario Você tem que realizar o cálculo do resultado após pegar o valor do usuário.

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

int main() {
    double valor = 0.0;
    double resultado = 0.0;

    char opcao = ' ';

    printf("Digite o valor: ");
    scanf(" %lf", &valor);

    printf("\n"
           "1 - Raiz quadrada \n"
           "2 - Metade \n"
           "3 - 10%% \n"
           "4 - Dobro \n"
           "0 - Cancelar \n"
           "> ");
    scanf(" %c", &opcao);

    switch (opcao) {
        case '0':
            exit(0);
        case '1':
            resultado = sqrt(valor);
            break;
        case '2':
            resultado = valor / 2;
            break;
        case '3':
            resultado = valor * 0.1;
            break;
        case '4':
            resultado = valor * 2;
            break;
        default:
            printf("\nOpção inválida! \n");
            exit(1);
    }

    printf("\nResultado: %.2f \n", resultado);
    return 0;
}

 

  • Amei 1
Postado
9 minutos atrás, AdrianoSiqueira disse:

@Bacanario Você tem que realizar o cálculo do resultado após pegar o valor do usuário.


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

int main() {
    double valor = 0.0;
    double resultado = 0.0;

    char opcao = ' ';

    printf("Digite o valor: ");
    scanf(" %lf", &valor);

    printf("\n"
           "1 - Raiz quadrada \n"
           "2 - Metade \n"
           "3 - 10%% \n"
           "4 - Dobro \n"
           "0 - Cancelar \n"
           "> ");
    scanf(" %c", &opcao);

    switch (opcao) {
        case '0':
            exit(0);
        case '1':
            resultado = sqrt(valor);
            break;
        case '2':
            resultado = valor / 2;
            break;
        case '3':
            resultado = valor * 0.1;
            break;
        case '4':
            resultado = valor * 2;
            break;
        default:
            printf("\nOpção inválida! \n");
            exit(1);
    }

    printf("\nResultado: %.2f \n", resultado);
    return 0;
}

 

Valeu, Adriano. Obrigado mesmo.

  • Curtir 2

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