Taschenrechner
-
zocker001 schrieb:
Da ich C++ nach den Kapiteln eines Buches lerne, wurden diese leider noch nicht angesprochen, bzw ich habe das Kapitel noch nicht gelese.
Ciao...zocker001
hallo,
also ich habe den code mal ausprobiert, läßt sich kompilieren und läuft auch alles, soweit mich meine kopfrechenfähigkeiten nicht betrügen. soweit also mal ein LOB
allerdings, was ich mich frage, nach was für einem buch lernst du denn c++ bzw von wann ist das buch?? goto war doch schon zu zeiten der prozeduralen programmierung stark verpöhnt, aber das dann in zeiten der oop zu lehren...
das nächste, schreibe mal ans ende deines quelltextes einreturn 0;
dies ist zwar nicht zwingend notwendig, aber guter stil. und da man bei guten betriebssystemen den exitstatus eines programms aufrufen kann auch ganz sinnvoll.
ansonsten macht das programm das was es soll, und das ist, jedenfalls nach meinung meines c-dozenten, das wichtigste! meine pascal und c++ - dozenten sehen das ganze zwar ganz anders, aber am anfang ist es doch wichtiger erstmal die werkzeuge kennen zu lernen als auf guten stil zu achten. aber vergiss bitte so schnell wie möglich, daß es soetwas wie goto überhaupt gibt
wenn du noch keine funktionen schreiben kannst ist das auch kein problem, man kann auch vollkommen ohne sie auskommen, sie erhöhen aber die wartbarkeit erheblich und sie sind eigentlich gar nicht kompliziert. wie int main(), nur, daß in den klammern noch parameter stehen und anstelle von int jeder beliebige datentyp stehen kann und anstelle von main dein selbst gewählter funktionsname (welcher meistens das größte problem darstellt). auf die frage, was ihr größter fehler gewesen sei, sagten die erfinder von c und linux, daß sie die funktion strcpy() (stringcopy) nicht strcp() oder strcopy() genannt haben...also, mach weiter so und lass dich nicht entmutigen wenn manche leute, zwar mit gutem grund, deinen stil kritisieren. das kommt schon fast von alleine wenn du ein bissl drauf achtest, die werkzeuge zu beherschen ist schwieriger und wichtiger als der stil!
grüße,
Sternenstaub
-
Warum bei "2113114847" der Code nicht angezeigt wird, ist mir ein Rätsel...
Sehr komisch, den ich mach das selbe wie du und bei mir klappts...mfg
zocker001
-
An Sternenstaub:
Danke, dass dir mein Programm gefallen hat.
Du hast ja vollkommen recht. Ich sollte mich eher auf das Lernen von C++ konzentrieren, als jetzt schon am Programmierstil zu feilen.Das Buch, das ich besitze heißt: "C++ lernen und professionell anwenden"
Meiner Meinung nach bis jetzt ein sehr gutes Buch. Das Erscheinungsjahr dürfte soweit ich weiß bei 2002 liegen. Die goto-Befehle wurden zwar nur kurz erläutert, aber ich fand sie irgendwie (auch jetzt noch :D)hilfreich, auch wenn das andere nich so sehen (den Grund dafür weiß ich bis heute noch nicht...ist aber auch egal). Es wurden auch Makros zur Änderung der Farben angesprochen, die bei mir allerdings nicht funktionierten. Andere Leute haben mir bei den Makros auch geraten, die Finger davon zu lassen.Nochmals danke....
grüße von zocker001
Ciao...Übrigens: Wenn ich bei den Funktionen angelangt bin, werde ich mit Sicherheit wieder ein paar Beiträge schreiben...bestimmt
-
Das mit den farben: Sicherlich ansi-escape-sequenzen, und du hast winXP?
Warum goto net so toll ist, merkst du spätestens dann, wenn Funktionen behandelt werden...
Achja:@2113114847:
Hast du vielleicht bb-code deaktiviert? (Bei optionen)
-
Ne, hab Windows 98.
-
Zu 2113114847:
Wenn du dir nicht Sicher bist, ob dein Code richtig angezeigt wird, verwende doch mal die Vorschau-Funktion.
grüße von
zocker001
-
@Zocker: Wie funktionieren die Farbmakros denn? Was passiert wenn du sie benutzt? (Ich weiß, offtopic, aber ich habe selber mal versucht die Farben mit escape-sequenzen zu ändern, würde gern nadere Wege kennen lernen[Ich weiß das es improved console gibt und schreibe eigentlich WinApi])
-
Du fragst hier einen Anfänger (!!!DANGER!!! ---> Fehlergefahr)
In meinem Buch steht ein Makro zur Änderung der Farbe:#define FARBE(v, h) (cout << << "\033[1;3" << (v) << ";4" << (h) << 'm' << flush)
v = Vordergrundfarbe (Zahl eingeben)
h = Hintergrund (Zahl eingeben)Aufruf des Makros z.B.:
FARBE (0, 1)
Zahlen geben die Farbe des Bildschirms an.
Bei mir hat sich da nichts geändert. Weis nich, warum.
Ciao...
zocker001
Kann heute kleider nicht mehr antworten...:)
-
Sieht nach escape-sequenzen aus! (Verbessert mich!) Warums unter 98 net geht weiß ich nicht!
-
@ goto:
1. stell dir mal ein programm mit mehreren 1000 zeilen code * vor in denen wild mit goto hin und hergesprungen wird... wer soll da denn den überblick behalten? sprung in zeile 12787 zu einer sprungmarke "oben:", wo in dem quelltext steht denn "oben:", was kann man sich unter "oben:" vorstellen etc?? wenn man das selber programmiert hat, kann man sich das alles vielleicht noch zusammenreimen, aber was macht man als armer programmierer der den code gegenlesen, optimieren oder debuggen soll??2. schleifen mit genau einem ausgang und funktionen sind da erheblich leichter zu warten und zu verstehen. nicht umsonst kann man in struktugrammen keine goto - anweisungen darstellen...
3. nächster punkt ist eine mögliche modularisierung, damit mehrere personen an einem programm arbeiten können. ein großes problem wird in mehrere kleine probleme aufgeteilt, welche dann wiederum in kleinere aufgeteilt werden bis man handliche kleine portionen hat welche man dann mit relativ einfachen funktionen lösen kann. jeder entwickler muß sich also nur um mehrere kleine probleme kümmern, und am ende werden dann alle lösungen noch kombiniert, jedenfalls in der theorie. auch hier ist goto relativ ungeeignet...
4. kleine programme (mehrere 100 zeilen code), wie du, und wahrscheinlich auch ich, in nächster zeit noch schreiben werden werden ohne probleme auch mit goto´s funktionieren. aber warum sollte man sich etwas angewöhnen was man eigentlich nicht benutzen sollte / darf?
grüße,
sternenstaub
* zum vergleich: programm zeilen code x-beliebige handysoftware 200.000 hubble-boden-software 1.000.000 luftraum-überwachung 2.000.000 spaceshuttle 3.000.000 B-2 stealthbomber 4.000.000 win95 10.000.000 win NT 4.0 16.000.000 win2000 27.000.000 winXP 45.000.000
-
@ness: Oops, den BB-Code hatte ich tatsächlich deaktiviert. *hüstel*
@zocker001: Die Vorschau hab ich schon Verwendet aber schlussendlich hab ich dennoch gepostet, da es eigentlich um den Inhalt geht.
@alle: Ich heisse übrigens Moritz.
-
ness:
Es sind Escape-Sequenzen (steht zumindest in meinem Buch)!
Ich hab hier noch ein Makro gefunden, das den Bildschirm löscht:#define CLS (cout << "\033[2J")
Funktioniert bei mir auch nicht, genauer gesagt, gar keines funktioniert von denen...
Hast du's mal ausprobiert???
Hatt es funktioniert???
Wenn ja, welches Betriebssystem verwendest du???grüße von
zocker001
-
Sternenstaub:
Ok, ok, ok...
Du hast ja recht, es ist wirklich schwieriger den Code zu entschlüsseln, wenn immer Kreuz und Quer durch die Zeilen gesprungen wird.Umso größer war ich überrascht, als ich die Tabelle unten laß:
Ich kann mir überhaupt nicht vorstellen, wie man für ein Betriebssystem 45.000.000 Zeilen Quellcode schreiben kann???
Jetzt bin ich wenigstens informiert, wie viel Aufwand hinter so einem Projekt steckt.
Wo hast du die Zahlen her???
Gibt es eine spezielle Web-Seite???Nochmals danke für die Tipps und Infos
grüße von
zocker001
-
2113114847:
Hi Moritz:
ich heiße Andreas, aber alle nennen mich Andy...Ciao...
Grüße von Andy
-
Eine Frage noch:
Wenn ich in meinem Programm manchmal etwas eingebe, das nicht zutrifft, herrscht bei mir auf dem Bildschirm das völlige Chaos
Wie lässt sich das vermeiden????Ciao,
euer zocker001
-
@ zocker:
die zahlen habe ich von meinem dozenten in datenverarbeitungs-organisation. habe allerdings keine ahnung woher der die hat.
-
Hi Zocker,
Die makros für die Farben funzen nicht unter 98, da liegt ja noch echtes DOS unten drunter. w2k macht das ganz super, aber du hast da auch 'ne ganz andere Konsole, die Hülle sieht zwar gleich aus, aber wasj drunter ist, ist grundverschieden. Farben auf der 98er Konsole ist vergebene Liebesmühe.
Es gibt hier im Forum übrigens 'ne klasse Konsolen-Lib ( mit Klasse meine ich diesmal 'super' oder 'toll'). Must du mal suchen, nach 'Improved Console',
gibts auch Kompilierhinweise, wurden am 04.04.2003 um 13:46 Uhr von 'SideWinder' editiert. Nach dem Beitraegen von ihm kannst du auch suchen.
Vielleicht auch ein schönes Beispiel, warum Funktionen so ungemein nützlich sind.Have some fun
arniSind auch nette Funktionen dabei, mit denen man Rahmen um Taschenrechner und so weiter ziehen kann, und so einiges mehr.