if schleifen
-
char wahl;
-
Und initialisiert wird es wie?
ps
Ja ja, die berühmten if Schleifen.
-
char wahl;
char nochmal = 'j';
int id[18] = {...};
char* name[17] = {...};
char* vorname[17] = {...};//Programmwiederhholungs Schleife
while (nochmal == 'J' || nochmal == 'j')
{
//Auswahlmenu
cout << "Klassen Datenbank\n\n";
cout << "Datenbank einsehen mit E\nSuchfunktion mit S\nDatenbank Bearbeiten mit B\n";
cin >> wahl;//Datenbank Einsehen
if(wahl == 'E' || wahl == 'e' || wahl == 'S' || wahl == 's' || wahl == 'B' || wahl == 'b')
{ ...
-
Komisch, bei mir funktioniert das ganz wunderbar! Er geht nur in das If-Statement, wenn einer der Buchstaben gedrückt wurde.
Kann es sein, dass dein Problem woanders im Code liegt?
-
Das problem lautet "Syntax error at end of input"
und schon das compilieren geht nicht
-
Gurrnder schrieb:
tach...
...die schleiffe soll nur betreten werden, wenn eines der kriterien zutrifft...
if(wahl == 'E' || wahl == 'e' || wahl == 'S' || wahl == 's' || wahl == 'B' || wahl == 'b')
wo steckt der Wurm??
Moment mal. Was ist jetzt dein Problem?? Ich denke er betritt nur die if-Abfrage nicht. Jetzt sind es plötzlich compilier-Fehler... Was denn nun?
-
das problem wahr das bei richtigeer eingabe immer if und else ausgeführt wurde.. aber das habe ich soeben gelöst.
thema wechsel
char* name[17] = { "Andali"}; <-- kann ich den inhalt ändern?
zB. mit cout << "Geben sie den Namen ein\n";
cin >> name[zaehler];obiges ist was ich geschriben habe .. und nach allem was ich gelernt habe müsste es so stimmen ... aber wenn ich im laufenden programm zu dieser abfrage komme stürzt das proggi ab.
-
...blödsinn...
hab nicht richtig gelesen
-
char *name[17] = {"Andali"}; cout << "Eingabe:"; cin >> name[17];
Auch dieses Beispiel läuft bei mir. Ich frage mich nur, was
cin >> name[zaehler];
bedeuten soll. Was ist zaehler?
-
der zähler ist eine variabel die ich eingerichtet habe um die id den name und den vornamen einander zuzuordnen
zaehler = 1
cout << id[zaehler] << "\t" << name[zaehler] << "\t\t" << vorname[zaehler] << "\n";
-
genauer lautet es
char* name[17] = { "Andali", "...","...",usw) <-- nicht nnur ein name ausserdem ist es ein zeiger
-
int main(void) { char name0[20], name1[20], name2[20], name3[20]; char *name[4] = {name0, name1, name2, name3}; cout << "Eingabe0: "; cin >> name[0]; cout << "Eingabe1: "; cin >> name[1]; cout << "Eingabe2: "; cin >> name[2]; cout << "Eingabe3: "; cin >> name[3]; cout << "\nEingabe0 war " << name[0] << endl; cout << "\nEingabe1 war " << name[1] << endl; cout << "\nEingabe2 war " << name[2] << endl; cout << "\nEingabe3 war " << name[3] << endl; return 0; }
Also dieses Beispiel funktoniert. Ist zwar nicht schön, aber funktional. Das folgende Beispiel fliegt bei der letzten Abfrage raus:
int main(void) { char *name0, *name1, *name2, *name3; char *name[4] = {name0, name1, name2, name3}; cout << "Eingabe0: "; cin >> name[0]; cout << "Eingabe1: "; cin >> name[1]; cout << "Eingabe2: "; cin >> name[2]; cout << "Eingabe3: "; cin >> name[3]; cout << "\nEingabe0 war " << name[0] << endl; cout << "\nEingabe1 war " << name[1] << endl; cout << "\nEingabe2 war " << name[2] << endl; cout << "\nEingabe3 war " << name[3] << endl; return 0; }
Aber warum das so ist, kann ich nicht sagen. Kann das hier mal ein Vollprofi erklären? Wäre sehr interessant zu erfahren.
-
Aber warum das so ist, kann ich nicht sagen.
wo wird dann den speicher angefordert?
dass es erst bei der letzten abfrage kracht ist reiner zufall!
-
Ja, natürlich ....
*sich.selbst.ohrfeigt.für.diese.dummheit*