Permalänk
Medlem

Loop i c#

Hej! Jag tror jag behöver göra en loop men är inte riktigt helt säker. Jag har en klass där jag anger person med födelsedatum namn, lön osv. Jag ska sedan göra en funktion för att räkna ut bonusen denne får varje år. Bonusen i det här fallet ska vara: om personen är 41 år eller över ska den få +2000 i bonus per år. Så vid 41 ska personen få 2000, vid 42: 4000 och vid 43: 6000 osv. Att räkna ut åldern kan jag ju göra genom att ta 2017 - birth (birth är födelsedatumet). Men hur ska jag göra för att den ska öka 2000 varje år och den börjar enbart vid 41? Ska jag använda mig av nån typ av for loop och en if-sats eller hur ska jag göra?

Permalänk
Medlem

det enklaste i min mening, om det ar en linjar okning, ar att ge en bonus pa (alder-40)*2000 om det ar >0

Visa signatur

Case: Phanteks Enthoo Luxe PSU: EVGA SuperNova G2 750W MoBo: ASUS X99 Deluxe CPU: Intel Core i7 5820K RAM: Crucial Ballistix Sport 32GB DDR4 2400 Mhz GPU: 2x MSI GTX970 Gaming 4GB Cooling: Noctua NH-D15 SSD: Samsung 950 pro 512GB & Samsung 850 EVO 250GB

Permalänk
Inaktiv

if (age <= 40) bonus = 0; else bonus = (age - 40) * 2000;

eller missar jag något?

Permalänk
Medlem
Skrivet av BellaB:

Hej! Jag tror jag behöver göra en loop men är inte riktigt helt säker. Jag har en klass där jag anger person med födelsedatum namn, lön osv. Jag ska sedan göra en funktion för att räkna ut bonusen denne får varje år. Bonusen i det här fallet ska vara: om personen är 41 år eller över ska den få +2000 i bonus per år. Så vid 41 ska personen få 2000, vid 42: 4000 och vid 43: 6000 osv. Att räkna ut åldern kan jag ju göra genom att ta 2017 - birth (birth är födelsedatumet). Men hur ska jag göra för att den ska öka 2000 varje år och den börjar enbart vid 41? Ska jag använda mig av nån typ av for loop och en if-sats eller hur ska jag göra?

Lättast är att göra det med en if-sats. Hint: ((2017-birth_year)-40)

Permalänk
Medlem

Nej det stämde! Trodde att det skulle vara svårare än vad det faktiskt var. Tack för Hjälpen!

Permalänk
Medlem

int bonus = 2000 * Math.Max(0, age - 40);

Visa signatur

-- FubbHead