Permalänk
Vägledare

Hjälp med Väldigt enkel kod

Så, då har jag nått min första inlämningsuppgift men dum som man är så antog man att all kurslitteratur fanns tillgänglig under "Mina läromedel", vilket den såklart inte gjorde. Hur som helst så är boken Programmering 1 med C# beställd för någon dag sedan men den har fortfarande inte kommit och därför efterfrågar jag absolut nybörjarhjälp.

Uppgiften går ut man att programmet efterfrågar namn och ålder. Efter det ska programmet beroende på hur många år du har kvar till pensionen skriva ut en text.
Jag antar att det är if-satsen som ska användas för att skriva ut olika texter beroende på antalet år kvar till pension men det jag inte förstår är hur jag ska göra så att endast åldern tas i beräkning när man t.ex. skriver in "Sven Svensson 47".

Det jag behöver är en hjälpande hand för att komma igång och inte nödvändigtvis att någon skriver hela koden så jag bara kan kopiera den

Permalänk
Medlem
Skrivet av Miikks:

Så, då har jag nått min första inlämningsuppgift men dum som man är så antog man att all kurslitteratur fanns tillgänglig under "Mina läromedel", vilket den såklart inte gjorde. Hur som helst så är boken Programmering 1 med C# beställd för någon dag sedan men den har fortfarande inte kommit och därför efterfrågar jag absolut nybörjarhjälp.

Uppgiften går ut man att programmet efterfrågar namn och ålder. Efter det ska programmet beroende på hur många år du har kvar till pensionen skriva ut en text.
Jag antar att det är if-satsen som ska användas för att skriva ut olika texter beroende på antalet år kvar till pension men det jag inte förstår är hur jag ska göra så att endast åldern tas i beräkning när man t.ex. skriver in "Sven Svensson 47".
Eller ska dessa skrivas på olika rader?

Det jag behöver är en hjälpande hand för att komma igång och inte nödvändigtvis att någon skriver hela koden så jag bara kan kopiera den

Det är fullt möjligt att plocka ut tecken baserat på mönster från en text men jag kan inte tänka mig att uppgiften kräver det.
Hämta ut värden två gånger. En för namn och en för ålder.

Lite tråkigt att du hakar upp dig på uppgiften istället för logiken (jag menar inte att det är ditt fel). Är du säker på att det är så otydligt specifierat i uppgiften?

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk

Jag kan inte C# men kan du inte bara ta pensionsålder minus variabeln som innehåller användarens ålder?

Permalänk
Vägledare

@Leedow: Har har tänkt på det men det framgår inte i uppgiften. Kanske är det jag som gör det för svårt

Permalänk
Keeper of Traditions
Skrivet av Miikks:

@Leedow: Har har tänkt på det men det framgår inte i uppgiften. Kanske är det jag som gör det för svårt

Du kan väl läsa in två gånger istället för en. Läs först in namnet och spara i en sträng, läs sedan in åldern och spara i en annan variabel. Sen är det bara att köra en enkel switch-sats för att skriva ut olika text beroende på åldern.

Visa signatur

|| Intel 8700K || Asus RTX 4070 TI Super TUF || Samsung 750 EVO 500GB & Kingston A2000 1TB & Samsung 960 EVO 250GB || Corsair RM 850x || Antec P183 || Asus G-Sync RoG Swift PG279Q || Dell XPS 15 || Thinkpad X220

The Force is like Duct Tape, it has a light side, a dark side, and holds the universe together.

Permalänk
Medlem

Nu har jag inte programmerat på år och dagar, att jag satt med Actionscript kanske kan förklara en hel del

Men som jag ser det så behöver du väl bara följande variabler:
namn
ålder
pensionsålder (65)

Antar att du kommer göra någon enkel variant av ett formulär eller liknande, där namnet skrivs in i variabeln för namn och samma sak med ålder.
När du sedan vill plocka ut hur många år det är kvar till pension så är det bara att lägga i texten: "Sven Svensson har (pensionsålder - ålder) år kvar till pension. Vill du göra det riktigt fint här så kan du även kolla med en if-sats om åldern är 65 eller högre så skrivs det t.ex. ut "Grattis Sven Svensson, du har redan gått i pension!"

Otroligt basic, vet inte riktigt om jag tillför något till det du behöver veta, men man kan alltid hoppas att man är till hjälp någonstans

Visa signatur

:: Fractal Design Define 7 :: ASUS Prime Z490-A :: Intel i9 10900K @ 5 GHz :: Corsair 32GB RAM @ 3600Mhz CL18 :: Kingston A2000 1TB M2 :: MSI RTX 3080 Gaming X Trio... :: Seasonic Focus PX 750W 80+ Platinum :: Noctua NH-D15 chromax.black ::

Permalänk

I det här fallet verkar det onödigt att läsa in namn och ålder samtidigt, har en variabel för båda!

Alltså att man måste skriva in två gånger, först frågar du efter namnet, sparar det dem skriver i en variabel, sedan frågar du personen att skriva i åldern.

Ibland kan det vara bra att bara skriva ner uppgiften i naturligt språk, alltså inte kod, pseudokod som det kallas. För den hör uppgiften skulle det tex kunna se ut så här

(string) namn
(int) ålder (int)
(int) pension = 65

namn = från användare
ålder = frun användare

tidkvar = pension - ålder

Om tidkvar <30
Medelande, Hej namn, du har lång tid kvar att arbeta
Om tidkvar > 5
Medelande, Hej namn, du är snart där
OSV...

När du skrivit upp alla uppgifter är det bara att översätta det till programmering! Tex, hur man hämtar information ifrån input, hur man skriver till konsolen och så vidare. Men jag tror du är på rätt spår, bara att du gör det lite svårare för dig själv

Permalänk
Hedersmedlem
Skrivet av gunnarviking:

I det här fallet verkar det onödigt att läsa in namn och ålder samtidigt, har en variabel för båda!

Alltså att man måste skriva in två gånger, först frågar du efter namnet, sparar det dem skriver i en variabel, sedan frågar du personen att skriva i åldern.

Ibland kan det vara bra att bara skriva ner uppgiften i naturligt språk, alltså inte kod, pseudokod som det kallas. För den hör uppgiften skulle det tex kunna se ut så här

(string) namn
(int) ålder (int)
(int) pension = 65

namn = från användare
ålder = frun användare

tidkvar = pension - ålder

Om tidkvar <30
Medelande, Hej namn, du har lång tid kvar att arbeta
Om tidkvar > 5
Medelande, Hej namn, du är snart där
OSV...

När du skrivit upp alla uppgifter är det bara att översätta det till programmering! Tex, hur man hämtar information ifrån input, hur man skriver till konsolen och så vidare. Men jag tror du är på rätt spår, bara att du gör det lite svårare för dig själv

Det var mig en lustig if-sats men jag antar det är principen du vill visa?

Permalänk
Medlem
Skrivet av Shimonu:

Det var mig en lustig if-sats men jag antar det är principen du vill visa?

Om du råkar ha excel på svenska och skriver makron så skriver du "om", fulaste jag sätt!

Visa signatur

MS-7673 | i5-2500K @ 4.4Ghz | GTX 670 @ ~1.3GHz | Corsair 24GB VENGEANCE LP | Corsair AX 860W 80+ Platinum | Fractal Design R4

Permalänk
Hedersmedlem
Skrivet av djwalle:

Om du råkar ha excel på svenska och skriver makron så skriver du "om", fulaste jag sätt!

Jag tänkte mer på att om tidkvar var större än 5 så var man snart där. Till exempel.

Med den if-satsen kan man ha 1 år kvar men den kommer skriva att man har lång tid kvar. "tidkvar < 30" är det första som kollas.

Permalänk
Keeper of Traditions
Skrivet av djwalle:

Om du råkar ha excel på svenska och skriver makron så skriver du "om", fulaste jag sätt!

Det var nog logiken i if-satsen som var lustig och inte ordvalet

Visa signatur

|| Intel 8700K || Asus RTX 4070 TI Super TUF || Samsung 750 EVO 500GB & Kingston A2000 1TB & Samsung 960 EVO 250GB || Corsair RM 850x || Antec P183 || Asus G-Sync RoG Swift PG279Q || Dell XPS 15 || Thinkpad X220

The Force is like Duct Tape, it has a light side, a dark side, and holds the universe together.

Permalänk
Medlem
Skrivet av Shimonu:

Jag tänkte mer på att om tidkvar var större än 5 så var man snart där. Till exempel.

Med den if-satsen kan man ha 1 år kvar men den kommer skriva att man har lång tid kvar. "tidkvar < 30" är det första som kollas.

Skrivet av Dunder:

Det var nog logiken i if-satsen som var lustig och inte ordvalet

Jaha, jag läste visst inte så noga

Visa signatur

MS-7673 | i5-2500K @ 4.4Ghz | GTX 670 @ ~1.3GHz | Corsair 24GB VENGEANCE LP | Corsair AX 860W 80+ Platinum | Fractal Design R4

Permalänk
Skrivet av Shimonu:

Det var mig en lustig if-sats men jag antar det är principen du vill visa?

Ja precis! Inte helt optimalt kanske, men någonstans ska man börja

Edit,

Var visst lite snabb med mina krokodiler med! Tvärt om ska det givetvis vara

Permalänk
Medlem
Skrivet av Miikks:

Så, då har jag nått min första inlämningsuppgift men dum som man är så antog man att all kurslitteratur fanns tillgänglig under "Mina läromedel", vilket den såklart inte gjorde. Hur som helst så är boken Programmering 1 med C# beställd för någon dag sedan men den har fortfarande inte kommit och därför efterfrågar jag absolut nybörjarhjälp.

Uppgiften går ut man att programmet efterfrågar namn och ålder. Efter det ska programmet beroende på hur många år du har kvar till pensionen skriva ut en text.
Jag antar att det är if-satsen som ska användas för att skriva ut olika texter beroende på antalet år kvar till pension men det jag inte förstår är hur jag ska göra så att endast åldern tas i beräkning när man t.ex. skriver in "Sven Svensson 47".

Det jag behöver är en hjälpande hand för att komma igång och inte nödvändigtvis att någon skriver hela koden så jag bara kan kopiera den

En snabb överblick du kan följa.

variabel namn LIKA MED input
variabel ålder (kommer behöva parsas någonstans dvs. göras om till en integer) LIKA MED input

OM ålder UNDER 65

Skriv text + (65 minus ålder)

Om du vill att allt ska skrivas på samma rad behöver du använda någonting som kallas för regex. Det handlar om datalogi, egentligen.
Den skulle se ut såhär för att få ut siffror: "\d+". Men jag tvivlar på att det behövs i ditt program.