so .. ich habe mich mal erbarmt und alle zich fehler korrigiert *seuftz*
Das Programm compiliert jetzt fehlerfrei mit Dev-C++, also GNU-C++ konform.
Wenn MS hier immer noch rumspinnt, liegts an denen und deren standardfremdheit.
Code:
//#include <stdio.h> brauchst du nicht, da du kein printf oder so hast
#include <iostream> // c++ header haben nach neuem Standard KEIN .h
using namespace std; // Diese Zeile ist fuer die STL SEHR SEHR wichtig.
// Ob MS sich hier mal wieder nicht an den standard haellt, weiss ich auch nicht
// Funtion zur Multiplikation
// Im Hauptprogramm verwendest du den Rueckgabewert sowieso nicht.
// Daher wird sie definiert, das sie weder nen Wert zurueckgibt, noch verlangt
void Multiplizieren(void)
{
int Zahl1=0; // =0 <- initialisieren gehoehrt zum guten Ton
int Zahl2=0;
// cout <<"Bitte geben sie die erste Zahl ein!"l;
//<- was das l da zu suchen hat, weiss ich auch nicht.
cout <<"Bitte geben sie die erste Zahl ein! : ";
// cin << Zahl1 das ist definitiv falsch. Mit >> liest du aus dem String.
// Zudem: Nach jeder Anweisung musst du ein ; machen
cin >> Zahl1;
cout << endl;
cout << "Bitte geben sie die zweite Zahl ein,"<<endl
<<"mit welcher die erste multipliziert werden soll :";
// cin << Zahl2 das selbe Problem wie oben
cin >> Zahl2;
cout << endl;
// Extradefinition des Ergebnisses ueberfluessig.
// double ergebnis;
// ergebnis = Zahl1*Zahl2;
// durch den Cast in den typ double kannst du groessere zahlen darstellen
cout << "Das Ergebnis von "<< Zahl1 << " mal "<< Zahl2 <<" ist "<< double(Zahl1)*Zahl2 <<endl;
// return ergebnis; brauchen wir nicht mehr, da kein Wert zurueckgegeben wird
}
// haupmenue
int main(void) // void in die Klammer schreiben, wenn man keine Parameter haben will
{
int befehl;
cout << endl;
cout << "Menue" << endl;
cout << "Multiplizieren <1>" << endl;
cout << "Dividieren <2>" << endl;
cout << "Addieren <3>" << endl;
cout << "Subtrahieren <4>" << endl;
cout << "Wurzelziehen <5>" << endl;
cout << "Quadrieren <6>" << endl;
cout << "Programm beenden <7>" << endl;
cout << "Bitte ihre gewünschte Wahl:";
cin >> befehl;
// befehl bearbeiten
switch(befehl)
{ // Beginn Switch
case 7:
//{ <- die { } um die Breakbloecke sind ueberfluessig und unueblich, wenn nicht sogar falsch
cout << endl;
cout << "Programm beenden" << endl;
break;
// } <- siehe oben
case 1:
cout << endl;
// Multiplizieren; <- Eine Funktion ohne Parameter wird immer mit () aufgerufen
Multiplizieren();
break;
} // End Switch
// Der folgende Befehl laesst nochmal warten, bis enter gedrueckt wurde.
// Sonst siehst du nix, wenn du nicht auf cmdline arbeitest. Funkt i.d.R nur auf WinDos
system("pause");
return 0;
}
Ich hab mir erlaubt, deine Fehler auszukommentieren und ranzuschreiben, was du falsch gemacht hattest.
Gruss Ineluki