C++ Schleifen ///help!
#1
geschrieben 19. Dezember 2004 - 16:48
Es geht sich um folgendes:
Ich lerne zur Zeit in der Schule c++. Aktuelles Thema: Schleifen.
Das Problem ist, ich blick bei den ganzen Schleifen nicht ganz durch wofür man welche verwendet.
Um folgende Schleifen handelt es sich:
FOR
WHILE
DO WHILE
kann mir vielleicht jemand kurz die wichtigsten merkmale der schleifen nennen, wozu man sie anwendet und worin sie sich unterscheiden ?!? Ein link zu einer guten HP, auf der die einzelnen schleifen erklärt sind, würde mir auch schon weiterhelfen (hab bis jetzt nichts brauchbares gefunden).
besten dank im voraus
stephan
Anzeige
#2
geschrieben 19. Dezember 2004 - 16:50
willkommen bei uns im Forum!
Vielleicht hilft dir das weiter:
http://tutorial.scho...t/schleifen.htm
http://www.math.uni-wuppertal.de/~axel/skr...oop/oop5_4.html
#3
geschrieben 19. Dezember 2004 - 16:52
Die While schleife nur solange eine bestimmte Bedingung erfüllt ist
Die Do While genauso wie die While Schleife, jedoch wird sie auf jeden Fall 1 mal durchlaufen
Micro Game Reviews (Mein Blog)
#4
geschrieben 19. Dezember 2004 - 17:18
doch da bleibt noch einiges offen:
Hab zur for schleife hier stehen das sie "kopfgesteuert" ist, was bedeutet das ?
das die "durchlaufanzahl" ganz am anfang bestimmt wird oder wie?
Ich "programmiere" hier zu hause mit Dev-C++ und damit das "programm" nicht sofort schließen soll (beim öffnen) braucht man da einen befehl.. irgendwas mit system ende, kann mir den jemand sagen?
#5
geschrieben 19. Dezember 2004 - 17:27
for(int i=0;i<2;++i)
for(int i=0;i<2;+i) schreibe, was genau ändert sich dann (was passiert?)
einfach: wofür steht +i, ++i ?!?!?
#6
geschrieben 19. Dezember 2004 - 17:28
For Schleifen werden immer dann gerne genommen, wenn die Anzahl der Schleifendurchgänge von Anfang an bekannt sind, while Schleifen gerne dann, wenn die Anzahl der Schleifendurchgänge nicht bekannt ist, also wann die Bedingung erfüllt ist und wenn zu Anfang die Bedingung nicht erfüllt ist (wobei Do .... While mindestens einen Durchlauf haben, da die Bedingung am Ende geprüft wird).
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
#7
geschrieben 19. Dezember 2004 - 18:09
i = 10; do{ // Schleife läuft einmal durch obwohl i = 10 ist }while(i != 10); while(i != 10){ // Schleife läuft gar nicht durch }
i++ bzw. ++i erhöht i um 1 und i-- bzw. --i senkt i um 1.
#8
geschrieben 19. Dezember 2004 - 18:26
aber wenn ich i+ nehme, ist das dann ne endlosschleife?
#9
geschrieben 19. Dezember 2004 - 18:45
Also zu deiner letzten Frage:
++y;
Dies ist eine Präfixnotation (++ vor der Variable)
y++;
Dies ist eine Postfixnotation (++ nach der Variable)
Das ganze geht natürlich auch mit --
Es bedeutet übrigens, dass die Variable x um einst inkrementiert/dekrementiert (erhöht/erniedrigt) wird. Postfix und Präfixnotation sind beide gleich.
Mit dem einzelnen Plus meinst du wahrscheinlich das hier:
for (x=-1; x<1; x+=0.1)
Dies bedeutet, dass zu x 0.1 addiert wird.
Noch zur While - Do-While - Schleife:
Bei der While-Schleife erfolgt die Überprüfung am Anfang, bei der Do-While erst am Ende der Schleife, dies bedeutet, dass die Do-While-Schleife mindestens sicher einmal durchlaufen wird. Im Gegensatz zur While-Schleife muss dies nicht dringend der Fall sein, wenn die Bedingung nicht beim Eintreten in die While-Schleife erfüllt wird.
Ich hoffe ich konnte dir helfen
mfg Oliver
Dieser Beitrag wurde von oliver2642 bearbeitet: 19. Dezember 2004 - 18:55
Wer zu spät kommt, den bestraft das Leben; wer zu früh, den die Frau!
#10
geschrieben 19. Dezember 2004 - 19:11
Kann gut sein das ich in den naechsten tagen nochmal auf euch zurueckgreifen muss
thx & gruß,
stephan
#11
geschrieben 20. Dezember 2004 - 03:23
Zitat
Nein, Postfix-Plusplus steht für Postinkrement (bzw. -- für dekrement) und Präfix für Preinkrement.
i=0;
j=((i++)==0)?0:1;
printf("%i",j);
> 1
i=0;
j=((++i)==0)?0:1;
printf("%i",j);
> 0
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#12
geschrieben 20. Dezember 2004 - 17:47
Es geht sich jetzt um verzweigungen, und zwar um die if else verzweigung.
das else am ende ist doch dafür da um das programm zB bei (Variable==4) zu schliessen oder?
wenn ja, wie lautet dann die anweisung dafür?
und, wohin schreib ich die eingabe? nach zB "if (variable==0)" ? also:
if (variable==0) {
eingabe;
anweisung/ausgabe;
}
oder wie?
besten dank, stephan
#13
geschrieben 20. Dezember 2004 - 18:01
if (a==1) <- Wenn Bedingung Erfüllt, dann { Anweisung_1 <- führe Anweisung 1 aus, } else <- andernfalls (Bedingung nicht erfüllt) { Anweisung_2 <- führe Anweisung 2 aus } }
Dieser Beitrag wurde von DK2000 bearbeitet: 20. Dezember 2004 - 18:15
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
#14
geschrieben 20. Dezember 2004 - 18:03
Wenn ( variable null ist ) dann
CODE
ansonsten
CODE
if(variable == 0){
cout<<"Die Variable ist null";
}else{
cout<<"Die Variable ist nicht null";
}
Habt ihr eigentlich einen Lehrer in der Schule oder sagt der einfach 'Wir machen jetzt if-Anweisungen' und das wars?
#15
geschrieben 20. Dezember 2004 - 18:16
Zitat (Matze: 20.12.2004, 18:03)
<{POST_SNAPBACK}>
danke, ja so ähnlich ists.
Er gibt bei mir immer ein und dieselbe ausgabe aus... egal welche zahl ich eingebe.
Ich glaub das liegt daran das ich nicht weiss wohin ich mein
cin>>Variable;
hinschreiben soll ?!
kann mir da jemand helfen?
edit: achso, bei einer verzweigung macht es doch keinen sinn die variable vorher zu definieren oder ? :-/
Dieser Beitrag wurde von dRead bearbeitet: 20. Dezember 2004 - 18:20