diff --git a/README.md b/README.md index c4804df..f9badbd 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,12 @@ Ziel ist es ein Programm mit einer Datenbank zu erstellen, welches: - Fragen und Antworen einließt - Ein Auswahlmenü bietet -- Fragen abfragt und die Antwor vergleicht \ No newline at end of file +- Fragen abfragt und die Antwort ausgibt +
+
+ +

Um das Programm zu starten:

+
+Du kannst die start_app.py in einer IDE starten +oder in der Konsole unter Windows "py main.py" ausführen +
\ No newline at end of file diff --git a/database_connection.py b/database_connection.py index 9eb0246..491db33 100644 --- a/database_connection.py +++ b/database_connection.py @@ -1,19 +1,13 @@ - - import mysql.connector - - # Aufbau der verbindung zum Mysql Server def db_connection(user, password, host, database): connection = '' - try: # Verbindung - Eingaben in der config.py bestimmen connection = mysql.connector.connect(user=user, password=password, host=host, database=database) except mysql.connector.Error as err: print('Something went wrong', err) print('Veruche deinen Mysql Server neu zu starten') - return connection - + return connection \ No newline at end of file diff --git a/main.py b/main.py index 528f50b..33e2692 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,22 @@ # TODO: Datenbankabfrage -# Auswahlmenü ( Neue Fragen/ Oder Abfrage) +# Auswahlmenü (Neue Fragen/ Oder Abfrage) # Ein und Ausgabe der Fragen/Antworten # Datenbanken (CRUD) Tabellen (CRUD) -import time import main_menu import requirements_installer + + # Aufruf des Main Menüs def main(): print('Programm wird in 5 Sekunden gestartet, bitte gewährleiste, dass beim Programmstart dein Mysql Server ' 'online ist\n') - time.sleep(5) - print('Installation vom Mysql Connector') - # requirements_installer.installer() - + print('Installation vom Mysql Connector\n') + # Installiert die nötigen Ressourcen + requirements_installer.installer() + print('\n ----IHK Prüfungsfragen---- \n') main_menu.main_menu() diff --git a/main_menu.py b/main_menu.py index f958a7a..1059cb0 100644 --- a/main_menu.py +++ b/main_menu.py @@ -4,6 +4,7 @@ import question_answer_output # Main Menu + def main_menu(): enable_menu = True selection = {0: 'Datenbank Menü', 1: 'Zufallsfrage', 2: 'Programm beenden\n'} @@ -19,8 +20,11 @@ def main_menu(): break case 1: while True: - question_answer_output.random_question(config.json_file) - number = int(input('Zurück zum Hauptmenü\n 1: Ja \n 2: Nein\n')) + print('#Frage#\n' + '-'*60 + '\n' + question_answer_output.random_question(config.json_file)[0]) + + input('\nBitte Enter drücken um die Antwort zu sehen\n') + print('#Antwort#\n' + question_answer_output.random_question(config.json_file)[1]) + number = int(input('\nZurück zum Hauptmenü\n 1: Ja \n 2: Nein, nächste Frage\n')) if number == 1: break case 2: diff --git a/question_answer_output.py b/question_answer_output.py index 70f47d0..99772f7 100644 --- a/question_answer_output.py +++ b/question_answer_output.py @@ -1,22 +1,21 @@ -# TODO: einlesen der berreits vorhanden Daten im JSON File - import json from random import randrange -# Einlesen Json File +# Einlesen vom Json File def read_json(filename): - with open(filename) as filename: + with open(filename,encoding='utf-8') as filename: data = json.load(filename) return data + # Zufällige Frage erstellen def random_question(filename): min = 0 max = len(read_json(filename)) random_number = randrange(min,max) questions = read_json(filename) - question = f'Frage Nr:', random_number, questions[random_number][str(random_number)]['question'] + question = f'Frage #{random_number}: ' + questions[random_number][str(random_number)]['question'] answer = questions[random_number][str(random_number)]['answer'] return question, answer diff --git a/questions_answers.json b/questions_answers.json index b5483fe..bfc8cc2 100644 --- a/questions_answers.json +++ b/questions_answers.json @@ -2,68 +2,9 @@ { "0": { "question": "Was versteht man unter dem Begriff Cross-Selling?", - "answer": "Eine Verkaufsstrategie, bei der zu einem Produkt, zusätzliche ( inhalte, produkte, services etc...) angeboten werden, um einen höheren Umsatz und die Kundenanbindung zu erhöhen" - } - }, - { - "1": { - "question": "", - "answer": "" - } - }, - { - "2": { - "question": " ", - "answer": " " - } - }, - { - "3": { - "question": "", - "answer": "" - } - }, - { - "4": { - "question": " ", - "answer": " " - } - }, - { - "5": { - "question": " ", - "answer": " " - } - }, - { - "6": { - "question": " ", - "answer": " " - } - }, - { - "7": { - "question": " ", - "answer": " " - } - }, - { - "8": { - "question": " ", - "answer": " " - } - }, - { - "9": { - "question": " ", - "answer": " " - } - }, - { - "10": { - "question": " ", - "answer": " " + "answer": "Eine Verkaufsstrategie, bei der zu einem Produkt, zusätzliche ( Inhalte, Produkte, Services etc...) angeboten werden, um einen höheren Umsatz und höhere Kundenanbindung zu erzielen" } + } ] \ No newline at end of file diff --git a/requirements_installer.py b/requirements_installer.py index 6bc19c8..0dd1862 100644 --- a/requirements_installer.py +++ b/requirements_installer.py @@ -2,7 +2,7 @@ import sys import subprocess -# implement pip as a subprocess: +# Ressourcen für den Autoinstall def installer(): subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'mysql-connector-python']) diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..b785332 --- /dev/null +++ b/start.bat @@ -0,0 +1,7 @@ +@echo off +echo Autor : Marcus Ferl +echo Beschreibung : IHK Prüfungsfragen +echo Programm gestartet +@py.exe main.py + +pause \ No newline at end of file diff --git a/start_app.py b/start_app.py new file mode 100644 index 0000000..ad71ee9 --- /dev/null +++ b/start_app.py @@ -0,0 +1,4 @@ +import os + +# Startet das Programm in der Windows Konsole +os.system("start /wait cmd /c py main.py")