Programmier-1-mal-1: Herausforderung – Klassen

Du bist jetzt mit den grundlegenden Konzepten der Programmierung vertraut.

Nun sollst du selbst ein tatsächlich nützliches Programm mit Klassen schreiben.
Bist du dieser Herausforderung gewachsen?

Aufgabe II: Einkaufszettel erstellen Schwer

Schreibe ein Programm, bei dem wiederholt Gegenstände eingegeben werden.
Nach jedem Gegenstand soll außerdem die zugehörige Menge abgefragt werden – bei leerer Eingabe soll die Menge 1 sein.

Trenne es dabei in:

  • die Hauptmethode, in der eine Schleife wiederholt die nächste Methode aufruft und die Ergebnisse in einen Vektor speichert
  • eine Methode, in der die Eingabe für einen Gegenstand und die Menge erfolgt und das Ergebnis als Klasse zurückgegeben wird
  • eine Klasse, in der ein Gegenstand und die zugehörige Menge (jeweils als String) gespeichert werden

Alle hier benötigten Strukturen wurden bereits in den vorherigen Lektionen und Aufgaben eingeführt.

Aufgabe III: Einkaufszettel ausgeben Schwer

Du hast erfolgreich eine Abfrage für die Einkaufsliste geschrieben!

Nun wollen wir die eingegebenen Daten auch schön visualisieren.
Sobald bei der Abfrage nach Gegenständen eine leere Eingabe erfolgt, soll daher der fertige Einkaufszettel in eine Markdown-Datei ausgegeben werden.
Dann soll eine Rückmeldung mit dem Speicherort der Datei ausgegeben und das Programm beendet werden.

Die ausgegebene Markdown-Datei soll diesem Format folgen:

- [ ] 1 Apfel
- [ ] 2 Bananen
- [ ] 1L Hafermilch
- [ ] 200g Butter

Wenn diese Datei nun mit einem Markdown-Programm geöffnet wird, erscheint eine Liste, bei der man jeden Gegenstand abhaken kann.

Du benötigst zusätzlich folgende Module der Standardbibliothek:

#include <fstream>

Mit diesem Code lässt sich eine einfache Textdatei (Markdown ist schließlich Klartext) erstellen und beschreiben:

ofstream Einkaufszettel("einkauf.md");

// In die Datei hineinschreiben
Einkaufszettel << "- [ ] " << "1" << " " << "Birne" << endl;

// Datei schließen
Einkaufszettel.close();

Siehe: w3schools.com

Viel Spaß mit deiner neuen automatisierten Einkaufsliste!

Du besitzt nun die grundlegenden Fähigkeiten der Programmierung.
Wir hoffen, dass dir unsere Beispiele auf dieser Reise von Nutzen waren.
Gib uns gerne einen Stern auf GitHub :)
~ Martin und David