Wie soll ich die Variable setzen?
-
Moin,
momentan lerne ich den Unterschied zwischen lokalen und globalen Variablen kennen.
Meine Frage: Wie soll ich die Variable char select hier setzen? Global?#include <iostream> using namespace std; char menue(); int main() { char select; do { char menue(); }while(select!='x'); } char menue() { do { system("CLS"); cout<<"#### TAN - erzeugen #####"; cout<<"\n\n\nerzeugen\t\t\te"; cout<<"\nanzeigen\t\t\ta"; cout<<"\nsortieren\t\t\ts"; cout<<"\n\n\nProgramm beenden\t\tx"; cout<<"\n\n\nIhre Wahl: "; cin>>select; select=tolower(select); }while (select!='x' || select!='e' || select!='a' || select!='s'); system("CLS"); return select; }
-
Üblicherweise über einen Parameter der Funktion:
#include <iostream> using namespace std; char menue( char& select ); int main() { char select; do { char menue( select ); }while(select!='x'); } char menue( char& select ) { do { system("CLS"); cout<<"#### TAN - erzeugen #####"; cout<<"\n\n\nerzeugen\t\t\te"; cout<<"\nanzeigen\t\t\ta"; cout<<"\nsortieren\t\t\ts"; cout<<"\n\n\nProgramm beenden\t\tx"; cout<<"\n\n\nIhre Wahl: "; cin>>select; select=tolower(select); }while (select!='x' || select!='e' || select!='a' || select!='s'); system("CLS"); return select; }
-
Globale Variablen sind meistens die schlechtere Wahl.
lg, freakC++
-
Das habe ich vergessen zu erwähnen. Ich soll keinen Parameter benutzen.^^
-
#include <iostream> using namespace std; char menue(); int main() { char select do { select = menue(); }while(select!='x'); } char menue() { do { system("CLS"); cout<<"#### TAN - erzeugen #####"; cout<<"\n\n\nerzeugen\t\t\te"; cout<<"\nanzeigen\t\t\ta"; cout<<"\nsortieren\t\t\ts"; cout<<"\n\n\nProgramm beenden\t\tx"; cout<<"\n\n\nIhre Wahl: "; cin>>select; select=tolower(select); }while (select!='x' || select!='e' || select!='a' || select!='s'); system("CLS"); return select; }
-
Phisherman schrieb:
Das habe ich vergessen zu erwähnen. Ich soll keinen Parameter benutzen.^^
Mit der Bedingung und dem "momentan lerne ich den Unterschied zwischen lokalen und globalen Variablen kennen", würde ich hier eine globale Variable wählen - ABER, und das ist wichtig:
Immer im Hinterkopf behalten das globale Variablen als schlechtes Design gelten, und man sie - wenn überhaupt - nur sehr sparsam einsetzen sollte (Ich wüsste persönlich nicht, wann ich jemals außer bei Konstanten, globale Variablen verwendet hätte).
-
wüsste persönlich nicht, wann ich jemals außer bei Konstanten, globale Variablen verwendet hätte
Immer wenn du std::cout oder aehnliches benutzt. Immer wenn du mit der Aussenwelt kommunizierst.
-
knivil schrieb:
Immer wenn du std::cout oder aehnliches benutzt. Immer wenn du mit der Aussenwelt kommunizierst.
Mag ja sein, aber ich selbst habe keine Verwendung bislang für globale Variablen, und selbst wenn ich sie hätte, würde ich wegen der definierten Initialisierungsfolge eher Funktionen mit statischen Variablen verwenden (Was zwar fast den globalen Variablen entspricht, aber wo die Initialisierung nicht von Headerreihenfolgen etc. abhängig ist).