Ir para conteúdo
Fórum Script Brasil
  • 0

Converter Horário em Segundos


aninhasilvac

Pergunta

#include<stdio.h>
#include<conio.h>
//#include<locale.h>



int converte (hora,minuto,segundo,total)
{
total= ((hora*3600)+(minuto*60)+(segundo));
return total;

}

int main()
{
int hora;
int minuto; 
int segundo; 
int total;

printf("Digite o horário atual no modelo Hora: Minuto: Segundo:\n");
scanf ("%d", &hora);
scanf ("%d", &minuto);
scanf ("%d", &segundo);

printf("\nO horário atual em segundos: \n\n%d", converte(total));
}


Estou tentando converter o horario que o usuario digita em segundos, podem da um erro na linha :
int converte (hora,minuto,segundo,total)

E eu não consigo compilar 
alguém consegue me ajudar? 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

 

Sou inciante em C, mas acho que posso dar uma força . . .

 

Eu vi que você cometeu alguns equívocos:

 

1 - quando você declara uma função, você tem de especificar que tipo de valor a mesma irá retornar, neste caso ( int converte() ) tá ok, mas ao declarar os parâmetros da função ( hora, minutos, segundo, total ) você também precisa declarar qual o tipo de cada parâmetro, sendo assim ( int hora, int minutos, int segundo, int total )

 

2 - quando você quer chamar ( usar uma função ) principalmente as que devolvem ( retornam ) algum valor, existe algumas formas que você pode usar para manipular o valor retornado por uma função:

 

- ou você armazena o valor de retorno da função em uma variável a qual chamará a sua função:

 

int main()

{

    int total = 0;

    total = converte ( hora, minuto, segundo );

}

 

- ou você pode exibir diretamente o valor desejado, desde que seja compatível com a ação desejada, neste caso o valor retornado pela função converte() é usado como argumento para a função printf():

 

int main()

{

    printf ( “\nO tempo total em segundos é: %d ”, converte ( hora, minuto, segundo ) );

}

 

3 - quando você vai chamar uma função você deve passar para ela todos os argumentos de que a mesma precisa, ou seja, se você declarou uma função com 4 variáveis, as 4 variáveis precisam ser passadas ao chamar a função, sendo assim:

 

printf ( "\nO horario atual em segundos é: %d", converte ( total ) ); vai retornar uma erro, dizendo que a função está sendo chamada com poucos argumentos, você deve passar os valores correspondentes as variáveis que você declarou dentro de main() podendo manipular o valor de retorno das 2 formas como lhe expliquei acima:

 

printf ( "\nO horario atual em segundos é: %d", converte ( hora, minuto, segundo ) );

 

4 - se voce desejar:

 

- a sua variavel int total; pode ser declarada apenas dentro da função converte(); e ela armazenará o valor antes da função retorna-la ( return total; )

 

- ou voce não declara a funcao total, e retorna apenas o valor em si:  return ( ( hora * 3600 ) + ( minuto * 60 ) + ( segundo ) );

 

Bom por hora é só, qualquer coisa é só falar . . .

 

Ubuntu 14.04 LTS   -   MonoDevelop 4.0.12    -   Code block 13.12

 

Espero Ter Ajudado ! ! !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...