Zum Inhalt springen

Programm beenden?


helby

Empfohlene Beiträge

Hallo ich habe da mal eine Frage:

ich möchte ein Programm laufen lassen. Am Anfang werden die Menüpunkte abgefragt zb.

Drücken Sie 1 um zu berechnen

Drücken Sie 2 um zu speichern

Drücken Sie 3 um das Programm zu beenden.

die Abfrage mache ich mit switch case

Wenn man 3 drückt wird man gefragt ob man das Programm wirklich beenden will, wenn ja wird das fenster geschlossen. Das mache ich mit einer if abfrage.

Wie lautet der Befehl für "Programm beenden?" bzw. "Fenster schließen?"

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hilfe es kommen noch fehlermeldungen; :eek

#include "stdafx.h"

#include <iostream>

#include <stdio.h>

using namespace std;

double dateigroesse ;

double uebertragungsrate ;

double ausgabezeit;

double zeit;

double kapazitaet;

double ausgabedatei;

int zahl;

string antwort;

void primProg ();

void sekProg ();

void abfrage();

void exitProg ();

int main()

{

abfrage();

switch (zahl)

{

case 1:

primProg ();

break;

case 2:

sekProg ();

break;

default:

exitProg;

}

return 0;

}

//1. Funktion der ersten Berechnung

void primProg ()...{}

//2. Funktion der zweiten Berechnung

void sekProg ()...{

}

//2. Beenden

void exitProg ()

{cout<<"Moechten Sie das Programm wirklich beenden?"<<endl;

cin>>antwort; // Es konnte kein Systemoperator gefunden werden, der einen rechtseitigen Operanden vom Typ 'std:string' akzeptiert (oder keine geeigntete Konvertierung möglich)

if antwort==("ja") //systemfehler bezeichner 'antwort'

exit();

else abfrage() // ungültiges else ohne dazugehöriges if

}

//1. Abfrage(zahl)

void abfrage()

{

cout<<"Wenn Sie die Groesse der Datei und die Uebertragungsrate kennen und die Uebertragungsdauer erfahren moechten, drueckken Sie die 1"<<endl;

cout<<"Wenn Sie die Uebertragungsdauer und die Uebertragungsrate kennen und die Dateigroesse erfahren moechten, druecken Sie die 2"<<endl;

cout<<"Wenn Sie das Programm beenden moechten, druecken Sie die 3"<<endl;

cin>>zahl;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

ihh globale Variablen...

ich würd das so machen:


int main()

{

	abfrage();

	switch (zahl)

	{

	case 1:

		primProg ();

		break;

	case 2:

		sekProg ();

		break;

	default:

		string lpEnd;

		cout << "Ende?:\t"

		cin >> lpEnd;

		if (lpEnd == "ja")

		return 0;

		break;

	}

	return 0;

}

Achtung, Pseudocode - der soll nur zum Denken anspornen.

könntest du uns bitte mitteilen was für fehlermeldungen und wann sie auftreten?

void exitProg ()

{cout<<"Moechten Sie das Programm wirklich beenden?"<<endl;

cin>>antwort; // Es konnte kein Systemoperator gefunden werden, der einen rechtseitigen Operanden vom Typ 'std:string' akzeptiert (oder keine geeigntete Konvertierung möglich)

if antwort==("ja") //systemfehler bezeichner 'antwort'exit();

else abfrage() // ungültiges else ohne dazugehöriges if

}

Link zu diesem Kommentar
Auf anderen Seiten teilen


int main()

{

	abfrage();

	switch (zahl)

	{

	case 1:

		primProg ();

		break;

	case 2:

		sekProg ();

		break;

	default:

		string antwort;

		cout << "Ende?:\t"

		cin >> antwort;//error C2679: Binärer Operator '>>': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)

		if (antwort == "ja")   

		return 0;

		break;

	}

	return 0;

}

[/code]

Kommt trotzdem fehlermeldung!!! :-(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie gesagt, Pseudocode...

strings würd ich für sowas nicht verwenden. Lieber ein Char(-Array) und dann auf (cArray[0] == 'j' ) prüfen.

Edit:

ich seh grad - da fehlt so und so eine Schleife...:


int main()

{

	//int müsste hier auch gehen...

	int nEnd = 0;

	do {

		abfrage();

		switch (zahl)

		{

		case 1:

			primProg ();

			break;

		case 2:

			sekProg ();

			break;

		default:

			cout << "Ende?:\t"

			cin >> nEnd;

			break;

	}while(nEnd != 'j');

	return 0;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie gesagt, Pseudocode...

strings würd ich für sowas nicht verwenden. Lieber ein Char(-Array) und dann auf (cArray[0] == 'j' ) prüfen.

??? Natürlich sollte man dafür Strings nehmen, was machst du denn mit deinem char-Array wenn der Benutzer mehr Buchstaben eingibt?

Da es aber ja nur um ein Zeichen geht macht natürlich entweder char oder int mehr Sinn als eine Zeichenkette einzulesen.

@helby

du musst die string Datei includen damit du per cin>> einem string was zuweisen kannst.

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...