C :: Aufgabe #301 :: Lösung #1
2 Lösungen

#301
Mobilfunkanbieter (Monatsabrechnung)
Anfänger - C
von JKooP
- 07.11.2020 um 09:42 Uhr
Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung:
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
#1

von DaXn (180 Punkte)
- 16.12.2020 um 18:45 Uhr

/* Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung: * * Paket-Typ....Basispreis....Freiminuten....Minutenpreis * P_Basis........2,95€..............0...................0,10€ * P_100..........3.95€.............100................0,12€ * P_300..........7,95€.............300................0,15€ * P_600..........12,95€...........600................0,20€ * P_Flat..........29,95€...........unbegrenzt.....0,00€ * * Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden. * Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden. */ typedef enum { EPT_BASE = 0, EPT_P100, EPT_P300, EPT_P600, EPT_FLAT, EPT_COUNT } E_PACKAGE_TYPE; typedef struct { int baseCharge, freeMins, minPrice; } Tpackage; Tpackage g_packages [EPT_COUNT]; void InitializePackages (void) { g_packages [EPT_BASE].baseCharge = 295; g_packages [EPT_BASE].freeMins = 0; g_packages [EPT_BASE].minPrice = 10; g_packages [EPT_P100].baseCharge = 395; g_packages [EPT_P100].freeMins = 100; g_packages [EPT_P100].minPrice = 12; g_packages [EPT_P300].baseCharge = 795; g_packages [EPT_P300].freeMins = 300; g_packages [EPT_P300].minPrice = 15; g_packages [EPT_P600].baseCharge = 1295; g_packages [EPT_P600].freeMins = 600; g_packages [EPT_P600].minPrice = 20; g_packages [EPT_FLAT].baseCharge = 2995; g_packages [EPT_FLAT].freeMins = 50000; g_packages [EPT_FLAT].minPrice = 0; } int CalcMonthCharge (E_PACKAGE_TYPE pt, int minutes) { int minutesToCharge = minutes - g_packages [pt].freeMins; if (0 > minutesToCharge) minutesToCharge = 0; return g_packages [pt].baseCharge + g_packages [pt].minPrice * minutesToCharge; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1