Ir ao conteúdo
  • Cadastre-se
Robson Monteiro1997

C Alguém poderia me ajudar ? - Linguagem C exercício.

Recommended Posts

Boa tarde, estou com dificuldade em fazer o algoritmo de um exercício funcionar, está compilando, porém o resultado está errado.

 

Exercício 02:

Faça um programa que receba uma hora formada por hora e minutos (um número real), calcule e mostre a hora digitada apenas em minutos.

Considere que: para quatro e meia (4:30), deve-se digitar 4.30;  para quatro e cinquenta (4:50), deve-se digitar 4.50; os minutos vão de 0 até 59.

 

 

~~~~~~~~~~~~~~~~

 

 

 

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

int main()
{

    float hora, min;
    printf("Digite o valor referente a hora e minutos:\n");
    scanf("%f:%f",&hora,&min);
    hora = (hora)*(60)+min;
    printf("Hora convertida em minutos e de:\n %f%f", hora,min);
    return 0;

}
 

Desde já, muito obrigado.

 

 

ajuda.png

ajuda2.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde @Robson Monteiro1997

 

Segue o código com correção e comentários

 

 

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

int main()
{

    float hora, min, convertido; //criado uma nova variavel
    printf("Digite o valor referente a hora e minutos:\n");
    scanf("%f:%f",&hora,&min);
    convertido = (hora*60)+min; //colocado a terceira variavel para receber o  resultado da formula
    printf("Hora convertida em minutos e de:\n %0.0f minutos", convertido); //só é necessario exibir uma variavel, no caso a variavel "convertido" e eu tomei a liberdade de tirar os numeros depois da virgula com o %0.0f
    return 0;

}
 

 

Espero ter lhe ajudado :D

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use variáveis inteiras (int) ao invés de ponto flutuante (float), e use %d ao invés de %f no scanf e no printf.

Você está imprimindo as 2 variáveis hora e min no fim do programa, mas o total em minutos está na variável hora apenas.

adicionado 2 minutos depois

@Leonardo0308 A entrada de dados deve ser digitada como 2.40, então se usar %f vai ler e guardar em apenas uma variável.

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não havia visto que era necessário ser "2.40" e nessa logica realmente vale a pena colocar int em vez de float, segue a correção da correção

 

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

int main()
{

    int hora, min, convertido; //Tipo da variavel modificado
    printf("Digite o valor referente a hora e minutos:\n");
    scanf("%d.%d",&hora,&min); //%f substitido por %d pois virou int e o : substituido por .
    convertido = (hora*60)+min; 
    printf("Hora convertida em minutos e de:\n %d minutos", convertido); //%f substitido por %d pois virou int
    return 0;

}

 

 

  • Curtir 1
  • Amei 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

×