Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 HI LEUTZ, da ich ja jetzt bei der Deutschen Telekom eine Ausbildung als IT-Systemelektroniker angefangen habe, muss ich auch zur Berufsschule gehen! wir haben ein fach das heist AE=Anwendungsentwicklung!!! Nur leider hatte ich bis jetzt keinen kontakt zu C++ und der Lehrer ist der reinste trottel!!!! er hat uns ein qudratwurzel programm programmieren bzw. "abschreiben lassen" und wir werden morgen eine klausur über C++ schreiben und sollen alle begriffe die da drin enthalten sind und wofür die stehen auswendig können... meine frage war jetzt ob mir jemand eine website nennen kann, dass sowas wie ein nachschlagwerk aufgebaut ist, also das ich die begriffe nachlesen kann wofür sie gut sind... oder vielleicht sich die zeit nimmt und mir die funktionen etc. erklärt... vielen dank schon mal im vorraus mfg: The-Hacker hier der quelltext: #include <iostream.h> #include <conio.h> #include <math.h> double quadrat (double); void main() { double x, y; cout << "Bitte geben Sie eine Zahl ein: "; cin >> x; y = sqrt (x); cout << "Die Quadratwurzel von " << x << " betraegt " << y; y = quadrat (x); cout << "\nDas Quadrat von " << x << " betraegt " << y; gecht(); return; } double quadrat (double a) { double b; b = a * a; return b; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 Hallo, Schau mal darein : http://www.cpp-entwicklung.de/cpplinux/cpp...n/cpp_main.html Ist steht zwar für Linux drüber ist aber für Deine Zwecke egal. Da sollte alles drinstehen, ist aber ein ganz schön grosses Werk. Schau Dir´s mal an und wenn Du was nicht findest, dann frag ruhig, bei dem Programm kann ich Dir schon helfen. Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 Hallo, Schau mal darein : http://www.cpp-entwicklung.de/cpplinux/cpp...n/cpp_main.html Ist steht zwar für Linux drüber ist aber für Deine Zwecke egal. Da sollte alles drinstehen, ist aber ein ganz schön grosses Werk. Schau Dir´s mal an und wenn Du was nicht findest, dann frag ruhig, bei dem Programm kann ich Dir schon helfen. Gruß! ich wollte es eigentlich bis morgen früh "drauf" haben gibt es da nicht etwas kürzer und knapperes?!?!?! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 Dann machs anderes, was fehlt Dir denn? Ich werd versuchen Dir´s zu erklären. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 also kurz gesagt muss ich nur wissen was diese begriffe bedeuten z.B. "void main()" wofür steht void was macht es und warum sind die klammern so wichtig etc. und dann müsste ich noch wissen wie dieses programm arbeitet!! aber das kann ich ja dann selber erlernen wenn ich die bedeutungen der begriffe kenne... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Boutch Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 Hi, ist schon lange her, das ich mit C++ was gemacht habe. Aber dafür sollte es reichen: Also void main() ist das Hauptprogramm. VOID ist ein leerer Datantyp, wenn ich das so salopp sagen kann. Ist zwar nicht ganz korrekt, aber das kann man sich so vorstellen. Die Klammern sind von Programmiersprache zu Programmiersprache anders zu setzten. Normalerweise steht in der Klammer noch ein paar Argumente, aber die müssen in main nicht unbedingt gefüllt werden. Auch ist bei der main das weglassen der Argumente erlaubt, was aber eine Ausnahme ist. Die Befehle cout und cin stehen für Ausgabe und Eingabe. SQRT ist eine mathematische Funktion welche über die include math.h eingebunden wird. Hoffe konnte dir bisschen helfen. Noch was: Das Programm ist nicht vollständig. Boutch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 Hi, ist schon lange her, das ich mit C++ was gemacht habe. Aber dafür sollte es reichen: Also void main() ist das Hauptprogramm. VOID ist ein leerer Datantyp, wenn ich das so salopp sagen kann. Ist zwar nicht ganz korrekt, aber das kann man sich so vorstellen. Die Klammern sind von Programmiersprache zu Programmiersprache anders zu setzten. Normalerweise steht in der Klammer noch ein paar Argumente, aber die müssen in main nicht unbedingt gefüllt werden. Auch ist bei der main das weglassen der Argumente erlaubt, was aber eine Ausnahme ist. Die Befehle cout und cin stehen für Ausgabe und Eingabe. SQRT ist eine mathematische Funktion welche über die include math.h eingebunden wird. Hoffe konnte dir bisschen helfen. Noch was: Das Programm ist nicht vollständig. Boutch ja so'n bisschen hast du mich schon angeschubst!!! THANX!!! bin für jede hilfe dankbar!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 also Ein Programm besteht aus Funktionen. Es gibt immer eine Hauptfunktion "main" und evtl. Unterfuntionen wie "double quadrat (double a)" vor dem Funktionsnahmen steht immer die Art des Rückgabeewertes der Funktion. void = keine Rückgabe double = Rückgabe eines Wertes im Varaiblenformat double. dann folgt der Name der Funktion. In der Klammer stehen Werte die an die Funktion übergeben werden. "double quadrat (double a)" bedeutet daß beim Aufruf der Funktion ein double Wert übergeben wird der dann in der Funktion mit dem Variablennamen "a" zur Verfügung steh und mit dem dann in der Funktion gerechnet werden kann. Eine Funktion muss immer mit den Klammern aufgerufen werden, So ist die Syntax von C oder C++ festgelegt. Nun zur Funktion: double x, y; Variablen x,y werden deklariert . cout cin >> x; ein Wert wird von der Tastatur eingelesen und in x geschrieben y = sqrt (x); sqrt ist eine funktion die die Quadratwurzel von x berechnet "y = " das Ergebnis der Quadratwurzelberechnung wird in y geschrieben cout es wird erst der text, dann die Variable x, dann text, dann y (Ergebnis) ausgegeben y = quadrat (x); die Funktion quadrat wird aufgerufen, ihr wird der Wert x übergeben und das Ergebnbis wird in y geschrieben cout Ausgabe des ergebnisses gecht(); kann das sein, daß das getc oder getch heissen soll? bedeuten würde das auf eine Eingabe warten. das return kommt mir da komisch vor, ob das hinhaut, da mit void main keine Rückgabe angtegeben ist? double quadrat (double a) { double b; b = a * a; return b; } Funktion quadrat liefert einen double wert zurück und erhält eine Variable übergeben double b : Hilfsvariable wird deklariert. b = a mal a return b : das ergebnis von a*a wird zurückgegeben, steht danach in y double quadrat (double); am Anfang net sich Prototypendeklaration. ist wichtig da der compiler von oben nach unten liest. würde das nicht dastehen würde er im Hauptprogramm an der stelle y = quadrat (x); abbrechen, da ihm die Funktion nicht bekannt ist. #include mit include werden fertige Librarys mit z.B. Standartfunktionen eingebunden. diese stehen dann im Programm zur verfügung. C oder C++ kennt ansich nur die vier Grundrechenarten. sqrt ist eine Funktion aus der Library math.h Soweit klar??? Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 @Boutch wieso nicht vollständig? was fehlt denn in Deinen Augen? mit Ausnahme von paar schreibfehlern läuft das so in meinen Augen. Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 @Worschter alles klar!!!! hab es jetzt geschnallt (denke ich)!!! muss es nur noch etwas vertiefen!!! BIG THANX Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
stefanie Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 #include <iostream.h> // Bibliothek einbinden #include <conio.h> #include <math.h> double quadrat (double); // Funktionsprototyp void main() // main Methode einsprungspunkt für Programm { double x, y; // Variablen definiert aber nicht initialisiert cout << "Bitte geben Sie eine Zahl ein: "; // Ausgabe Befehl auf die Konsole(console output) cin >> x; // Einlesen von der Konsole y = sqrt (x); // Quadratwurzel von x Ziehen cout << "Die Quadratwurzel von " << x << " betraegt " << y; y = quadrat (x); cout << "\nDas Quadrat von " << x << " betraegt " << y; gecht(); return; // Kann da nicht stehen da die main Methode vom Typ void ist und keinen Rückgabe wert liefert } double quadrat (double a) // hier fängt die Methode quadrat an { double b; b = a * a; return b; // b wird an das Aufrufende Programm zurück gegeben } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rayden Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 hallo, bist du dir sicher, dass das programm so läuft??? ich bin ziemlich sicher dass das mit void main nicht stimmt. muss das nicht int main heissen? und weiter unten muss return 0 stehen. das main steht übrigens für das hauptprogramm. ich weiss ja nicht wie tief ihr da noch reingeht, aber später besteht ein programm aus mehreren teilen, und dieses main darf bzw. muss nur einmal vorkommen. und dieses gecht(); oder getc(); hmmm kenn ich nicht. und die funktion double quadrat(double a) kann auch nicht stimmen. double ist keine beschreibung für eine funktion. da müsste es void quadrat(double a) heissen. den rest hat ja worschter ja ganz gut erklärt. habt ihr denn kein skript von der schule bekommen? ein gut gemeinter rat von mir: das was ihr jetzt gerade macht ist wirklich nicht schwer. wenn du jetzt den faden verlierst, dann gute nacht wenn pointer & co. kommen. Rayden, der Mann Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 @stefanie das mit dem Return steht steht in meiner Anleitung drin Ich bin mir nicht sicher ob es sinvoll ist hiier schon mit Methoden anzufangen. Der Quelltext ist mit Ausnahme der Header Dateien noch kein OOP sondern C. Das könnte evtl. verwirren. @Rayden glaub mir das void main haut hin, das heißt einzig und alleine daß die main Funktion keinen Wert zurück gibt. Ist nicht unbedingt gängig, da ansich immer ein Errorcode zurückgegeben wird, aber es geht. Es beißt sich auf jeden Fall mit dem Return unten. Es muss auch nicht unbedingt return 0; heissen, sondern es kann ein beliebiger Wert auch über eine Variable zurückgegeben werden. Einzig Strings oder char arrays sind etwas problematisch. alles was vor dem Funktionsnamen steht hat nichts mit ner beschreibung der Funktion zu tun sondern definiert den Typ des Rückgabewertes. Das kann nahezu jeder Grundvariablentyp sein wie int double float char usw. Das haut auf jeden Fall hin so. Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
stefanie Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 @ Worschter Ja stimmt das mit dem Return steht in deiner Anleitung drinn. Aber ich bin der Überzeugung wenn man direkt mit OOP anfängt hat man später keine schwierigkeiten umzudenken. Außerdem lernt man so direkt die Richtigen begriffe. Aber ich habe ja ganz oben beim erstellen des Prototypen Funktion geschreiben nur unten ist mir leider Methode rausgerutscht. Eigentlich um es genau zu nehmen ist die Bezeichnug Methode hir in dem Beispiel total falsch das sich die """Methode""" nicht in einer klasse befindet. Es ist halt wirklich nur eine Funktion @ Raiden Wenn es int main heist braucht man das return 0 Wenn es void main heist muß das return weg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 @stefanie Aber ich bin der Überzeugung wenn man direkt mit OOP anfängt hat man späterkeine schwierigkeiten umzudenken. Außerdem lernt man so direkt die Richtigen begriffe. Da kannst Du recht haben, ich muß jedesmal überlegen Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Best-Of-Me Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 hallo, bist du dir sicher, dass das programm so läuft??? ich bin ziemlich sicher dass das mit void main nicht stimmt. muss das nicht int main heissen? und weiter unten muss return 0 stehen. das main steht übrigens für das hauptprogramm. ich weiss ja nicht wie tief ihr da noch reingeht, aber später besteht ein programm aus mehreren teilen, und dieses main darf bzw. muss nur einmal vorkommen. und dieses gecht(); oder getc(); hmmm kenn ich nicht. und die funktion double quadrat(double a) kann auch nicht stimmen. double ist keine beschreibung für eine funktion. da müsste es void quadrat(double a) heissen. den rest hat ja worschter ja ganz gut erklärt. habt ihr denn kein skript von der schule bekommen? ein gut gemeinter rat von mir: das was ihr jetzt gerade macht ist wirklich nicht schwer. wenn du jetzt den faden verlierst, dann gute nacht wenn pointer & co. kommen. Rayden, der Mann den faden kann ich ja garnicht verlieren wenn ich den noch nie gefunden hatte.... der lehrer ist einfach nur zu dämlich es vernünftig rüber zu bringen!!! denn niemand versteht das was er versucht uns zu erklären!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast ABert Geschrieben 10. November 2004 Melden Share Geschrieben 10. November 2004 is ja übel, der typ bringt euch nichts bei, lässt aber eine klausur schreiben... ist echt schlimm wenn lehrer sachen unterrichten müssen, von denen sie nichts verstehen bzw. nur techniker ohne pädagogische fähigkeiten sind. hab so was ähnliches auf meiner berufschule. bin angehender IT-System-Kaufmann, wir haben ein fach, das nennt sich IUT (was das heissen soll hab ich vergessen, sowas wie "IT grundlagen für noobs"). dem herrn "fachlehrer" müssen wir fast jeden block irgendwas erklären oder wir streiten mit ihm (stur ist der depp auch noch!!), bis einer infos ausm netz zieht, die seine haarstreubenden "thesen" widerlegen. sein vorgänger wusste schon wovon er redet, aber hatte das gleiche prob wie dein lehrer - keiner hat ihn verstanden. //ontopic mode on zum thema c/c++ kann ich dir nur empfehlen dich selbst damit zu beschäftigen. ganz gut sind zB bücher des Sams' verlages (englisch). ich habe mal mit Teach Yourself C in 21 Days angefangen, danach kam Teach Yourself C++ in 21 Days. geniale bücher, leicht verständlich, gute beispiele - genau richtig für ein anfänger und fortgeschrittenere werden auch nicht enttäuscht. nebenbei lernt man noch etwas englisch. informatik unterricht in der schule ist zwar schön und gut(wie du schon bemerkt hast, leider sehr abhängig vom lehrkörper), wenn du es aber ordentlich lernen willst, ist selbststudium angesagt. cu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Boutch Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 Hi, habe ganz vergessen, das man Funktionen vordeklarieren kann. Na dann iost es OK. Aber bzgl. den Lehrer muß ich sagen, das auch kein Lehrer einem das Programmieren beibringen kann. Er kann Hilfestellungen geben, aber das Programmieren liegt bei einem selbst, d.h. man muß sich damit beschäfitigen. Ein guter Coder ist der viel Erfahrung damit hat. Ich bin zwar kein Lehrer, aber dafür Coder. Boutch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rayden Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 @boutch: richtig programmieren lernt man durch programmieren. ich hab mir vorhin nochmal die übungen angeschaut, die wir in der schule gemacht hatten ich finde trotzdem dass java leichter zu lernen ist wie c++ (kam mir jedenfalls so vor). aber jedem das seine. ich bin bestimmt zu spät dran aber ich wünsch dir viel glück bei der klausur. Rayden, der Mann Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Boutch Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 @ rayden: stimmt, nur duch programmieren lernt man wirklich programmieren. Ein Lehrer kann dich nur unterstützen. Ich finde auch, das JAVA einfacher zu lernen ist, da es dort keine Zeigeroperationen wie in C++ gibt. Abhesehen davon ist es übersichtlicher, wenn es um Vererbung geht, da es dort nur einfache Vererbung gibt. Butch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rayden Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 also dann erklär mir mal eins: warum lernen dann alle C++??? für mich ist diese sprache so komplex (ich sage nicht dass sie schlecht ist) dass wirklich nur programmierer da ran sollten. was bringt es, wenn leute in ihrer ausbildung das lernen, nur schwierigkeiten haben und danach sowieso fast nichts mehr damit zu tun haben. ich finde er sollte als elektroniker assembler lernen. aber die schulen haben sowieso ein merkwürdiges system. ich hab als anwendungsentwickler sage und schreibe 2 monate programmieren gehabt, musste mich aber monatelang mit servern, benutzerrechte, domänen,....rumschlagen. meine ganzen programmierkenntnisse hab ich mir alle selber beigebracht. probieren..probieren...probieren... so und jetzt wünsche ich allen noch einen schönen arbeitstag. Rayden,.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Boutch Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 ... liegt doch fast auf der Hand, warum in Schulen noch C++ unterrichtet wird. Es ist halt das Personal, das C++ kann. Java können die wenigsten älteren Lehrer. Abgesehen davon ist es eine gute Übung. So, nun frohes schaffe. Boutch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 Dafür gibt es nen simplen Grund, C ist auf Hardwareebene einfach wesentlich schneller als Java. Soweit mir bekannt ist schlägt C oder C++ in der Richtung nix oder nur wenig, abgesehen von Assembler. C/C++ kann Assemblercode einbinden kann das Java auch, ich denke nicht oder täusch ich mich? Ich kenne Java nicht, aber in der hinsicht hat Java, da es sehr auf Portabilität ausgelegt ist, in meinen Augen seine Schwachstellen. Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast tschacka Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 Java wird in der VirtualMachine ausgeführt, diese ist von System zu System verschieden (also unterschiedliche VM´s für Win, LINUX, MacOS, etc...). Weil Java also nur auf einem "simulierten Rechner" läuft kann es natürlich nicht echten Assemblercode einbinden (Ausnahmen bestätigen die Regel, Thema Sicherheitslücken). Das ist in erster Linie der Grund, warum auch ein java 5-Zeiler schnarchlangsam anläuft (die VM muß erst mal gestartet werden), wenn es den läuft ist es gar nicht so langsam, siehe z.B. ProjectX. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Worschter Geschrieben 11. November 2004 Melden Share Geschrieben 11. November 2004 Jo genau so sieht´s aus. Bei den ganzen hardwarenahen Sachen kommt man um C oder C++ nicht rum. Kleines nicht ganz ernst gemeintes Beispiel: Betanova = Java (schweine Langsam) Tuxbox= C / C++ (schön schnell) Gruß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.