Brauche Hilfe bei Programmierung von Taschenrechner!
-
Weihnachtsinformatiker schrieb:
Ich bin Fachinformatiker im ersten Leerjahr, für die Weihnachtsfeiertage wurden uns (wie auch für die Wochenenden) paar Programmieraufgaben zur Übung angeboten, ich hab mir einen Taschenrechner rausgesucht.
Aber da sind sehr viele neue Sachen für mich dabei, ich hab es mal so weit gemacht, es funktioniert aber nicht:
// iostram inkludieren #include <iostream> // namensraum std (stan****) verwenden using namespace std; // beginn der main-funktion int main() { // informationen ausgeben mit cout cout << "Taschenrechner 1.0 Cooperate Edition" << endl; cout << "Was wollen sie tun?! +=1 (weitere optionen werden in späteren versionen der software implementiert!!)" << endl; // informationen einlesen mit cin cin >> was_der_benutzer_tun_will; // if abfrage!! wahr wenn der benutzer sich für + entschiedenne hat if(was_der_benutzer_tun_will = "1") { // hier muss der additionsfall dann näher behandelt werden cout << "noch nicht implementiert!!"; } else // anderenfalls { // den nutzer auf eine ungültige eingabe hinweisen!! cout << "SIE HABEN EINEN SCHWEREN AUSNAHMEFEHLER VERURSACHT!!" << endl; cout << "DAS PROGRAMM MUSS BEENDET WERDEN" << endl; } // 0 zurückgeben return 0; // funktionsblock abschließen }:xmas1:

Endlich mal ein Pro hier im Forum!!!!!!!ELF :xmas2:
-
was soll das, dass ihr euch darüber lustig macht? jeder fängt mal klein an und ich finds unfair so zu tun als ob ihr das immer schon konntet.
konstruktiv: sag einfach mal, was nicht funzt, dann kann dir besser weitergeholfen werden

-
Weihnachtsinformatiker schrieb:
if(was_der_benutzer_tun_will = "1")das geht leider nicht, ist 'ne zuweisung, kein vergleich. test auf gleichheit geht mit '=='.
z.b. char...
if (was_der_benutzer_tun_will == '1')string (char array)
if (0 == strcmp(was_der_benutzer_tun_will, "1"))c++ string klasse mit überladenem operator
if (was_der_benutzer_tun_will == "1")usw...
:xmas2:
-
// den nutzer auf eine ungültige eingabe hinweisen!!
cout << "SIE HABEN EINEN SCHWEREN AUSNAHMEFEHLER VERURSACHT!!" << endl;
cout << "DAS PROGRAMM MUSS BEENDET WERDEN" << endl;Das ist das beste, das muss ich unbedingt übernehmen

Ein schwerer Ausnahmefehler, für dass das Programm gleich beendet werden muss, ist also eine falsche Eingabe.
Wie wäre es mit folgenden Denkanstoss:
main() { bool beenden = false; do { std::string eingabe; cin >> eingabe; if ( eingabe == "1" ) { count << "Bla"; } else if ( eingabe == "ende" ) beenden = true; } while ( beenden == false ); count << "Tschüs :)"; }// iostram inkludieren
#include <iostream>// namensraum std (stan****) verwenden
using namespace std;Die Kommentare sind auch cool.

"#include <>" das heißt doch schon das man etwas inkludieren will
"namespace std;" das heißt doch schon das man den namespace std verwenden will
usw...Kommentare setzt man nur dann, wenn der Code nicht von sich aus verständlich ist. Man erklärt aber nicht Dinge, die jemand der C++ kann gleich sieht. Es unterbricht nur den Lesefluß und stört beim Verständnis des Codes.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du solltest Dich möglichst rasch in die Grundlagen von C++ einarbeiten, damit das alles weniger "komisch" wirkt.
http://www.volkard.de/Cpp/Tutorial/Grundlagen/index.html
http://www.cpp-tutor.de/cpp/intro/toc.htm (könnte ab 01.01.2007 verschwinden)
http://tutorial.schornboeck.net/inhalt.htm
http://de.geocities.com/throni3/#include <iostream> // notwendig für cout, cin, endl usw. #include <string> // notwendig für C++-strings #include <conio.h> // notwendig für getch(), verhindert in Windows das Schließen der Konsole using namespace std; // damit nicht std::cout usw. geschrieben werden muss int main() { string input; // Informationen ausgeben cout << "Taschenrechner 1.0 Cooperate Edition\n"; cout << "Was wollen Sie machen?\n"; cout << "[1] Addition\n"; cout << "(Weitere Optionen werden in spaeteren Versionen der Software implementiert.)\n" << endl; // Informationen einlesen cin >> input; // if Abfrage: wahr, wenn der Benutzer sich für "Addition" entschieden hat if(input == "1") { // TODO: Addition behandeln cout << "Addition noch nicht implementiert."; } else { cout << "\nSIE HABEN EINEN SCHWEREN AUSNAHMEFEHLER VERURSACHT!\nDAS PROGRAMM MUSS BEENDET WERDEN" << endl; //Kult! } getch(); }//Ende der Funktion mainHier noch ein weiteres Programm zum Rechnen, diesmal ohne getch(), also mit der komplexeren C++-Lösung:
#include <iostream> #include <cmath> // notwendig fuer sqrt(...) using namespace std; void wait() //ausführliche Version { std::cin.clear(); std::streambuf* pbuf = std::cin.rdbuf(); std::streamsize size = pbuf->in_avail(); std::cin.ignore(size); std::cin.get(); } int main() { cout << "Berechnung quadratischer Gleichungen vom Typ x*x + p*x + q = 0" << endl << endl; double p, q, x1, x2; cout << "Bitte p eingeben: "; cin >> p; cout << "Bitte q eingeben: "; cin >> q; x1 = -p/2 + sqrt( p*p/4.0 - q ); x2 = -p/2 - sqrt( p*p/4.0 - q ); cout << endl << "x1 = " << x1 << endl << "x2 = " << x2 << endl; wait(); }
-
Danke für eure wirklich hilfreichen und netten Antworten, Erhad Henkes, ten und gemein!

Aber leider bin ich nur ein Troll
, hab mich trotzdem über eure Beträge gefreut und mit Sicherheit helfen eure Postings auch noch einigen Nutzern weiter, die wirklich Probleme mit dem Zeug haben. 
Ja, diejenigen, die mich ernst genommen haben, seid jetzt bitte nicht sauer. :xmas1: Ich hab jetzt wieder ein schlechtes Gewissen, wenn ich mir ansehe was für Mühe sich z.B. Erhard mit seinem Betrag gegeben hat, oder wie sich "gemein" gleich für mich eingesetzt hat.

Aber bei den Code haben die Meisten zumindest schmunzeln können, in dem Sinne fröhliche Weihnachten!! :xmas1: :xmas2:
-
Das sind halt noch keine Protrollerkenner. :p
Test//standart
-
Erkenner schrieb:
Das sind halt noch keine Protrollerkenner. :p
Test//stan****Der ersetzt standart sogar ganz mit stan****. Ich dachte beim zitieren wär es wieder standart im Nachrichtentext.
-
Eigentlich hätte ich bei dem Thema "Hausaufgaben über Weihnachten" darauf kommen müssen. Ist für mich übrigens keine Arbeit, mache ich gerne. :xmas1: