[c++] Programm erneut ausführen

#include <stdio.h> hatte ich vergessen /edit: aber jetzt. hatte nochn paar üs übersehn
Code:
#include <stdio.h>
#include <iostream>
using namespace std;

inline float add ( float x , float y); /* Prototypen werden unten näher erläutert */
inline float sub ( float x , float y);
inline float multi ( float x, float y);
inline float divi (float x , float y);

int main()
{	
	int start = 0, choice = 0;
	float number1 = 0;
	float number2 = 0;
	float value = 0;
	int ue=129,ae=132,oe=148;

	do
	{
//printf("%c",ue);
//printf("%c",oe);
//printf("%c",ae);

	cout << "Dr";printf("%c",ue);cout<<"cken Sie 1 um das Programm zu starten oder 0 um es zu beenden!\n";
	cin >> start; // Wahl das Programm laufen zu lassen


	if ( start == 1)
	{
		cout << "Welche Berechnung m";printf("%c",oe);cout<<"chten Sie durchf";printf("%c",ue);cout<<"hren?\nDr";printf("%c",ue);cout<<"cken Sie:\n 1 f";printf("%c",ue);cout<<"r Addition\n 2 f";printf("%c",ue);cout<<"r Subtraktion\n 3 f";printf("%c",ue);cout<<"r Multiplikatino\n oder\n 4 f";printf("%c",ue);cout<<"r Division.\n"; // Wahl der Rechenarten
		cin >> choice;

		switch (choice)
		{
		case 1:
		{
		cout << "Geben Sie zwei Zahlen ein, die Sie addieren m";printf("%c",oe);cout<<"chten.\n";
		cin >> number1;
		cin >> number2;
		value = add ( number1, number2);
		cout << number1 << " + " << number2 << " = " << value;
		break;
		}
		case 2:
		{
		cout << "Geben Sie zwei Zahlen ein, die Sie von einander subtrahieren m";printf("%c",oe);cout<<"chten.\n ACHTUNG! ACHTUNG!\nDie zweite Zahl wird von der ersten abgezogen!\n";
		cin >> number1;
		cin >> number2;
		value = sub (number1 , number2);
		cout << number2 << " - " << number1 << " = " << value;
		break;
		}

		case 3:
		{
		cout << "Geben Sie zwei Zahlen ein, die Sie miteinander multiplizieren m";printf("%c",oe);cout<<"chten.\n";
		cin >> number1;
		cin >> number2;
		value = multi ( number1 , number2);
		cout << number1 << " * " << number2 << " = " << value;
		break;
		}
		case 4:
		{
		cout << "Geben Sie zwei Zahlen ein, bei denen Sie die erste durch die zweite Teilen m";printf("%c",oe);cout<<"chten.\n";
		cin >> number1;
		cin >> number2;
		value = divi ( number1 , number2);
		cout << number1 << " / " << number2 << " = " << value;
		break;
		}
		default:
		{
		cout << "Ung";printf("%c",ue);cout<<"ltige Eingabe!\n";
		break;
		}
		}
	}
	if ( start == 0)
	{
	cout << "Programm beendet!\n";
	return 0;
	}
	}while(start == 1);

return (0);
}



float add ( float x, float y) /* Funktionen zu den Prototypen oben */
{
return ( x + y);
}

float sub ( float x, float y)
{
return ( x - y);
}

float multi ( float x, float y)
{
return ( x * y);
}

float divi ( float x, float y)
{
return ( x / y);
}
 
Zuletzt bearbeitet:
Cobinja schrieb:
@padam: Nicht immer. Kommt darauf an, mit welchem Zeichensatz es ausgeführt wird. Bei Ansi sind nur die Zeichen 0 bis 127 festgelegt. Alle anderen sind Zeichensatz-abhängig.
leider totaler gulasch!
-erstens drücke ich mit %c aus , dass ich ascii will
und zweitenswenns ansi werden würde, is nie so aber selbst wenns passieren sollte, dann müsste man für ü halt die 252 sein fürs ö 246 und füs ä 228.

bei ansi und ascii sind die ersten 31 zeichen steuerzeichen und nich erst irgendwas ab 127
schau mal in dein tafelwerk ganz hinten
 
Informier dich bitte besser padam, bevor du mit so netten Ausdrücken um dich wirfst.

Mit %c gibst du nur an, dass der nächste int in der Parameterliste als unsigned character interpretiert und auf die Standard-Ausgabe geschrieben wird.

Zeichen mit einem Code >127 sind kein ASCII mehr. Es kommt also ganz auf das Encoding der Konsole an - sofern die Standardausgabe überhaupt an einer Konsole hängt. Was kommt auf einer Konsole mit Unicode-Encoding wohl raus? Leider totaler Gulasch, um es mal mit deinen Worten zu umschreiben.
 
danke für die ganzen antwortn :)
werde dann mal schön in meinem buch weiterschmökern

mfg Hoot
 
Achso, nur als Anmerkung weil's zum Thema passt:

In einem C++-Programm ist es verboten, die Main-Funktion (selbst) aufzurufen oder ihre Adresse zu ermitteln. Man kann, darf und soll ein Programm also nicht nochmal ausführen, indem man die Main-Funktion erneut aufruft. Ein anständiger Compiler sollte das auch nicht zulassen.
 
Zurück
Oben