enter beim verändern von dateien
-
Wer macht sich bitte die Mühe so einen Hunz runterzutippen... Oder hat jemand einen TrollCodeGenerator geschrieben? Hey... Das wär doch mal ne Idee...
Ich tue es mir jedenfalls nicht an, genau zu analysieren, welcher der 258 Fehler direkt zum Problem führt.
lmao hab grad erst bemerkt dass es insgesamt 258 Zeilen sind

-
HarteWare schrieb:
Wer macht sich bitte die Mühe so einen Hunz runterzutippen... Oder hat jemand einen TrollCodeGenerator geschrieben? Hey... Das wär doch mal ne Idee...
Ach, du glaubst gar nicht, wie viel Zeit manche Leute hier im Forum schon für ziemlich lahme Witze verwendet haben.
Aber versuchen wir mal eine ernsthafte Antwort, für alle Fälle:
-Kein goto!
-Variablennamen, die etwas sagen, keine kryptischen Abkürzungen
-Variablen dort definieren, wo sie gebraucht werden
-Auf korrekte Einhaltung der Grenzen von Feldern und Containern achten. Die gehen in C++ bei 0 los! Welches ist der höchste gültige Index, wenn man X Elemente von 0 an hoch zählt?
-Korrekte Leselogik: Erst lesen, dann auf Lesefehler prüfen, dann ggf. gelesene Daten Verarbeiten. Nicht umgekehrt!
-Man sagt ja, dass in einem guten Programm sich keine Zeile jemals wiederholt. Was sagt man wohl zu einem Programm, bei dem sich drei Zeilen 70 Mal wiederholen?
-Nur genau die Header einbinden, die man braucht, nicht einfach alle Header, die man kennt.
-Noch sehr, sehr viel mehr, aber da ich nicht so recht glaube, dass dies eine ernst gemeinte Frage ist und da eine Umsetzung der Hinweise sowieso ein komplettes Neuschreiben des Programms nötig macht, belasse ich es erst einmal dabei.
-
die 60-70 Fallunterscheidungen kann man übrigens auf 2 Zeilen kürzen:
std::map<char, char> M{ {'a', 't'}, {'A', 'T'}, {'b', 'l'}, {'B', 'L'}, {'g', 'b'}, {'G', 'B'} /* u.s.w. */ }; std::transform(cstring.begin(), cstring.end(), cstring.begin(), [M](char c){ return M.at(c); } );
-
tut mir leid das ich erst letztens mit c++ angefangen hab und mir die Hälfte der Befehle wie fstream aus dem Internet quasi kopiert hab.
@SeppJ
-Kein goto! wieso? ich will ja wieder zum Anfang wenn der Fall zutrifftdie Variablennamen hätte ich hier vlt. besser benennen sollen sry, aber hab es eigentlich für mich geschrieben und da hat es gereicht.
Variablen nur da benennen wo ich sie brauch? Ähm so gut wie alle gehen quasi übers komplette Programm ich finde sie halt einfacher wenn sie alle ganz oben zusammen stehen.
warum ich mich so oft wiederhole, hmm hab erst angefangen und nun mal nur switch als Auswahlmethode gelernt.
@klassenmethode
Wäre echt praktisch die Fallunterscheidungen so zu kürzen aber bei mir kommt der Fehler:
"namespace "std"" hat keinen Member ""map"".
"namespace "std"" hat keinen Member ""transform"".Jemand der nicht so viele Befehle kann und erst angefangen hat.
-
#include <map> #include <algorithm> using namespace std;
-
gondolator schrieb:
tut mir leid das ich erst letztens mit c++ angefangen hab und mir die Hälfte der Befehle wie fstream aus dem Internet quasi kopiert hab.
vielleicht solltest du dir erstmal ein vernünftiges fachbuch kaufen und nicht einfach was aus dem internet kopieren.
@SeppJ
-Kein goto! wieso? ich will ja wieder zum Anfang wenn der Fall zutrifftweil goto den code unpübersichtlich macht. es gibt natürlich situationen, in denen goto angebracht ist (z.b. wenn du 20 if-abfragen hast und da unkompliziert wieder raus willst), aber das ist hier eindeutig nicht der fall
die Variablennamen hätte ich hier vlt. besser benennen sollen sry, aber hab es eigentlich für mich geschrieben und da hat es gereicht.
ja und uneigentlich fragst du hier jetzt nach. wenn du irgendwas programmierst und dann für paar monate im urlaub, im knast, auf montage (jedenfalls kannst du dich in der zeit nicht damit beschäftigen) bist und dann weiter machen willst, ist ein "int anzahl_der_buchstaben_in_der_textdatei" zwar viel schreibarbeit (ist auch nur ein übertriebenes beispiel), aber dafür weißt du, welche bedeutung die variable hat, was bei int a nicht unbedingt der fall ist.
Variablen nur da benennen wo ich sie brauch? Ähm so gut wie alle gehen quasi übers komplette Programm ich finde sie halt einfacher wenn sie alle ganz oben zusammen stehen.
man kann auch darüber streiten, ob das wirklich so gut ist. die einen sagen eben, dass man die anlegung der variablen von der rechnerei trennen sollte und die anderen eben nicht.
warum ich mich so oft wiederhole, hmm hab erst angefangen und nun mal nur switch als Auswahlmethode gelernt.
noch ein grund mehr dafür, dass du dir ein buch holst. ich würde dir c/c++ von ulrich kaiser empfehlen. es fängt ganz langsam an mit if, switch, for usw. (sprich den grundlegenden sprachelementen) dann gibts erstmal bergeweise übungsaufgaben, die teilweise gar nicht mal so ohne sind, dann gehts weiter mit zeigern und strukturen, wieder bergeweise übungsaufgaben und dann gehts erst los mit c++ und entsprechenden anwendungen davon.
mit "ich hab mir das mal so aus dem internet gezogen" wirst du nicht weit kommen und bestenfalls texte und zahlen ein- und ausgeben können (außer natürlich, du hast schon informatik studiert und willst das gelernte jetzt mal anwenden). wenn du sowas willst, ist es ja in ordnung, aber insbesondere dann, wenn du damit mal geld verdienen willst, wirst du um fachbücher nicht herum kommen.
-
HansKlaus schrieb:
noch ein grund mehr dafür, dass du dir ein buch holst. ich würde dir c/c++ von ulrich kaiser empfehlen.
Ich würde pauschal von allem abraten, was Fantasiesprachennamen wie "C/C++" im Titel hat oder vom Galileoverlag aufgelegt wurde.
-
naja das buch ist von einem professor einer fachhochschule und wird daher vermutlich eher weniger mit den sprachen c und c++ an sich zu tun haben, als mit der benutzung dieser.
also der inhalt ist folgender:
1. einige grundbegriffe
2. einführung in die programmierung
3. ausgewählte sprachelemente von c
4. arithmetik
5. aussagenlogik
6. elementare datentypen und ihre darstellung
7. modularisierung
8. zeiger und adressen
9. c-referenz (teil 1)
10. kombinatorik
11. leistungsanalyse und -messung von algorithmen
12. sortierverfahren
13. datenstrukturen
14. c-referenz (teil 2)
15. ausgewählte datenstrukturen
16. elemente der graphentheorie
17. projekt 2d-programmierung
18. c++-referenz (teil 1)
19. objektorientierte programmierung
20 klassen in c++
21 vererbung in c++
22 c++-referenz (teil 2)
23 die c++-standard-library
24 projekt 3d-programmierungeigentlich lernt man mit dem buch mit c und c++ zu programmieren. möchte man alles über c++ erfahren, ist man mit dem buch natürlich falsch dran.
-
HansKlaus schrieb:
eigentlich lernt man mit dem buch mit c und c++ zu programmieren.
Nach der Inhaltsübersicht würde ich eher sagen: Mit dem Buch lernt man, in C++ wie in C zu programmieren. Man lernt NICHT, mit C++ so zu programmieren, wie man in C++ programmieren sollte.
-
hmmm also das ganze inhaltsverzeichnis abzutippen war mir zuviel arbeit. verstößt es gegen irgendwelche forenregeln, wenn ich das abfotografiere und poste?
aber mehrfachvererbung z.b. ist kein bestandteil von c.
-
HansKlaus schrieb:
hmmm also das ganze inhaltsverzeichnis abzutippen war mir zuviel arbeit. verstößt es gegen irgendwelche forenregeln, wenn ich das abfotografiere und poste?
Nicht direkt, es wird bloß niemanden wirklich interessieren.
-
nagut wenn du das so sagst. wäre ja für mich auch mit arbeit verbunden, die ich mir so erspare.
