Hjælp til Swift kode

I dette forum kan du stille spørgsmål til Objective-C programmering og udvikling til Apple´s iPhone, iPad og Mac platforme.
Besvar
emilpilaard
Begynder
Indlæg:2
Tilmeldt:25. maj 2018, 13:19
Hjælp til Swift kode

Indlæg af emilpilaard » 25. maj 2018, 13:31

Der var ingen kategori for Swift, så har derfor skrevet indlægget her.

Jeg er i gang med Swift-kursets 3. del om if/else conditionals. Jeg sidder nu med øvelse 1 som hører til videoen, og jeg kan ikke forstå, hvorfor min kode ikke virker. Opgaven går ud på, at jeg skal tilføje en ekstra betingelse, som tjekker om personen er pensioneret. Hvis jeg sætter age variablens værdi til 65, burde den printe "Du er gammel nok, og fordi du er pensioneret, får du rabat." - i stedet printer den "Du er gammel nok". Hvad gør jeg galt?

Kode: Vælg alt

import Cocoa

var age: Int = 65
var minimumAgeForRollercoaster: Int = 12
var maximumAgeForRollercoaster: Int = 70
var retirementAgeForRollercoaster: Int = 60

if age > maximumAgeForRollercoaster {
    print("Du er for gammel.")
} else if age >= minimumAgeForRollercoaster {
    print("Du er gammel nok.")
} else if age >= retirementAgeForRollercoaster {
    print("Du er gammel nok, og fordi du er pensioneret, får du rabat.")
} else {
    print("Du er ikke gammel nok.")
}

Senest rettet af emilpilaard 25. maj 2018, 20:34, rettet i alt 1 gang.

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Hjælp til Swift kode

Indlæg af cristian » 25. maj 2018, 17:54

Hvad er det du forventer der sker, hvor hvad er det rent faktisk der sker?

emilpilaard
Begynder
Indlæg:2
Tilmeldt:25. maj 2018, 13:19

Re: Hjælp til Swift kode

Indlæg af emilpilaard » 25. maj 2018, 20:35

cristian skrev:Hvad er det du forventer der sker, hvor hvad er det rent faktisk der sker?
Ups, det fik jeg aldrig nævn. Som sagt går opgaven ud på, at jeg skal tilføje en ekstra betingelse, som tjekker om personen er pensioneret. Hvis jeg sætter age variablens værdi til 65, burde den printe "Du er gammel nok, og fordi du er pensioneret, får du rabat." - i stedet printer den bare "Du er gammel nok". Hvad gør jeg galt?

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Hjælp til Swift kode

Indlæg af cristian » 26. maj 2018, 09:57

Ændre

Kode: Vælg alt

else if age >= minimumAgeForRollercoaster {
til

Kode: Vælg alt

else if age <= minimumAgeForRollercoaster {
Og se om det afhjælper problemet.

Brugeravatar
Daniel
Admin
Admin
Indlæg:625
Tilmeldt:14. jun 2011, 09:27
Geografisk sted:Danmark, Fyn, Nørre Aaby
Kontakt:

Re: Hjælp til Swift kode

Indlæg af Daniel » 26. maj 2018, 13:19

Når du laver et if else statement, så kigger den på hvert enkelt statement efterhånden, hvis det første statement ikke opfyldes går den videre til nummer 2, opfyldes dette heller ikke, så går den videre til nummer 3, opfyldes nummer 3 så, så går den ikke videre til nummer 4.

Så for at løse dit problem, skal du tjekke om alderen er over 60, før du tjekker om alderen er over 12.

Kode: Vælg alt

if age > maximumAgeForRollercoaster {
    print("Du er for gammel.")
} else if age >= retirementAgeForRollercoaster {
    print("Du er gammel nok, og fordi du er pensioneret, får du rabat.")
} else if age >= minimumAgeForRollercoaster {
    print("Du er gammel nok.")
} else {
    print("Du er ikke gammel nok.")
}

Besvar