Klammern setzen
-
Hallo,
hab da mal ne kleine Frage an euch:
Wie setzte ich in dem Folgenden Beispiel die Klammern richtig? Mir ist klar, dass ich dabei auf die Prioritäten der Operatoren achten muss ... aber wie funzt das genau?a=b+c*d<<2&8
danke im voraus
-
Lass mich mal raten
a=b+c*d<<2&8also .. <<2&8 macht keinen sinn.
vielleichta=(( b+c*d ) <<2 ) & 8Ohne Scherz, Wenn du uns nicht sagst was das werden soll kann dir keiner helfen.
Kurt
-
sorry ...
hier steht:"Setzen Sie Klammern, die die natürliche Auswertereihenfolge explizit macht:"
a=(b+(c*d))<<2&8
mehr steht hier nicht ^^
-
dann wird wohl
a = (((b+(c*d))<< 2) & 8 );gemeint sein.
Kurt
-
Hausaufgaben werden hier aber nicht gemacht!
-
Thüringen = Ferien ... ergo keine Hausaufgaben du troll. Denk nach bevor du mist schreibst
@ZuK ... thx erstmal, aber wie kommst du auf die Klammersetzung?
-
Mr. Blonde schrieb:
Thüringen = Ferien ... ergo keine Hausaufgaben du troll. Denk nach bevor du mist schreibst
Woher soll man wissen dass du aus Thüringen kommst?

-
Walli schrieb:
Mr. Blonde schrieb:
Thüringen = Ferien ... ergo keine Hausaufgaben du troll. Denk nach bevor du mist schreibst
Woher soll man wissen dass du aus Thüringen kommst?

Darum gehts doch garnicht ... aber wenn er nichts zum Thema beitragen kann, kann er auch ruhig sein - oder etwa nicht ...
-
naja im Prinzip schon,
nur 2 Dingen: erstens ist es nunmal so das unglaublich viel Leute nur hier Posten , damit ihre Hausaufgaben oder was auch immer gemacht werden,
2tenshier steht:"Setzen Sie Klammern, die die natürliche Auswertereihenfolge explizit macht:"
was ist denn "hier"
des weiteren klingt der satz schon sehr nach ner gegebenen aufgebenstellung an der man selbst nichts gemacht hat, denn viel gibt es ja dort nicht zu tun
-
shapeless schrieb:
naja im Prinzip schon,
nur 2 Dingen: erstens ist es nunmal so das unglaublich viel Leute nur hier Posten , damit ihre Hausaufgaben oder was auch immer gemacht werden,
2tenshier steht:"Setzen Sie Klammern, die die natürliche Auswertereihenfolge explizit macht:"
was ist denn "hier"
des weiteren klingt der satz schon sehr nach ner gegebenen aufgebenstellung an der man selbst nichts gemacht hat, denn viel gibt es ja dort nicht zu tunVersuche mir C++ selber beizubringen und benutze dazu die Mitschriften von nem studierenden Kumpel ... desswegen die komischen Fragesätze ^^
-
Mr. Blonde schrieb:
Versuche mir C++ selber beizubringen und benutze dazu die Mitschriften von nem studierenden Kumpel ... desswegen die komischen Fragesätze ^^
Ich kenn zwar weder deinen Kumpel, noch seine Mitschriften, aber vielleicht wäre es eine bessere Idee, wenn du dir ein gutes Tutorial oder Buch zum Lernen zulegst. IdR hat man damit mehr Chancen C++ vernünftig zu lernen, als mit persönlichen Mitschriften.
ps:
Du solltest an deinen Umgangsformen noch etwas arbeiten.
-
[/cpp]
mein problem ist das die überprüfung nicht richtig ist ich habe es zwar so weit schon gemacht das er bei falscher rechenoperator erneut frägt solange bis richtige operatoren eingegeben werden habe aber das problem das er in der endlos schleife steht wenn ich das mal ausprobiert wisst ihr was ich meine vielleicht habe ich nur klammern falsch gesetz das denke ich zumindest vielleicht findet ihr was
//--------------------------------------------------------------------------- #pragma hdrstop #include <iostream.h> //--------------------------------------------------------------------------- #pragma argsused int main() { double zahl1, zahl2, ergebnis; char coperator, auswahl='j'; while (auswahl=='j' || auswahl=='J') { cout<<"--------Taschenrechner-------\n"; cout<<"-----------------------------\n"; cout<<"zahl eingeben \n"; cin>>zahl1; cout<<"operator eingeben \n"; cin>>coperator; cout<<"zahl eingeben \n"; cin>>zahl2; while (coperator !='/' || coperator != '*' || coperator != '+' || coperator != '-') { switch(coperator) { case '*': ergebnis=zahl1*zahl2; cout<<zahl1<<" "<<coperator<<" "<<zahl2<<" = " << ergebnis<<endl<<endl; break; case '/': ergebnis=zahl1/zahl2; cout<<zahl1<<" "<<coperator<<" "<<zahl2<<" = " << ergebnis<<endl<<endl; break; case '+': ergebnis=zahl1+zahl2; cout<<zahl1<<" "<<coperator<<" "<<zahl2<<" = " << ergebnis<<endl<<endl; break; case '-': ergebnis=zahl1-zahl2; cout<<zahl1<<" "<<coperator<<" "<<zahl2<<" = " << ergebnis<<endl<<endl; break; default: cout<<"neues rechenzeichen eingeben\n";cin>>coperator; } } cout<<"nochmal"; cin>>auswahl; system ("Pause"); } getchar(); return 0; }
-
Ok, es lässt sich zumindest eine gute Absicht erkennen, obwohl Dein Problem nichts mit Klammersetzung zu tun hat. Vielleicht kann es ein Mod ja abspalten und zB unter 'Probleme mit while-Schleife' in einen neuen Thread schreiben.
Du hast da ein paar Denkfehler, folgendes sollte funktionieren:
#pragma hdrstop #include <iostream> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { double zahl1, zahl2, ergebnis; char coperator, auswahl; do { std::cout << "--------Taschenrechner-------" << std::endl; std::cout << "-----------------------------" << std::endl; std::cout << "zahl eingeben" << std::endl; std::cin >> zahl1; std::cout << "operator eingeben" << std::endl; std::cin >> coperator; std::cout << "zahl eingeben" << std::endl; std::cin >> zahl2; //--Vergleich der Operatoren mit Rechnung--------- while (!( coperator == '/' || coperator == '*' || coperator == '+' || coperator == '-')) { std::cout << "rechenzeichen ungueltig, neues rechenzeichen eingeben" << std::endl; std::cin >> coperator; } switch (coperator) { case '*': ergebnis = zahl1 * zahl2; std::cout << zahl1 << " " << coperator << " " << zahl2 << " = " << ergebnis << std::endl << std::endl; break; case '/': ergebnis = zahl1 / zahl2; std::cout << zahl1 << " " << coperator << " " << zahl2 << " = " << ergebnis << std::endl << std::endl; break; case '+': ergebnis = zahl1 + zahl2; std::cout << zahl1 << " " << coperator << " " << zahl2 << " = " << ergebnis << std::endl << std::endl; break; case '-': ergebnis = zahl1 - zahl2; std::cout << zahl1 << " " << coperator << " " << zahl2 << " = " << ergebnis << std::endl << std::endl; break; } std::cout << "nochmal (j/n)" << std::endl; std::cin >> auswahl; } while (auswahl == 'j' || auswahl == 'J'); std::system ("Pause"); return 0; }
-
otze schrieb:
Hausaufgaben werden hier aber nicht gemacht!
Mr. Blonde schrieb:
Thüringen = Ferien ... ergo keine Hausaufgaben du troll. Denk nach bevor du mist schreibst
Kann man hier mal die registrierten sperren, die trollen wieder nur rum.