diff --git a/Restaurantverwaltung/.classpath b/Restaurantverwaltung/.classpath
index 639689c..9e7b461 100644
--- a/Restaurantverwaltung/.classpath
+++ b/Restaurantverwaltung/.classpath
@@ -1,10 +1,6 @@
-
-
-
-
-
+
diff --git a/Restaurantverwaltung/.settings/org.eclipse.jdt.core.prefs b/Restaurantverwaltung/.settings/org.eclipse.jdt.core.prefs
index a9bbf2d..3c6dfcf 100644
--- a/Restaurantverwaltung/.settings/org.eclipse.jdt.core.prefs
+++ b/Restaurantverwaltung/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=22
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=22
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -11,4 +11,4 @@ org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=22
+org.eclipse.jdt.core.compiler.source=21
diff --git a/Restaurantverwaltung/src/Bestellsystem.java b/Restaurantverwaltung/src/Bestellsystem.java
new file mode 100644
index 0000000..2d83726
--- /dev/null
+++ b/Restaurantverwaltung/src/Bestellsystem.java
@@ -0,0 +1,117 @@
+import java.util.Scanner;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Bestellsystem {
+
+ private static List bestellungen = new ArrayList<>();
+ private static Scanner scanner = new Scanner(System.in);
+
+
+ public static void erstelleBestellung() {
+ System.out.print("Bitte gib die Tischnummer ein: ");
+ String tischNummer = scanner.nextLine();
+
+ Bestellung bestellung = new Bestellung(tischNummer);
+
+ while (true) {
+ System.out.print("Bitte bestelle ein Gericht (oder 'fertig', um abzuschließen): ");
+ String gericht = scanner.nextLine();
+
+ if (gericht.equalsIgnoreCase("fertig")) {
+ break;
+ }
+
+ bestellung.addGericht(gericht);
+
+ while (true) {
+ System.out.print("Möchte der Kunde noch einen Zusatzwunsch für dieses Gericht? (ja/nein): ");
+ String wunschAntwort = scanner.nextLine();
+
+ if (wunschAntwort.equalsIgnoreCase("ja")) {
+ System.out.print("Bitte gib den Zusatzwunsch ein (z.B. 'keine Tomaten'): ");
+ String zusatzWunsch = scanner.nextLine();
+ bestellung.addZusatzWunsch(zusatzWunsch);
+ } else if (wunschAntwort.equalsIgnoreCase("nein")) {
+ break;
+ }
+ }
+ }
+
+
+
+ bestellungen.add(bestellung);
+ System.out.println("Bestellung wurde erfolgreich aufgenommen.");
+ System.out.println(bestellung.getBestellungDetails());
+ }
+
+ public static void speichereBestellung(Bestellung bestellung) {
+ try {
+
+ File file = new File("Bestellungen.txt");
+ FileWriter writer = new FileWriter(file, true);
+ writer.write(bestellung.getBestellungDetails());
+ writer.write("\n--------------------------\n");
+ writer.close();
+ System.out.println("Bestellung wurde erfolgreich gespeichert.");
+ } catch (IOException e) {
+ System.out.println("Fehler beim Speichern der Bestellung: " + e.getMessage());
+ }
+ }
+
+ public static void ladeUndZeigeBestellungen() {
+ try {
+ FileReader fileReader = new FileReader("Bestellungen.txt");
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+ String zeile;
+
+
+ while ((zeile = bufferedReader.readLine()) != null) {
+ System.out.println(zeile);
+ }
+
+ bufferedReader.close();
+ } catch (IOException e) {
+ System.out.println("Fehler beim Laden der Bestellungen: " + e.getMessage());
+ }
+ }
+
+
+ public static void zeigeAlleBestellungen() {
+ if (bestellungen.isEmpty()) {
+ System.out.println("Keine Bestellungen vorhanden.");
+ } else {
+ for (Bestellung bestellung : bestellungen) {
+ System.out.println(bestellung.getBestellungDetails());
+ }
+ }
+ }
+
+ public static void main(String[] args) {
+ while (true) {
+ System.out.println("\n--- Restaurant Bestellsystem ---");
+ System.out.println("1. Bestellung aufnehmen");
+ System.out.println("2. Alle Bestellungen anzeigen");
+ System.out.println("3. Beenden");
+
+ System.out.print("Bitte wähle eine Option: ");
+ String option = scanner.nextLine();
+
+ if (option.equals("1")) {
+ erstelleBestellung();
+ } else if (option.equals("2")) {
+ zeigeAlleBestellungen();
+ } else if (option.equals("3")) {
+ System.out.println("Programm wird beendet.");
+ break;
+ } else {
+ System.out.println("Ungültige Eingabe. Bitte versuche es erneut.");
+ }
+ }
+ }
+}
diff --git a/Restaurantverwaltung/src/Bestellung.java b/Restaurantverwaltung/src/Bestellung.java
new file mode 100644
index 0000000..e957dfc
--- /dev/null
+++ b/Restaurantverwaltung/src/Bestellung.java
@@ -0,0 +1,41 @@
+import java.util.ArrayList;
+import java.util.List;
+
+public class Bestellung {
+ private String tischNummer;
+ private List bestellteGerichte;
+ private List zusatzWuensche;
+
+ public Bestellung(String tischNummer) {
+ this.tischNummer = tischNummer;
+ this.bestellteGerichte = new ArrayList<>();
+ this.zusatzWuensche = new ArrayList<>();
+ }
+
+ public void addGericht(String gericht) {
+ this.bestellteGerichte.add(gericht);
+ }
+
+ public void addZusatzWunsch(String wunsch) {
+ this.zusatzWuensche.add(wunsch);
+ }
+
+
+ public String getBestellungDetails() {
+ StringBuilder details = new StringBuilder();
+ details.append("Tisch Nummer: ").append(tischNummer).append("\nBestellte Gerichte:\n");
+
+ for (String gericht : bestellteGerichte) {
+ details.append("- ").append(gericht).append("\n");
+ }
+
+ if (!zusatzWuensche.isEmpty()) {
+ details.append("Zusätzliche Wünsche:\n");
+ for (String wunsch : zusatzWuensche) {
+ details.append("- ").append(wunsch).append("\n");
+ }
+ }
+
+ return details.toString();
+ }
+}
diff --git a/Restaurantverwaltung/src/Bestellungen.txt b/Restaurantverwaltung/src/Bestellungen.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Restaurantverwaltung/src/RestaurantManagement.java b/Restaurantverwaltung/src/RestaurantManagement.java
index ba45311..69232c9 100644
--- a/Restaurantverwaltung/src/RestaurantManagement.java
+++ b/Restaurantverwaltung/src/RestaurantManagement.java
@@ -1,5 +1,4 @@
-
public class RestaurantManagement {
public static void main(String[] args) {
SystemController systemController = new SystemController();
diff --git a/Restaurantverwaltung/src/SystemController.java b/Restaurantverwaltung/src/SystemController.java
index 548c73f..4486f9a 100644
--- a/Restaurantverwaltung/src/SystemController.java
+++ b/Restaurantverwaltung/src/SystemController.java
@@ -1,5 +1,7 @@
+import java.util.Scanner;
+import java.util.Map;
+import java.util.HashMap;
import java.io.*;
-import java.util.*;
class SystemController {
private Scanner scanner = new Scanner(System.in);
@@ -9,20 +11,17 @@ class SystemController {
private Menu menu = new Menu();
public SystemController() {
- // Benutzer aus Datei laden
loadUsersFromFile();
}
public void startSystem() {
System.out.println("Willkommen im Restaurant Management System!");
System.out.println("Bitte loggen Sie sich ein: ");
-
- System.out.println("Username --------------->");
+ System.out.print("Username ---------------> ");
String username = scanner.nextLine();
-
- System.out.println("Passwort --------------->");
-
+
+ System.out.print("Passwort ---------------> ");
String password = scanner.nextLine();
User user = authenticate(username, password);
@@ -43,14 +42,16 @@ class SystemController {
private void displayMainMenu(User user) {
boolean running = true;
while (running) {
- System.out.println("Hauptmenü:");
+ System.out.println("\n--- Hauptmenü ---");
System.out.println("1. Bestand ansehen");
System.out.println("2. Neuer Nutzer erstellen");
System.out.println("3. Menü anzeigen");
- System.out.println("4. Beenden");
+ System.out.println("4. Bestellungen verwalten");
+ System.out.println("5. Beenden");
+ System.out.print("Bitte wähle eine Option: ");
int choice = scanner.nextInt();
- scanner.nextLine();
+ scanner.nextLine(); // Eingabepuffer leeren
switch (choice) {
case 1 -> inventory.viewStock();
@@ -58,18 +59,51 @@ class SystemController {
if (user.role == Role.MANAGER) {
createUser();
} else {
- System.out.println("Keine Rechte du hs");
+ System.out.println("Keine Rechte, um neue Nutzer zu erstellen.");
}
}
case 3 -> menu.displayMenu(inventory);
- case 4 -> running = false;
- default -> System.out.println("Ungültige Auswahl.");
+ case 4 -> manageOrders(); // Übergibt an Bestellsystem
+ case 5 -> {
+ running = false;
+ System.out.println("System wird beendet. Auf Wiedersehen!");
+ }
+ default -> System.out.println("Ungültige Auswahl. Bitte versuche es erneut.");
+ }
+ }
+ }
+
+ private void manageOrders() {
+ boolean managingOrders = true;
+ while (managingOrders) {
+ System.out.println("\n--- Bestellungen verwalten ---");
+ System.out.println("1. Bestellung aufnehmen");
+ System.out.println("2. Alle Bestellungen anzeigen");
+ System.out.println("3. Bestellungen aus Datei anzeigen");
+ System.out.println("4. Zurück zum Hauptmenü");
+
+ System.out.print("Bitte wähle eine Option: ");
+ int choice = scanner.nextInt();
+ scanner.nextLine(); // Eingabepuffer leeren
+
+ switch (choice) {
+ case 1 -> {
+ Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
+ }
+ case 2 -> {
+ Bestellsystem.zeigeAlleBestellungen(); // Bestellungen im Speicher anzeigen
+ }
+ case 3 -> {
+ Bestellsystem.ladeUndZeigeBestellungen(); // Bestellungen aus Datei anzeigen
+ }
+ case 4 -> managingOrders = false;
+ default -> System.out.println("Ungültige Auswahl. Bitte versuche es erneut.");
}
}
}
private void createUser() {
- System.out.println("Neuen Nutzer erstellen:");
+ System.out.println("\n--- Neuen Nutzer erstellen ---");
System.out.print("Benutzername: ");
String username = scanner.nextLine();
System.out.print("Passwort: ");
@@ -119,4 +153,4 @@ class SystemController {
users.put("Dimitry", defaultManager);
saveUserToFile(defaultManager);
}
-}
\ No newline at end of file
+}
diff --git a/Restaurantverwaltung/src/users.txt b/Restaurantverwaltung/src/users.txt
index 4863871..7be35a6 100644
--- a/Restaurantverwaltung/src/users.txt
+++ b/Restaurantverwaltung/src/users.txt
@@ -1,3 +1,3 @@
Dimitry:1234:MANAGER
-Abbas Kronboch:Araber:SERVICE
+Abbas Kronboch:1234:SERVICE
Ananas Kopf:Bananenbieger:KITCHEN