Gå til innhold

C#: Trenger masse hjelp til en applikasjon!


Anbefalte innlegg

Hei. Jeg er en nybegynner innen C# og trenger masse hjelp til en relativt enkel applikasjon.

 

Første oppgave er som følger:

 

Trenger å regne differansen mellom to tider, som bli spesifisert av bruker. Dette trenger jeg så å skrive ut til brukeren som et desimaltall.

 

F.eks:

Hvor lang tid går det mellom klokkeslettene 16:00 og 22:15?

Svar: 6.25 timer

 

Oppgave 2:

I textBoxene hvor brukeren skriver inn tidene, ønsker jeg å gi en feilmelding i form av en MessageBox, dersom brukeren skriver inn tidene på et annet formt enn f.eks 16:00.

 

Jeg bruker Visual Studio 2010 hvis det hjelper. Kan forklare mer om prosjektet dersom det hjelper deg å hjelpe meg :p.

Lenke til kommentar
Videoannonse
Annonse

Et "løsningsforslag":

 

static void Main(string[] args)
	{
		Console.WriteLine("Klokkeslett 1 (hh:mm)");
		var l1 = Console.ReadLine();
		Console.WriteLine("Klokkeslett 2 (hh:mm)");
		var l2 = Console.ReadLine();
		var a = DateTime.Parse(l1);
		var b = DateTime.Parse(l2);
		var span = a - b;
		Console.WriteLine(Math.Abs(span.TotalHours));
		Console.Read();
	}

 

Men dette er i bunn og grunn såpass enkle ting at litt Googling og kanskje en C# introduksjonsbok kunne hjulpet i gang.

 

MSDN Library er stedet å gå for komplett referanse av språk og innebygde bibliotek:

http://msdn.microsof...y/618ayhy6.aspx

 

Edit: Oppdaterte koden til å ta user input

Edit2: I forhold til oppgave 2 kan du bruke DateTime.TryParse på TextBox TextChanged eventen og bruke MessageBox.Show() funksjonen til å vise feilmeldingen.

Endret av radivx
Lenke til kommentar

radivx: hva med span == b - a istedefor? *pirke pirke* Da slipper du abs kallet hvis verdiene er korrekt. Og hvem bryr seg vel om å validere inndata? Alle vet jo at det aldri oppstår brukerfeil.

 

Btw;

Console.WriteLine(Math.Abs((DateTime.Parse(Console.ReadLine()) - DateTime.Parse(Console.ReadLine())).TotalHours));

Lenke til kommentar

Nei, pga. Han leser inn verdiene hver for seg og kan selv bestemme rekkefølgen av variablene når det kommer til Matte operasjonen.I eksemplet mitt leser jeg alt i samme linje og kan derfor ikke snu rundt på variablene matte operasjonen.

Du trenger da ikke det :)

Console.WriteLine((-TimeSpan.Parse(Console.ReadLine()) + TimeSpan.Parse(Console.ReadLine())).TotalHours);

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...