Informática, perguntado por gabrielyuhi, 1 ano atrás

Seu jogo preferido envolve a atualização de estruturas que demora vários minutos. O jogo informa quantos minutos faltam para terminar a atualização, mas você gostaria de saber exatamente quando é isso para ajustar um alarme.

Faça um programa que lê o dia, hora e minuto atual, além de uma duração em minutos e escreve o resultado da adição da duração com o horário atual.

Para simplificar, suponha que nunca vai ocorrer mudança de mês no processamento.

Entradas (suponha cada valor numa linha):
1. O dia do horário atual (inteiro),
2. a hora do horário atual (inteiro entre 0 e 23),
3. o minuto do horário atual (inteiro entre 0 e 59),
4. a duração em minutos que a atualização precisa para terminar (inteiro).
Saídas:

• O dia, hora e minuto em que a atualização termina.

Exemplo de Entrada:
3
20
12
1911

Exemplo de Saída:
5 4 3


vinivelloso1997: qual a linguagem

Soluções para a tarefa

Respondido por rsps
1
em c#, utilizando timespans para representação dos intervalos:

static void Main(string[] args)
  {    try      {        Console.WriteLine("Digite o dia atual:");        int dia = Convert.ToInt32(Console.ReadLine()); // le do console e converte para inteiro        if (dia <= 0 || dia > 31)        {          Console.WriteLine("Dia Incorreto!");          return;         }               
         Console.WriteLine("Digite a hora atual:");
         int hora = Convert.ToInt32(Console.ReadLine());         if (hora <= 0 || hora > 23)         {           Console.WriteLine("Hora Incorreta!");           return;         }
         Console.WriteLine("Digite o minuto atual:");         int minuto = Convert.ToInt32(Console.ReadLine());         if (minuto <= 0 || minuto > 59)         {           Console.WriteLine("Minuto Incorreto!");           return;         }
         Console.WriteLine("Digite a quantidade de adição em minutos:");         int addMin = Convert.ToInt32(Console.ReadLine());
         TimeSpan toAdd = TimeSpan.FromMinutes(addMin); // converte os minutos para timespan         TimeSpan initial = TimeSpan.FromMinutes((dia * 24 * 60) + (hora * 60) + (minuto)); // converte dia+hora+minuto para minutos e, posteriormente, para timespan         TimeSpan result = initial.Add(toAdd); // soma os timespans
         Console.WriteLine("Data somada: {0} {1}:{2}", (result.Days), (result.Hours), (result.Minutes)); // imprime dia/hora/minutos do timespan
         Console.ReadKey(); // aguarda interacao com teclado       }       catch       {         Console.WriteLine("Erro ao realizar leituras.");         return;       }    }
Perguntas interessantes