Foros del Web » Programación para mayores de 30 ;) » .NET »

Programa C# Reloj

Estas en el tema de Programa C# Reloj en el foro de .NET en Foros del Web. Buenas tengo que hacer una especie de Reloj en C# pero por motivos de trabajo he faltado un par de horas de clase y no ...
  #1 (permalink)  
Antiguo 13/01/2013, 12:22
Avatar de kripal6  
Fecha de Ingreso: mayo-2009
Ubicación: Barna
Mensajes: 5
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta Programa C# Reloj

Buenas tengo que hacer una especie de Reloj en C# pero por motivos de trabajo he faltado un par de horas de clase y no me pude enterar muy bien de como se hace...

Tengo que hacer una aplicacion de consola c# que me pida cuantos minutos y segundos quiero incrementar la hora Actual, a partir de los datos introducidos tiene que empezar a contar hasta que el tiempo que a puesto el usuario acaba.

Requisitos :

-R1: El reloj mostrara hh:mm:ss justificando a la izquiera con 0 en caso de que horas, minutos o segundos sea <10

-R2: Hay que usar TUPLAS para guardar horas minutos y segundos en formato : h, m y s la tupla se llamará "Tiempo"

-R3: Hay que usa la pausa siguiente :
static void Pausa(int segons) {
int x = Environment.TickCount;
while (Environment.TickCount < x + 1000*segons) ; }

-R4: Implementar una funcion llamada IncrementarUnSegundo de la siguente manera :
public static Tiempo IncrementarUnSegundo(Tiempo t)

que devuelve la tupla t incrementada con un segundo.

-R5: Hay que usar una funcion llamada DoIncrementoTiempo(int minutos, int segundos)
que hace la funcion de mostrar, incrementar, mostrar, incrementar tantos segundos como indiquen

-R6: El Main pedirá cuantos minutos y segundos (validados en positivo o cero y entre 0-59) y llamará a la acción indicada en el requisito 5

Finalmente para obtener la hora actual usaremos :
DateTime d = DateTime.Now;
Console.WriteLine(d.Hour);
Console.WriteLine(d.Minute);
Console.WriteLine(d.Second);

De momento tengo :

class Program
{
public struct Tiempo
{
public int h;
public int m;
public int s;
}
static void Main(string[] args)
{
DateTime d = DateTime.Now;
int m=0,s=0;
Tiempo myReloj;
Console.WriteLine("Cuantos Minutos quiere incrementar?");
m = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Cuantos Segundos quiere incrementar?");
s = Convert.ToInt32(Console.ReadLine());
myReloj.m = m;
myReloj.s = s;
}
static void Pausa(int segons) // hace una pasa de "x" segundos
{
int x = Environment.TickCount;
while (Environment.TickCount < x + 1000 * segons) ;
}

public static Tiempo IncrementarUnSegundo(Tiempo t)
{
++t.s;
if (t.s > 60)
{
++t.m;
t.s = 0;
}
if (t.m > 60)
{
++t.h;
t.m = 0;
}
if (t.h > 24 && t.m > 60 && t.s > 60)
{
t.h = 0;
t.m = 0;
t.s = 0;
}
return t;
}

public static Tiempo DoIncrementoTiempo(int horas,int minutos, int segundos)
{
Tiempo incremento;
incremento.h = horas;
incremento.m= minutos;
incremento.s = segundos;
return incremento;
}
}
  #2 (permalink)  
Antiguo 13/01/2013, 12:40
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Programa C# Reloj

Y en donde exactamente te has quedado atascado? En que podemos ayudarte que no entiendas bien?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 13/01/2013, 12:42
Avatar de kripal6  
Fecha de Ingreso: mayo-2009
Ubicación: Barna
Mensajes: 5
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Programa C# Reloj

Cita:
Iniciado por Malenko Ver Mensaje
Y en donde exactamente te has quedado atascado? En que podemos ayudarte que no entiendas bien?
Pues que no se como continuar, me he quedado atascado porque no se devolver la tupla "t" con un segundo de más en la hora del sistema
  #4 (permalink)  
Antiguo 13/01/2013, 12:48
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Programa C# Reloj

Cita:
Iniciado por kripal6 Ver Mensaje
Pues que no se como continuar, me he quedado atascado porque no se devolver la tupla "t" con un segundo de más en la hora del sistema
Para saber más sobre como obtener la hora del sistema y, en general, manipular horas, te aconsejo que te leas la clase DateTime y sus miembros.
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: facil, reloj, sharp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.