EirikYeah Skrevet 11. november 2012 Del Skrevet 11. november 2012 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 . Lenke til kommentar
radivx Skrevet 11. november 2012 Del Skrevet 11. november 2012 (endret) 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 11. november 2012 av radivx Lenke til kommentar
Hayer Skrevet 15. november 2012 Del Skrevet 15. november 2012 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
GeirGrusom Skrevet 15. november 2012 Del Skrevet 15. november 2012 radivx: hva med span == b - a istedefor? *pirke pirke* Da slipper du abs kallet hvis verdiene er korrekt. Console.WriteLine(Math.Abs((DateTime.Parse(Console.ReadLine()) - DateTime.Parse(Console.ReadLine())).TotalHours)); Så du gikk imot din egen anbefalning når du la inn et eksempel? Lenke til kommentar
Hayer Skrevet 15. november 2012 Del Skrevet 15. november 2012 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. Lenke til kommentar
GeirGrusom Skrevet 15. november 2012 Del Skrevet 15. november 2012 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
Hayer Skrevet 16. november 2012 Del Skrevet 16. november 2012 ah, selvfølgelig. Føler meg dum på at jeg ikke bare snudde det der.. Skylder på lite kaffe Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå