Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 08:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ do-while schleife Frage

Discussion on C++ do-while schleife Frage within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2013
Posts: 22
Received Thanks: 2
C++ do-while schleife Frage

Nabend,
ich habe eine kleine Frage zu meinem Taschenrechner Programm
und zwar habe ich dem Programm eine Menü Auswahl gegeben, aber immer wenn
ich eine Rechnung beende wiederholt sich das Menü 3x hintereinander und die Ergebnisse sind auch falsch z.B. 5+6=10.
Danke für die Hilfe im voraus.
Code:
// Taschenrechner mit Menü
// C++
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
	// Variablen
	//
	char chAuswahl;
	double Zahld;

	// Abfragen was berechnet werden soll
	// Wiederholen mit einer Schleife
	do
	{
	cout << "(A)ddieren, (S)ubtrahieren, (M)ultiplizieren, (D)ividieren (I)nfo, (B)eenden" << endl;
	cin >> chAuswahl;

	switch (chAuswahl)
	{
		// Plus rechnen ?
	case ('a'):
	case ('A'):
		{
			cout << "Ihre Rechenaufgabe: ";
			cin >> Zahld;
			cout << "Ergebniss: " << Zahld + Zahld << endl;
		} break;
		// Minus rechnen ?
	case ('s'):
	case ('S'):
		{
			cout << "Ihre Rechenaufgabe: ";
			cin >> Zahld;
			cout << "Ergebniss: " << Zahld - Zahld << endl;
		} break;
		// Mal rechnen ?
	case ('m'):
	case ('M'):
		{
			cout << "Ihre Rechenaufgabe: ";
			cin >> Zahld;
			cout << "Ergebniss: " << Zahld * Zahld << endl;
		} break;
		// Teilen ?
	case ('d'):
	case ('D'):
		{
			cout << "Ihre Rechenaufgabe: ";
			cin >> Zahld;
			cout << "Ergebniss: " << Zahld / Zahld << endl;
		} break;
		// Informationen ?
	case ('i'):
	case ('I'):
		{
			cout << "Taschenrechner V 1.0 " << endl;
			cout << "Geschrieben in C++ " << endl;
		} break;
		// Beenden
	case ('b'):
	case ('B'):
		{
			cout << "Programm beenden. " << endl;
		} break;
		// Alles andere mit Falsch Eingabe beenden
	default:
		{
			cout << "Falsche Eingabe. " << endl;
		}
	}
	} while (chAuswahl != 'b' && chAuswahl != 'B');
	cout << "Bis zum naechsten mal" << endl;

	return 0;
}
ErawondA is offline  
Old 09/03/2013, 01:00   #2
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Du liest doch nur eine einzige Variable ein. Einmal pro Durchlauf wird Zahld eingelesen und dann die gewählte Rechenoperation mit der Zahl selbst ausgeführt. Wenn die Eingabe etwa A 5 ist, gibt dein Programm 10 aus.
Tasiro is offline  
Old 09/03/2013, 01:05   #3
 
Beni's Avatar
 
elite*gold: 0
The Black Market: 171/0/0
Join Date: Jul 2009
Posts: 3,269
Received Thanks: 786
Nimm mehr double Variablen. Du hast eine einzige Variable, was bedeutet: Die Zahl die du eingibst wird mit sich selbst addiert, subtrahiert, multipliziert oder dividiert. Du musst die zweite Eingabe unter einer neuen Variablen sprichern.

Kann dir leider nicht sagen wies genau geht, kann nur C#.

Lg Beni
Beni is offline  
Old 09/03/2013, 08:41   #4
 
elite*gold: 25
Join Date: Aug 2005
Posts: 31
Received Thanks: 20
Wurde ja alles schon gesagt, also nur mehr ein wenig extra Senf von mir.

Da du nur mit "zahld" arbeitest, kannst du dort niemals 2 verschiedene Zahlen drinnen haben. 1 Variable -> 1 Zahl.
Somit rechnet das Programm immer diese eine Zahl mit sich selbst.
Selbst wenn du nochmal eine Zahl einlesen würdest (warum das nicht passiert, wurde oben schon erklärt) würde eben diese neue Zahl "mit sich selbst rechnen".

Einfach ne zweite Eingabe machen (wie auch schon erwähnt) und zwei Variablen verwenden.

Entschuldigt, wenn die Syntax nicht so passt, ist eine Weile her, aber es sollte verständlich sein.

z.B.
double zahl1, zahl 2;

Einlesen:
cout << "Ihre erste Zahl: ";
cin >> zahl1;
cout << "Ihre zweite Zahl: ";
cin >> zahl2;

Ausgabe (addieren)
cout << "Ergebniss: " << zahl1 + zahl2 << endl;
Egon is offline  
Old 09/03/2013, 13:15   #5
 
elite*gold: 0
Join Date: Jul 2013
Posts: 22
Received Thanks: 2
Klappt danke
<3
#closed
ErawondA is offline  
Reply


Similar Threads Similar Threads
Frage zu Bot machen-Maus Frage-Button Frage
02/16/2012 - AutoIt - 10 Replies
Hallo, Elitepvpers hat echt für alles ein Ort :D Geil. Also...Bin AutoIt anfänger. Ich bin dabei ein Bot für das Online Game Runescape zu machen. Ich hette 2 Fragen(FÜR DEN MOMMENT :) ): Kann ich machen das AutoIt inaktiv die Maus benutzt,also werend der Bot läuft das ich bzw. man im Internet surft oder was anderes macht`?



All times are GMT +1. The time now is 08:10.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.