Ir ao conteúdo

Posts recomendados

Postado

Preciso fazer um programa que transforme minutos em horas e minutos ultilizando função e ponteiro.

Só conseguir chegar até aquim alguem pode me ajudar? Nao sei onde usar o ponteiro no int main

#include <iostream>
using namespace std;

    void hm( int minutos, int *h){
        *h=minutos/60;
        minutos=minutos/60;
        
    }
    void hmm(int minutos, int*m){
        *m=(minutos- minutos)%60;
        
    }
    
    int main (){
        
        int minutos, *h, *m;
        cin >> minutos;
        
        h=hm(minutos, h);
        m=hmm(minutos, m);
        
        cout << h << ":" << m << endl;
        
        return 0;
    }

Postado

Isso mesmo, primeiro fiz uma função onde eu transforma hora para minutos, depois fiz outra função onde defini o "novo " minutos. Por exemplo: 61 minutos seria 1 hora e 1 minuto.

no int main eu chamei as funções. porém eu preciso usar ponteiros e eu nao to sabendo fazer isso nesse programa. 

Postado

A transformação de unidades é coisa muito simples de se fazer. A sua função que transforma as unidades de tempo tem que solicitar 3 argumentos, ou seja, ela tem 3 parâmetros:

  1. Total de minutos ( que serão convertidos em horas e minutos restantes das horas )
  2. horas ( tiradas de Total de minutos )
  3. minutos ( restante da tiragem de horas em total de minutos )
void hm( int total_minutos, int * horas, int * minutos )
{
  (* horas)=   /* total de horas */
  (* minutos)= /* minutos restantes */
}

Dentro dessa função faz-se-ás transformações de unidades.

 

Você entendeu?

Postado
1 minuto atrás, AnsiC disse:

A transformação de unidades é coisa muito simples de se fazer. A sua função que transforma as unidades de tempo tem que solicitar 3 argumentos, ou seja, ela tem 3 parâmetros:

  1. Total de minutos ( que serão convertidos em horas e minutos restantes das horas )
  2. horas ( tiradas de Total de minutos )
  3. minutos ( restante da tiragem de horas em total de minutos )

void hm( int total_minutos, int * horas, int * minutos )
{
  (* horas)=   /* total de horas */
  (* minutos)= /* minutos restantes */
}

Dentro dessa função faz-se-ás transformações de unidades.

 

Você entendeu?

eu entendi, o que to com duvda é como usar os ponteiros no int main

Postado

Você coloca o sinal ampersand  antes do identificador da variável

3 minutos atrás, Rafael350 disse:

hm( total_minutos, &horas, &minutos )

 

Postado

eu faço isso e da erro

segue o programa 

#include <iostream>
using namespace std;

    void hm( int minutos, int *h){
        *h=minutos/60;
        
    }
    void hmm(int minutos, int*m){
        *m=minutos%60;
        
    }
    
    int main (){
        
        int minutos, *h, *m;
        cin >> minutos;
        
        *h=hm(minutos, &h);
        *m=hmm(minutos, &m);
        
        cout << h << ":" << m << endl;
        
        return 0;
    }

Postado
agora, Rafael350 disse:

 int minutos, *h, *m;

Tire os asteriscos 😣 são variáveis e não ponteiros.

adicionado 1 minuto depois
2 minutos atrás, Rafael350 disse:

*h=hm(minutos, &h);
        *m=hmm(minutos, &m);

Isso também não pode, sua funções são do tipo void (sem retorno). Você precisa ler mais.

Postado

 

continua dando erro. tenta compilar ai.

#include <iostream>
using namespace std;

    void hm( int minutos, int *h){
        *h=minutos/60;
        
    }
    void hmm(int minutos, int*m){
        *m=minutos%60;
        
    }
    
    int main (){
        
        int minutos, h, m;
        cin >> minutos;
        
        h=hm(minutos, &h);
        m=hmm(minutos, &m);
        
        cout << h << ":" << m << endl;
        
        return 0;
    }

Postado

Obvio que vai dar erro! Seu problema é mais que passagem de valores. Eu recomendo que espere por alguem mais paciente para te explicar de quantas formas diferentes você esta errando.

 

 

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