Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

  • Autor

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;

}

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

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

}

  • Autor


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!!! :-(

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;

}

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.