Mr.Anki Skrevet 12. februar 2010 Del Skrevet 12. februar 2010 Hei, Skal lage en enkel funksjon i VWD C#. Funksjonen skal konvertere tommer til centimerer ( 1 tomme = 2.54 cm) Så lang har jeg: private float FraTommerTilCm(float tommer) { } protected void btnBeregn_Click(object sender, EventArgs e) { txtInput.Text = Convert.ToInt32(txtInput); } Men trenger litt videre veiledning. Lenke til kommentar
Vial Skrevet 12. februar 2010 Del Skrevet 12. februar 2010 Denne tror jeg du hadde løst uten å spørre om hjelp men iallfall, funksjonen din skal returnere tommer * 2.54. Til dette bruker du det reserverte ordet return. Lenke til kommentar
Mr.Anki Skrevet 12. februar 2010 Forfatter Del Skrevet 12. februar 2010 Fant ut av det Lenke til kommentar
Mr.Anki Skrevet 17. februar 2010 Forfatter Del Skrevet 17. februar 2010 Hei, Har en annen oppgave her nå. Skal lage en funksjon som finner ut hvilken ukedag en gitt dato i 2010 er. Skjermbilde mitt består av to tekst felt, dato og nr på måneden. I tillegg en knapp og en label for utskriften. Men sliter med å starte kodeningen. Oppgave teksten; Når du trykker knappen skal programmet kalle en funksjon med dato og månedsnr, og returnerer ukedagen. Private function string ukedag(int dato, int mndNr) Du må første regne deg fram til hvilket nr. dagen har i året, f.eks: if (mndNr= =3) { dagnr = 31+28+dato) } Vi vet at 1. januar var en fredag og kan bruke modulus funksjonen til å finne ukedag ved å si: if (dagnr % 7 = = 1) return ”fredag”; if (dagnr % 7 = = 2) return ”lørdag”, osv. Hva må jeg starte med etter: Private function string ukedag(int dato, int mndNr) { } Noen som kan gi litt starthjelp? Lenke til kommentar
Senyor de la guerra Skrevet 17. februar 2010 Del Skrevet 17. februar 2010 (endret) Både ja og nei. Har en kode som regner ut noe annet, men har en innebygd kalender: clear ukedag = 1-1; ukedag = ukedag + 365; %% pga 2001 ukedag = mod(ukedag, 7); %% pga 2001 dagnr = 0; teller = 0; skudd = false; for aar = 1901:2000 if mod(aar, 4) == 0 skudd = true; if mod(aar, 100) == 0 if mod(aar, 400) != 0 skudd = false; end end else skudd = false; end for maaned = 1:12 if maaned == 1 dager = 31; elseif maaned == 2 if skudd == false dager = 28; else dager = 29; end elseif maaned == 3 dager = 31; elseif maaned == 4 dager = 30; elseif maaned == 5 dager = 31; elseif maaned == 6 dager = 30; elseif maaned == 7 dager = 31; elseif maaned == 8 dager = 31; elseif maaned == 9 dager = 30; elseif maaned == 10 dager = 31; elseif maaned == 11 dager = 30; else dager = 31; end for dag = 1:dager dagnr = dagnr + 1; ukedag = ukedag + 1; if ukedag == 8 ukedag = 1; end if (ukedag == 7 && dag == 1) teller = teller + 1; end end end end teller Er ikke i C#, men er veldig oversiktlig og kan nesten leses som pseudokode. Endret 17. februar 2010 av Senyor de la guerra Lenke til kommentar
miXer Skrevet 18. februar 2010 Del Skrevet 18. februar 2010 sågodt som nesten alt av kode du trenger står i teksten. Du må begynne med funksjonen: private string ukedag(int dato, int mndNr) { int antallDager = 0; if (mndNr == 1) antallDager = dato; else if (mndNr == 2) antallDager = 31 + dato; if ((antallDager % 7) == 1) return "fredag"; else if ((antallDager % 7) == 2) return "lørdag"; } o.s.v. Lenke til kommentar
GeirGrusom Skrevet 18. februar 2010 Del Skrevet 18. februar 2010 [DateTime].DayOfWeek? Lenke til kommentar
Mr.Anki Skrevet 18. februar 2010 Forfatter Del Skrevet 18. februar 2010 Poenget er at jeg skal lage funksjonen selv, ikke bruke noe som allerede ligger inne. Lenke til kommentar
GeirGrusom Skrevet 18. februar 2010 Del Skrevet 18. februar 2010 http://en.wikipedia.org/wiki/Calculating_the_day_of_the_week Lenke til kommentar
Vial Skrevet 18. februar 2010 Del Skrevet 18. februar 2010 (endret) Det virker som oppgaven legger opp til hardkoding. Sånt liker vi dårlig men sjelden man slipper unna. Har du lært om arrays? Du kan unngå myyyye hardkoding hvis du plasserer månedsverdiene og ukedagene i en array. Lag en løkke men ikke iterer lenger enn verdien i mndNr og pluss på dato antall dager i måneden. Så bruker du return for å hente ukedagen. Hele funksjonen kan skrives på 5 linjer. Endret 18. februar 2010 av Vial 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å