Ir ao conteúdo

Posts recomendados

Postado

Bom pessoal, eu preciso desenvolver um algoritmo que determine o inicio de um evento em data, e hora, o final do evento, e tire a media, ou seja, a duração do evento, porém eu preciso fazer isso sem biblioteca, alguem poderia me dar uma luz, não tenho que definir o ano, o evento ele pode começar no ano 1500 e terminar em 2019 por exemplo.

  • Curtir 2
Postado

@RockMagicRevived Olá. Para resolver um exercício como esse seria preciso usar a lógica mesmo para converter a quantidade de anos em dias e horas.

Veja um exemplo d um código q calcula a quantidade de dias desde o início de um ano a partir da data informada:

#include <iostream>
using namespace std;

int main(void) {

    int d_mes[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int dia, mes, ano, total;

    cout << "Informe a data no formato dd mm aaaa: ";
    cin >> dia >> mes >> ano;

    if (((!(ano % 4) && ano % 100)) || !(ano % 400))
        d_mes[1] = 29; // ano bissexto

    total = dia;

    for (int i = 0; i < mes - 1; i++)
        total += d_mes[i];

    cout << endl;

    cout << "Total de dias transcorridos desde o inicio do ano: " << total << endl;

    return 0;
}

Com esse código você vai ter, pelo menos, um ponto de partida para criar seu código de acordo com o enunciado

Espero q ajude!

Postado

@RockMagicRevived Olá. Boa essa pergunta. 

É um vetor onde em cada posição está a quantidade de dias de cada mês. E esse vetor se refere q quantidade de dias de todos os meses do ano

Por exemplo: O primeiro elemento do vetor é 31, que é referente ao mês de Janeiro (quantidade de dias do mês de Janeiro). Depois Fevereiro (28 dias), Março (31 dias) , Abril (30 dias), etc...

Basicamente seria isso.

Se deu p entender ok! Se ainda ficou alguma dúvida é só perguntar 

Postado

@giu_d Eu não posso utilizar vetor na questão, tem uma forma sem vetor de eu fazer? Pois o professor quer que a gente faça com o que sabemos até agora, e no caso, ele deu estruturas de repetição como ultimo assunto, função, vetor, matriz etc, são os ,proximos

Postado

Olá. Procurei com o código q postei acima apenas dar um "ponto d partida" p q o @RockMagicRevived resolva o exercício.

Logo, se alguém tiver alguma sugestão d como resolver o exercício referente a esse tópico fique a vontade p postar.

Já é preciso levar em consideração o q o @RockMagicRevived informou:

 

13 horas atrás, RockMagicRevived disse:

Pois o professor quer que a gente faça com o que sabemos até agora, e no caso, ele deu estruturas de repetição como ultimo assunto, função, vetor, matriz etc, são os ,proximos

:thumbsup:

Postado
18 horas atrás, RockMagicRevived disse:

Eu não posso utilizar vetor na questão, tem uma forma sem vetor de eu fazer?

Sim há! Use switch case: seletor terá o efeito (com mais linhas) de arranjo com mais linhas sem arranjo.

 

    char data__mes_pra_dias, data__mes_corrente;

    data__mes_corrente =  1;  /* 1- janeiro */
    switch (data__mes_corrente){
        case 1 : data__mes_pra_dias =  31;
                 break;  /* mês de janeiro está 30 dias */
        ...
        }

/switchtutorialspoint.com/

 

Postado

@RockMagicRevived Olá. Seguindo o ótima maneira de resolver esse exercício q postei acima sem vetor dada pelo @AnsiC

daria para fazer algo assim:

#include <iostream>
using namespace std;

int main(void) {

    int total, mes_para_dia, i;
    int dia, mes, ano, mes_2;
    int hora, total_hora;

    cout << "Digite a data atual no formato dd mm aaaa: ";
    cin >> dia >> mes >> ano;

    mes_2 = (((!(ano % 4) && ano % 100)) || !(ano % 400)) ? 29 : 28;

    total = dia;

    for (i = 1; i < mes; i++) {

        switch (i)
        {
            case  1: mes_para_dia = 31; break;
            case  2: mes_para_dia = mes_2; break;
            case  3: mes_para_dia = 31; break;
            case  4: mes_para_dia = 30; break;
            case  5: mes_para_dia = 31; break;
            case  6: mes_para_dia = 30; break;
            case  7: mes_para_dia = 31; break;
            case  8: mes_para_dia = 31; break;
            case  9: mes_para_dia = 30; break;
            case 10: mes_para_dia = 31; break;
            case 11: mes_para_dia = 30; break;
       }
       total += mes_para_dia;
    }

    cout << endl;

    cout << "Quantidade de dias transcorridos desde o inicio do ano: " <<  total << endl;

    return 0;
                                                                                       
}

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!