C++ Aufruf zweier Excel-Listen mit if und else

Neoclassi

Newbie
Registriert
Dez. 2020
Beiträge
4
Hallo zusammen!

Ich habe folgende Aufgabe

Ich soll auf Visual Studio C++ zwei Excel-Listen separat aufrufen lassen können je nach Diagnose also mit einer Abfrage.

Habe aber folgendes Problem: Bei der if- und else-Sache bin ich echt schlecht und weiß nicht, wie ich das jetzt richtig integriere bzw. so dass die erforderliche Liste auch erst nach der Eingabe aufgerufen wird.

Zusätzlich macht mir die geschweifte Klammer am Ende auch Probleme und ich verstehe nicht warum.

Wie erstelle ich die ganze if und else-Sache gemäß der mir gestellten Aufgabe?

Muss ich bei int bei den Variablen 0 und 1 bleiben oder kann ich auch Begriffe wählen und die Variablen zuordnen?

Wie wäre es am einfachsten?

Verzeiht mir manche Fehler, ich fange erst mit dem Programmieren an.
 

Anhänge

  • 1.png
    1.png
    19,1 KB · Aufrufe: 361
  • 2.png
    2.png
    13,3 KB · Aufrufe: 361
Zuletzt bearbeitet:
Was ist denn die konkrete Aufgabe? Die hast Du nicht genannt, ich vermute die Liste soll abhängig von der User-Eingabe geöffnet werden?

Dazu zwei Tipps:
1. Die Klammern korrekt einrücken und nicht linksbündig stehen lassen, dann weißt du sofort, zu welchem Block sie gehören. Der letzte Teil deines Codes befindet sich für IntelliSense außerhalb deiner Main-Methode und es fehlt eine schließende Klammer.

2. If(0) fragt ab ob 0 = true ist, das trifft nicht zu, da binär true = 1 und false = 0 ist, du musst deine User-Eingabe in if(....) abfragen.
 
Hallo,

danke für die Antwort und Aufmerksamkeit.

Richtig, es sind quasi zwei Excel-Listen mit Empfehlungen (Ärzte, Medikamente) für zwei Krankheiten. Wenn es die eine Krankheit ist soll die dazu passende Liste aufgerufen werden, wenn es die andere Krankheit ist dann die andere.

Es soll gefragt werden, ob der Patient Herz- oder Leberbeschwerden hat.

Entsprechend der Eingabe soll die richtige Liste aufgeführt werden.
Ergänzung ()

Ich habe es nun so versucht.

Aber ich verstehe nicht das Klammern-Problem. :-/
Es fehlt noch eine schließende Klammer aber wo? Mit der letzten Klammer hat er ein Problem.
 

Anhänge

  • 1.jpg
    1.jpg
    60,4 KB · Aufrufe: 242
  • 2.jpg
    2.jpg
    51,6 KB · Aufrufe: 233
Zuletzt bearbeitet:
Bitte schau dir ein Basic-Tutorial zu Operatoren und Konditionen(If-Else) an.

Wenn du disease <= 1 abfragst hast du die Fälle 0 und 1 inkludiert.
Wenn du disease >= 0 abfragst hast du die Fälle 0 und 1 inkludiert. Macht das Sinn? ;)

Ergänzend solltest du dir schon mal Gedanken machen, was passiert, wenn der User eine 2 oder einen Buchstaben eingibt. Stichwort Error-Handling.

Zur letzten Klammer: mach die öffnende vor system("pause") weg und es wird passen.
 
Habe nun das Klammern-Problem gelöst. Die vor System Pause musste weg richtig, aber nach Return 0 hat's noch 2 gebraucht..

Erklärung: Die Befehle zur Auslesung der jeweiligen Liste habe ich übernommen und da ist zu Beginn immer eine sich öffnende Klammer aber danach keine sich schließende. Wahrscheinlich musste ich deswegen als Ausgleich zum Schluss welche dranhängen, denn dazwischen hat es dann wieder nicht gepasst.

Jetzt startet der Prozess und alles ist an sich gut. Warum aber sieht man die Liste quasi nur schnell runterrasseln und dann schließt es sich von selbst? Weil es das Return 0 sowohl für die Eingabe als auch zur Beendigung nimmt?

Danke
 

Anhänge

  • 1.jpg
    1.jpg
    108,5 KB · Aufrufe: 241
Zuletzt bearbeitet:
Es wird dich nicht vorwärts bringen, wenn du einfach "Klammern zum Schluß dranhängst" ohne zu verstehen, warum sie dort benötigt werden.

Dein Code macht genau das, wofür er geschrieben wurde: Öffnen der Datei, Zeilen beider Listen einlesen, unabhängig von der User-Eingabe und das Programm beenden.
Wenn du etwas anderes ausführen möchtest, musst du dies reinprogrammieren.
Der PC reagiert auf deine Befehle dargestellt in Programmcode, nicht auf Erwartungen.

Return 0 bedeutet, dass deine Main-Methode 0 als Rückgabewert an das Programm gibt, nachdem dort nichts weiter abläuft ist der Durchlauf beendet.
 
Zurück
Oben