Zum Inhalt springen

"if" Probleme


FloBerlin

Empfohlene Beiträge

Hallo Kollegen,

Ich möchte in C++ eine GUI Anwendung Programmieren.

Die Funktion dieses Buttons, um den es hier geht, ist es nach einer Folge von Überprüfungen einen bestimmten Ordner zu öffnen.

Zur Zeit ist es so, dass egal was ich eingebe für die Variable "druckernummer", sich immer nur der erste Link also zu D:\~\pr-int_001-_030 öffnet.

Habe ich da einen wohlmöglich einen Fehler in der Syntax??:rolleyes:

			 if (druckernummer<=30 && maske == "pr-int_" && x==1 && druckernummer<=max)

		{

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_001-_030");

			x=2;

			 };



			 if (druckernummer<=60 && maske == "pr-int_" && x==1 && druckernummer<=max)

		{

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_031-_060");

			x=2;

		};



		 	 if (druckernummer<=90 && maske == "pr-int_" && x==1 && druckernummer<=max)

		{

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_061-_090");

			x=2;

			 };

		 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich vermisse ein else beim 2. und 3. if.

Dürfte in dem Zusammenhang zwar egal sein, aber probier mal folgendes Konstrukt (dürfte zumindest das Debuggen erleichtern):


	if(maske == "pr-int_" && x==1 && druckernummer<=max)

	{

		if (druckernummer<=30)

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_001-_030");

		else if (druckernummer<=60)

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_031-_060");

		else if (druckernummer<=90)

			system ("explorer.exe D:\\print_sync\\pr-int\\pr-int_061-_090");

		++x;

	}

Anm. d. Redaktion: system-Befehle müffeln. Lieber CreateProcess nehmen.

btw: Wenn maske ein const char[] (o.Ä.) ist, dann lieber strcmp verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ohne das else (ist nicht zwingend nötig) muss deine IF abfragenfolge andersrum sein.

Denn wenn die Druckernummer z.B. 10 ist, dann ist sie kleiner als 30 -> 1. If Block

Sie ist aber auch kleiner als 60 -> 2. If block

Und kleiner als 90 auch ergo: 3. Ifblock und dementsprechend wird der letzte ausgeführt und "überschreibt" die anderen wenn man so will

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...