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
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; } }
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
Matemática,
10 meses atrás
Matemática,
10 meses atrás
Português,
10 meses atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás