Gå til innhold

Anbefalte innlegg

Hei!

 

Lurte på om noen kunne hjelpe meg med en oppgave.

 

"Lag en webside som skal ta imot antall sekunder i en tekstboks. Utskriften på etikketen skal være:

<sekunder totalt> sekunder tilsvarer: <timer> timer, <minutter> minutter og <sekunder> sekund."

 

Når man f.eks skal gjøre om miles til km, knop til km/t osv. Hvordan setter man opp koden?

Lenke til kommentar
Videoannonse
Annonse

Dette er grunnleggende matematikk:

Hvis du har x antall sekunder som utgangspunkt, er antall timer x delt på 3600 rundet ned. Resten fra denne divisjonen ganger 60 (rundet ned) gir antall minutter. Resten fra denne multiplikasjonen ganger 60 gir antall sekunder.

 

Hvis du vil konvertere en verdi fra en målestokk til en annen, slår du opp hvor mye en enhet i målestokken du starter med tilsvarer i den andre. Hvis du ganger verdien du har med dette tallet vil du få den tilsvarende mengden i den andre målestokken. Så hvis jeg vil finne ut hvor mange kilometer 3 miles er, søker jeg f.eks på Wikipedia, finner at en mile tilsvarer 1.609344 kilometer, og regner ut at det blir 3 * 1.609344 = 4.828032.

Lenke til kommentar

Syntax burde dere klare selv :)

 

Enkelt eksempel i python, som dere bare kan omskrive:

>>> totalt_sekunder = 57489
>>> timer = totalt_sekunder / (60*60)
>>> minutter = (totalt_sekunder - timer*60*60) / 60
>>> sekunder = totalt_sekunder - (timer*60*60) - (minutter*60)
>>> print "%d timer, %d minutter og %d sekunder" % (timer, minutter, sekunder)
15 timer, 58 minutter og 9 sekunder

Lenke til kommentar

Det forrige eksempelet mitt var kanskje litt for generelt...

 

int sekunder = 57489;
int minutter = sekunder / 60;
int timer = minutter / 60;
sekunder = sekunder % 60;
minutter = minutter % 60;

 

Her er det brukt modulo (%) som det kan være greit å lære seg først som sist.

 

Edit:

 

Sikkert ikke egnet for oppgave, men .net har utrolig mange fine innebygde biblioteker for ymse oppgaver...

 

TimeSpan t = TimeSpan.FromSeconds(57489);

String tid = string.Format("{0:D2}:{1:D2}:{2:D2}", t.Hours, t.Minutes, t.Seconds);

Endret av pifler
Lenke til kommentar
  • 1 måned senere...

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class NewFolder1_Test_TallSpill_Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

 

}

protected void BtnRegnUt_Click(object sender, EventArgs e)

{

int input = Convert.ToInt32(Txtsek.Text);

int fraTimerTilSek = input / 3600;

int tilovers = (input % 3600) / 60;

int sekunder = (input % 3600) - (tilovers * 60);

 

LabResultat.Text = input + " sekunder tilsvarer " + fraTimerTilSek + " timer, " + tilovers + " minutter og " + sekunder + " sekunder ";

 

 

}

}

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...