Programming lesson
Programmierung in C++: Kino-Gewinn, Umsatzsteuer & Zinseszins – Schritt-für-Schritt Anleitung
Lerne in diesem Tutorial, wie du drei klassische Programmieraufgaben in C++ löst: Kinokassenberechnung, monatliche Umsatzsteuer und Zinseszins. Mit Konstanten, formatierter Ausgabe und Tipps zur Fehlervermeidung.
Einführung in die C++-Programmieraufgaben
In diesem Tutorial zeigen wir dir, wie du drei typische Aufgaben aus der Computer Science 1081 – Assignment #03 meisterst. Du lernst, wie du mit C++ ein Programm schreibst, das die Kinoeinnahmen berechnet, einen monatlichen Umsatzsteuerbericht erstellt und den Zinseszins für ein Sparkonto ermittelt. Diese Übungen sind perfekt, um deine Kenntnisse in Variablen, Konstanten, Eingabe, Ausgabe und Formatierung zu vertiefen. Egal ob du für eine Prüfung lernst oder deine Programmierkenntnisse verbessern willst – hier findest du klare Erklärungen und nützliche Tipps.
Programm #1: Kinokassenberechnung – Gross und Net Box Office Profit
Stell dir vor, du verwaltest ein Kino und musst nach einem Filmabend die Einnahmen aufteilen. Das Kino behält einen Prozentsatz, der Rest geht an den Filmverleiher. Dein Programm soll den Namen des Films, die Anzahl der verkauften Erwachsenen- und Kindertickets abfragen und dann den Bruttogewinn, den Nettogewinn und den Betrag für den Verleiher ausgeben. Verwende Konstanten für die Ticketpreise und den Gewinnanteil des Kinos.
Wichtige Konstanten festlegen
Nutze const double ADULT_PRICE = 10.00; und const double CHILD_PRICE = 6.00; sowie const double PROFIT_MARGIN = 0.20; (20% fürs Kino). Das macht den Code wartbar und entspricht der Aufgabenstellung.
Eingabe und Berechnung
Frage nach dem Filmtitel (mit getline, da der Name aus mehreren Wörtern bestehen kann) und der Anzahl der Tickets. Berechne dann: grossBoxOffice = (adultTickets * ADULT_PRICE) + (childTickets * CHILD_PRICE); netBoxOffice = grossBoxOffice * PROFIT_MARGIN; amountToDistributor = grossBoxOffice - netBoxOffice;
Formatierte Ausgabe
Gib die Ergebnisse mit std::fixed und std::setprecision(2) aus, um zwei Dezimalstellen zu garantieren. So sieht die Ausgabe professionell aus und vermeidet Rundungsfehler.
Testfall: Für „St. Patrick's Revenge“ mit 5621 Erwachsenen- und 125 Kindertickets erwartest du: Brutto $56960.00, Netto $11392.00, Verleiher $45568.00.
Programm #2: Monatlicher Umsatzsteuerbericht
Ein Einzelhandelsunternehmen muss monatlich einen Bericht über die gesammelten Umsatzsteuern einreichen. Dein Programm fragt nach Monat, Jahr und dem gesamten eingenommenen Betrag (inklusive Steuern). Die Steuersätze sind 4% Landessteuer und 2% Bezirkssteuer, also insgesamt 6%. Aus dem Gesamtbetrag T berechnest du den Nettoumsatz S = T / 1.06.
Eingabe und Berechnung
Verwende const double STATE_TAX = 0.04; und const double COUNTY_TAX = 0.02;. Lies den Monat als String (auch hier getline), das Jahr als Integer und den Gesamtbetrag als Double. Berechne: sales = totalCollected / 1.06; countyTax = sales * COUNTY_TAX; stateTax = sales * STATE_TAX; totalTax = countyTax + stateTax;
Ausgabe formatieren
Gib den Monat und das Jahr in einer Zeile aus, gefolgt von einer Trennlinie. Achte darauf, dass der Gesamtbetrag und die Steuern mit zwei Dezimalstellen und einem Dollarzeichen formatiert sind.
Testfall: Für Januar 2017 und $482 Gesamtbetrag erwartest du: Umsatz $454.72, Bezirkssteuer $9.09, Landessteuer $18.19, Gesamtsteuer $27.28.
Programm #3: Zinseszins für ein Sparkonto
Bei einem Sparkonto ohne weitere Einzahlungen berechnet sich der Kontostand nach einem Jahr mit der Formel: Amount = Principal * (1 + (Rate/T))^T. Dabei ist Principal das Startkapital, Rate der Zinssatz als Dezimalzahl und T die Anzahl der Zinsgutschriften pro Jahr (z.B. 4 bei quartalsweiser Gutschrift). Dein Programm fragt nach diesen Werten und gibt die Details aus.
Eingabe und Berechnung
Verwende #include <cmath> für die Potenzfunktion pow. Frage nach Principal, Rate und T. Berechne: amount = principal * pow(1 + (rate / timesCompounded), timesCompounded); interest = amount - principal;
Ausgabe formatieren
Gib den Zinssatz als Prozent aus (z.B. 3% für 0.03), die Anzahl der Zinsgutschriften, das Startkapital, die Zinsen und den Endbetrag – alles mit zwei Dezimalstellen und Dollarzeichen.
Testfall: Für $30284, 0.03 Zinssatz und 120 Zinsgutschriften erwartest du: Zinsen $922.17, Endbetrag $31206.17.
Häufige Fehler und Tipps
- Vergiss nicht, Konstanten zu verwenden: Die Aufgaben verlangen explizit
constfür feste Werte. Das macht den Code lesbarer und vermeidet Magic Numbers. - Eingabe von mehreren Wörtern: Verwende
std::getline(std::cin, name)nach einemcin >>mit einemcin.ignore(), um den Zeilenumbruch zu ignorieren. - Formatierung der Ausgabe: Setze
std::cout << std::fixed << std::setprecision(2);einmal am Anfang, dann werden alle folgenden Zahlen mit zwei Nachkommastellen ausgegeben. - Typkonvertierung: Achte darauf, dass bei Divisionen ein Double herauskommt, indem du mindestens einen Operanden als Double deklarierst oder castest.
Zusammenfassung
Mit diesen drei Programmen übst du grundlegende C++-Konzepte: Ein- und Ausgabe, Verwendung von Konstanten, mathematische Berechnungen und formatierte Ausgabe. Diese Fähigkeiten sind nicht nur für dein Assignment wichtig, sondern auch für viele reale Anwendungen – von der Finanzsoftware bis zur Spielentwicklung. Probiere die Beispiele selbst aus und passe sie an. Viel Erfolg beim Programmieren!