drbaron Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 a. Deklarer tabeller for å lagre følgende opplysninger for alle produktene: Innkjøpspris Utsalgspris Antall enheter på fryserommet. b. Lag en løkke som leser inn innkjøpspris og antall enheter på fryserommet. Utsalgsprisen beregnes ved å legge til enten 50% eller 100% av innkjøpspris. 50% dersom innkjøpspris er over 30 kroner og 100% dersom innkjøpspris under 30 kroner. c. Beregn den totale fortjenesten hvis hele lageret selges ut. DETTE ER OPPGAVEN OG JEG TRODDE JEG VAR I MÅL MED DENNE KODEN, MEN PROGRAM VIL REGNE FEIL NÅR JEG TASTER INN 1 SOM INNKJØPSPRIS OG DEN PRØVER Å LEGGE TIL 50% MEN DA BLIR SVARET 1 OG IKKE 1.5. I ALLE ANDRE TILFELLER VIL UTSALGSPRIS BLI EN INT F.EKS 2 * 1,5 = 3 VIL TRO DETTE HAR NOE MED DEKLARERING AV FLOAT ISTEDENFOR INT MEN SER IKKE HELT HVA JEG SKAL ENDRE PÅ FOR Å GJØRE DET ENKLEST MULIG. FORSLAG? #include <stdio.h> #define ANTALL_PRODUKTER 10 int main() { int innkjopspris[ANTALL_PRODUKTER]; int utsalgspris[ANTALL_PRODUKTER]; int enheterFryseRom[ANTALL_PRODUKTER]; int teller; int totalFortjeneste = 0; for(teller = 0 ; teller < ANTALL_PRODUKTER ; teller++) { printf("Les inn innkjopspris pa produkt nr %d\n" , teller+1); scanf("%d" , &innkjopspris[teller]); printf("Les inn lagerantall pa produkt nr %d\n" , teller+1); scanf("%d" , &enheterFryseRom[teller]); if (enheterFryseRom[teller] <= 30) { utsalgspris[teller] = (innkjopspris[teller]) * 1.5; printf("utsalgspris for produkt %d er %d\n\n" , teller + 1 , utsalgspris[teller]); } else if (enheterFryseRom[teller] > 30) { utsalgspris[teller] = (innkjopspris[teller]) * 2.0; printf("utsalgspris for produkt %d er %d\n\n" , teller + 1 , utsalgspris[teller]); } totalFortjeneste = totalFortjeneste + ( (utsalgspris[teller] - innkjopspris[teller]) * enheterFryseRom[teller] ); } printf("Dersom hele lageret blir solgt ut vil fortjenesten vare kr %d" , totalFortjeneste); getchar(); return 0; } Lenke til kommentar
daysleper Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 #include <stdio.h> #define ANTALL_PRODUKTER 2 int main() { float innkjopspris[ANTALL_PRODUKTER]; float utsalgspris[ANTALL_PRODUKTER]; int enheterFryseRom[ANTALL_PRODUKTER]; int teller; double totalFortjeneste = 0; for(teller = 0; teller < ANTALL_PRODUKTER; teller++) { printf("Les inn innkjopspris pa produkt nr %d\n" , teller+1); scanf("%f" , &innkjopspris[teller]); printf("Les inn lagerantall pa produkt nr %d\n" , teller+1); scanf("%d" , &enheterFryseRom[teller]); if (innkjopspris[teller] <= 30) { utsalgspris[teller] = innkjopspris[teller] * 1.5; } else if (innkjopspris[teller] > 30) { utsalgspris[teller] = innkjopspris[teller] * 2.0; } printf("utsalgspris for produkt %d er %.2f\n\n" , teller + 1 , utsalgspris[teller]); totalFortjeneste = totalFortjeneste + ( (utsalgspris[teller] - innkjopspris[teller]) * enheterFryseRom[teller] ); } printf("Dersom hele lageret blir solgt ut vil fortjenesten vare kr %.2f\n" , totalFortjeneste); getchar(); return 0; } %f i scanf() leser inn flytetall (float). %.2f i printf() skriver ut flytetall (float) med 2 desimaler bak komma. 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å