Jump to content

Achar a data mais recente


Daniel Abano

Recommended Posts

Boas, tenho um projeto de programação no qual me pede numa determinada função para mostrar a data mais recente(relativamente ás data inseridas numa outra funçao), tenho ja a data numa estutura, assim fiz a soma do dia mês e ano e comparei esse valor da soma com um valor maximo completamente absurdo, tudo funciona mas agora não sei como acho a data a qual a soma do dia mes e ano corresponde.Obrigado

int hora_maximo=999999

for(i=0; i<total_viaturas; i++)
        {
            data=viaturas.dataregisto.ano+viaturas.dataregisto.mes+viaturas.dataregisto.dia

            if(data<hora_maximo)
            {
                hora_maximo=data; 
            }

        }
        printf("\nData mais recente: %d",hora_maximo);

no printf final devia ser suposto aparecer a data mais recente, sendo que precisava de testar se a soma estava a funcionar corretamente entao inseri nono printf hora_max
Ps: Objetivo é mostar a data mais recente depois de a achar atraves da soma e comparacao das mesmas datas inseridas no programa. 

Edited by Daniel Abano
Nao tinha usado a opcao de codigo para inserir o mesmo
Link to comment
Share on other sites

10 horas atrás, Daniel Abano disse:

Boas, tenho um projeto de programação no qual me pede numa determinada função para mostrar a data mais recente(relativamente ás data inseridas numa outra funçao), tenho ja a data numa estutura, assim fiz a soma do dia mês e ano e comparei esse valor da soma com um valor maximo completamente absurdo, tudo funciona mas agora não sei como acho a data a qual a soma do dia mes e ano corresponde.Obrigado


int hora_maximo=999999

for(i=0; i<total_viaturas; i++)
        {
            data=viaturas.dataregisto.ano+viaturas.dataregisto.mes+viaturas.dataregisto.dia

            if(data<hora_maximo)
            {
                hora_maximo=data; 
            }

        }
        printf("\nData mais recente: %d",hora_maximo);

no printf final devia ser suposto aparecer a data mais recente, sendo que precisava de testar se a soma estava a funcionar corretamente entao inseri nono printf hora_max
Ps: Objetivo é mostar a data mais recente depois de a achar atraves da soma e comparacao das mesmas datas inseridas no programa. 

Viva,

Somar Ano, Mês e Dia vai dar origem a uma série de datas com o mesmo valor:

2020 + 01 + 10 = 2031

2020 + 02 + 09 = 2031

2020 + 03 + 08 = 2031

Todas tem o valor de comparação 2031, qual delas é a mais recente?

  • Vote 1
Link to comment
Share on other sites

Alguma solução relativamente ás datas com o mesmo valor?
Comparação das mesmas? 

Por exemplo comparar primeiro o ano, se for igual comparar o mês e se o mês for igual comparar o dia? Isto para as datas cujo o valor da soma seja o mesmo

Neste momento não me importava de saber apenas como mostrar a data cujo obti na soma!
 

Link to comment
Share on other sites

Boas, estou a fazer assim:

Int dia=0,mes=0,ano=0,data,data_maximo=999999999;

for(i=0; i<total_viaturas; i++)
        {
            dia=viaturas[i].dataregisto.dia*10;
            mes=viaturas[i].dataregisto.mes*100;
            ano=viaturas[i].dataregisto.ano*10000;
            if(data<data_maximo)
            {
               data_maximo=data;
            }

        }
        data=ano+mes+dia;
        printf("\nData mais recente: %d",data);

Por exemplo, se inserir a data 27/04/2013 o printf mostra 20130570, sendo que noa esta correto, isto apenas para ver se a soma esta a ser feita corretamente. 

Link to comment
Share on other sites

Boas, ficou da seguinte maneira:

Int dia,mes,ano,data,data_maximo=0;
for(i=0; i<total_viaturas; i++)
        {
            dia=(viaturas[i].dataregisto.dia);
            mes=(viaturas[i].dataregisto.mes)*100;
            ano=(viaturas[i].dataregisto.ano)*10000;
            data=ano+mes+dia;

            if(data>data_maximo)
            {
                data_maximo=data; 
            }

        }
        printf("\nData mais recente: %d",data_maximo);

Penso que ficou resolvido, obrigado

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.