aninhasilvac Postado Junho 5, 2016 Denunciar Share Postado Junho 5, 2016 #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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Junho 6, 2016 Denunciar Share Postado Junho 6, 2016 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 ! ! ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
aninhasilvac
#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
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.