myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C++ (While-Schleife)

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 18.01.14, 18:37   #1
Iliaz
Erfahrenes Mitglied
 
Benutzerbild von Iliaz
 
Registriert seit: Mar 2011
Beiträge: 607
Bedankt: 316
Iliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt Punkte
Standard C++ (While-Schleife)

Folgenden Code habe ich mir zur Übung der While Schleife angeschaut

#include <iostream>

using namespace std;

int main(void)
{
int eingabe;
eingabe = -1;

while(eingabe != 0) { //Bedigung
cin >> eingabe;
cout << eingabe * eingabe << endl; //Potenz berechnen
}

return 0;
}


Edit: Ich habe mal die Zeile ,, eingabe = -1;" gelöscht und es scheint immer noch alles zu funktionieren und so würde ich es auch verstehen. Aber wieso nun die -1? Und kann ich sie auch weglassen, denn anscheinend funktioniert es..

Meine Frage lautet, weshalb ich aufgefordert bin die variable ,,eingabe" zu initialisieren ? Also mithilfe cin >> eingabe:

Es wird doch am Anfang bereits ein fester wert zugeteilt, nämlich -1. Müsste dann nicht die ,,eingabe" immer -1 liefern ?
__________________
Kansas City Shuffle? "Ein Kansas City Shuffle ist, wenn alle Welt nach rechts kuckt, während du links rum gehst."
Iliaz ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 19:18   #2
georgebaker
Newbie
 
Benutzerbild von georgebaker
 
Registriert seit: Apr 2013
Beiträge: 50
Bedankt: 43
georgebaker gewöhnt sich langsam dran | 70 Respekt Punkte
Standard

Ohne das zuerst eingabe auf -1 gesetzt wird, könnte die while-Schleife gar nicht "betreten" werden, da diese ja nur ausgeführt wird, wenn die eingabe ungleich null ist. Und wenn zuvor gar kein Wert zugewiesen wurde, wird eine Fehlermeldung ausgegeben. Innerhalb der Schleife wird dann einfach eingabe überschrieben.
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
georgebaker ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 19:29   #3
Mr_Braun
abcdefgh
 
Benutzerbild von Mr_Braun
 
Registriert seit: Oct 2008
Ort: Ziegengehege
Beiträge: 2.650
Bedankt: 2.533
Mr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3209609 Respekt Punkte
Standard

Bitte das nächste mal den zugehörigen Bereich (Programmierung) für deinen Thread nutzen!
Mr_Braun ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 19:32   #4
Iliaz
Erfahrenes Mitglied
 
Benutzerbild von Iliaz
 
Registriert seit: Mar 2011
Beiträge: 607
Bedankt: 316
Iliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt Punkte
Standard

Also.... Ich habe der eingabe erst einmal einfach einen Wert zugeschrieben - initialisiert (Nach lust und laune, wobei er ungleich Null sein soll). Das brauche ich um überhaupt in die while Schleife reinzukommen, denn es gilt das die Schleife ausgeführt wird, nur wenn die Bedingung erfüllt wird (Hier: eingabe ungleich Null). Bis hier hin richtig?

Was würde den passieren wenn ich in die Schleife mit keiner initalisierten Variable rein gehe ? ,,Und wenn zuvor gar kein Wert zugewiesen wurde, wird eine Fehlermeldung ausgegeben. " Bei mir wird keine Fehlermeldung ausgegeben, warum? Also kann ich davon ausgehen, das eine Fehlermeldung im Normalfall erscheint?

Und noch eine Frage! Wenn ich es richtig verstanden habe, wiederholt sich die Schleife exakt ab den While Code immer wieder, bis ebend die Bedingung erfüllt ist. Ist das richtig? Also springt sie sozusagen immer zurück zu while(eingabe != 0) ....
__________________
Kansas City Shuffle? "Ein Kansas City Shuffle ist, wenn alle Welt nach rechts kuckt, während du links rum gehst."
Iliaz ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 19:45   #5
georgebaker
Newbie
 
Benutzerbild von georgebaker
 
Registriert seit: Apr 2013
Beiträge: 50
Bedankt: 43
georgebaker gewöhnt sich langsam dran | 70 Respekt Punkte
Standard

Deine Überlegungen stimmen, eine while-Schleife lässt sich hiermit sehr gut darstellen:



Das mit der Fehlermeldung war ein bisschen voreilig von mir, war gerade im "Python-Modus". Der Teil wird bei C++ ignoriert, wenn eingabe deklariert (die Zeile "int eingabe", hier wird der Speicherplatz für die Variable "eingabe" freigehalten) aber nicht mit einem Wert versehen wird.
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
georgebaker ist offline   Mit Zitat antworten
Ungelesen 19.01.14, 14:06   #6
Iliaz
Erfahrenes Mitglied
 
Benutzerbild von Iliaz
 
Registriert seit: Mar 2011
Beiträge: 607
Bedankt: 316
Iliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt PunkteIliaz ist unten durch! | -1436 Respekt Punkte
Standard

Ich hätte mal eine Frage bzgl. der For Schleife

int feld[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 10 Elemente, mit Initalisierung

for(int i = 0; i < 10; ++i) {
cout << feld[i] << " "; // Elemente 0 bis 9 ausgeben
}


Ich verstehe folgenden Punkt nicht

for(int i = 0; i < 10; ++i).

Das int i=0 irritiert mich. Weshalb wird eine neue Variable deklariert? Und woher weiss diese Variable, dass es sich bei i=0 um feld[0]=1 handelt ?

Ich bin etwas verwirrt und hoffe mehr oder weniger das jemand meine Fragestellung versteht.

okay ich hab es jetzt doch verstanden. Man könnte auch die Zählvariable i for der for Schleife deklarieren (int i. Dann w+re i=0 die Startanweisung in der Schleife, wobei das bedeutet das von 0 gezählt wird. In der Mitte steht die Bedingung für die Schleife, damit sie also eintrifft und am Ende steht die Zählart!
__________________
Kansas City Shuffle? "Ein Kansas City Shuffle ist, wenn alle Welt nach rechts kuckt, während du links rum gehst."
Iliaz ist offline   Mit Zitat antworten
Ungelesen 19.01.14, 14:27   #7
georgebaker
Newbie
 
Benutzerbild von georgebaker
 
Registriert seit: Apr 2013
Beiträge: 50
Bedankt: 43
georgebaker gewöhnt sich langsam dran | 70 Respekt Punkte
Standard

for-Schleife anschaulich dargestellt:



Das "i" ist bei einer for-Schleife nur eine "Dummy-Variable", die nach Verlassen der Schleife keine Bedeutung mehr hat. i = 0 gibt den Startpunkt der Schleife, i < 10 heißt, dass die Schleife solange durchlaufen wird, bis i < 10 ist, und i++ (nicht ++i wie in diesem Beispiel) bedeutet, das "i" bei jedem Durchlauf um 1 erhöht wird.

Während der Anweisungen innerhalb der Schleife, wird i als Index für das array "feld" verwendet. Damit kann man auf die Einträge zugreifen. Die Nummerierung bei C++-Arrays beginnt bei 0.
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
georgebaker ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.


Sitemap

().