Citat:
Ursprungligen postat av
pkj
Vad menar du med "respektive summan av subtraktionen"? Ska jag sätta antalFörAttTaUt till 0?
Tycker att du ska sätta dig ned och skriva ned med antingen ord eller pseudokod hur funktionen/metoden ska fungera. Du kan även skriva det som kommentarer i metoden och sedan skriva programmet runt dessa.
Programmet är till för att hålla reda på lagersaldot (antalet) för olika reservdelar.
Hur är det tänkt att metoden TaUt(antalTaUt) ska fungera?
Lagersaldot (antalet) ska minskas med de uttagna delarna (antalTaUt) och TaUt ska returnera hur många delar som verkligen togs ut (man kan ej ta ut fler delar än som finns på lager).
Med vilka värden kan användare anropa metoden? Jag skulle dela upp det i tre fall.
1. Användaren anropar TaUt med ett negativt värde eller 0 (antalTaUt <= 0). I detta fall behöver TaUt inte göra något då lagersaldot ej ändras. Returnera 0 eftersom inget togs ut.
2. Användaren tar ut färre delar än som finns på lagret (antalTaUt <= antal). Uppdaterar nya lagersaldot (antal = antal - antalTaUt) och returnera hur många som togs ut (antalTaUt).
3. Användaren försöker ta ut fler delar än som finns på lagret (antalTaUt>antal). Nu blir nya lagersaldot tomt eftersom alla delar tas ut. Spara först tidigare lagersaldo eftersom du ändrar det och sedan ska returnera det (tidigareAntal = antal). Därefter tömmer du lagret (antal = 0). Slutligen returnerar du hur många delar som kunde tas ut innan lagret blev tomt (tidigareAntal).