2 Schleifen ineinander; brake Anweisung...
-
Und überhaupt solltest Du vielleicht den logischen oder-operator || statt dem binären oder-operator | verwenden...
-
Etwas deutlicher bitte. Wo sollte 'frage' stehen ?
Kurt
-
hast mein vorschlag probiert ?
chris
-
Jetzt ist's mir klar
if(name != frage|nachna != frage|alter != frage|tele != frage) { cout <<"\nKein Eintrag vorhanden\n" << endl; return 0; }Diese Verzweigung ist immer true also wird return 0 aufgerufen.
sollte wohlif(name != frage&&nachna != frage&&alter != frage&&tele != frage) { cout <<"\nKein Eintrag vorhanden\n" << endl; return 0; }sein
Kurt
-
Ah stimmt das war wohl mein (zimlich dummer) Fehler
, die if Bedingungen sind ja immer wahr:if(name != frage|nachna != frage|alter != frage|tele != frage) { cout <<"\nKein Eintrag vorhanden\n" << endl; return 0; }Also wird auch immer "return 0" ausgeführt, und damit die äussere Schleife beendet.
Besser wäre es wen man stat ODER( | ) irgendwie UND schreiben könnte, also alle Bedingungen wahr sein müssen.
Bedeutet "&&" das ?
Muss das also dan so ausehen wie du das geschrieben hast?if(name != frage&&nachna != frage&&alter != frage&&tele != frage) { cout <<"\nKein Eintrag vorhanden\n" << endl; return 0; }
-
Denke das hat schon jemand erwähnt
|| logisches oder && logisches undKurt
-
Was ist der Unterschied zwischen einem logischen UND "||" und einem binären UND "|"

-
1 & 2 ergibt 0 1 && 2 ergibt trueKurt
edit du wolltes oder1 | 2 ergibt 3 1 || 2 ergibt true
-
Thanks

Ok das hab ich kapiert und wofür steht "**" ?
-
* ist der dereferenzierungs operator ( heisst das so ? )
** dereferenziert dann einen pointer auf einen pointer.
Kurt
-
In welchem Zusammenhang? ** als Operator gibt es nicht, nur * (binär als Multiplikation bzw. unär als Pointer-Dereferenzierung und Typkennung für Pointer)
-
Ich hab das mal so gesehen:
string variable; variable* a
-
Ich hab das mal so oder so änlich gesehen gesehen:
int var, a; var* a
-
Ich hab das mal so oder so änlich gesehen gesehen:
int var, a; var* a
-
Das oben sieht nach Multiplikation aus, eher so:
#include <iostream> using namespace std; int main(int argc, char **argv) { int i = 5, j; int *p = &i; //mit Operator & Adresse von i holen und an p zuweisen j = *p; //Derefenziere p mit Operator * und weise Ergebnis j zu cout<<j<<'\n'; //Gibt 5 aus p = &j; //p zeigt jetzt auf j *p = 215; //p dereferenzieren und 215 zuweisen cout<<j<<'\n'; //Gibt 215 aus return 0; };
-
Diese Code-Fragmente sind so Unsinn. Was ich mir vorstellen könnte wäre:
int*x;//Zeiger auf einen int y=14* *x;//x dereferenziert (->Wert hinter x geholt) und multipliziert
-
break und nicht brake
