Size: 7387
Comment:
|
Size: 7389
Comment: Lesen hilft
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Fragen und Kommentare zur 3. Vorlesung / zum 3. Übungsblatt
@BenN naja, er hat schon irgendwo Recht. Tendenziell würde ich das hier auch eher ohne exit machen und dafür zB. ein return 0 mit entspr. if-Klauseln nutzen, aber ich bin mir nicht sicher, ob wir das schon anwenden dürfen/können... SebastianS 07Mai2010 12:01
@Jonathan Es wird wohl alleine schon deswegen Sinn machen weil du den Befehl ja in deinem Programm scheinbar benutzen willst. Und ich wüsste nicht wieso es ein Problem darstellt ne Bibliothek einzubinden. Das ist wahrscheinlich sehr viel einfacher, als das ganze so umzuschreiben, dass du den exit-Befehl nicht brauchst. BenN 07Mai2010 10:58
@Ben & Hannah: Ja zu dieser Schlussfolgerung bin ich heute Morgen nun auch gekommen. Nur ist die Frage, macht es Sinn sich diese ganze "Bibliothek" müssen mit rein zuholen nur wegen diesem exit-Befehl? JonathanN 07Mai2010 9:53
@Jonathan Was das exit(1) angeht so hab ich mich eben auch beim compilieren 10 Minuten daran aufgehangen. Die Lösung bei mir war dann einfach, dass ich die "stdlib.h" in der entsprechenden Datei nicht eingebunden hatte. BenN 07Mai2010 00:01
@Jonathan: Dass man exit(1) nur in der main Funktion einsetzen kann, halt ich für ein Gerücht. Schreiben Sie doch mal ein möglichst kleines Programm wo dieser Fehler bei Ihnen auftritt und schicken Sie es mir, dann schaue ich mal was mein System sagt. Hannah 6Mai10 23:55
@Martin & Hannah: Bei mir compiliert er glatt nicht mit exit(1), er sagt was von nur in main einsetzbar, von dem herstellt sich diese Frage beim Test gar nicht oder? JonathanN 6Mai10 23:50
@Manuel + Alle: Ina war schnell und hat's schon rausgefunden. Die Platte war mal wieder übergelaufen. Ich habe jetzt Platz geschaffen und jetzt sollte es wieder gehen. Unsere Plattenplatzprobleme sollten übrigens bald ein Ende haben. Wir haben schon vor geraumer Zeit 40 TB gekauft, aber die müssen jetzt erstmal noch über ein eigenes Netzwerk an unsere Rechnerstruktur angeschlossen werden. Da wir uns das teilweise selbst zusammengebaut haben, ist das nicht so einfach, aber wir hoffen es bald geschafft zu haben. Die 40 TB reichen dann hoffentlich erstmal bis zum Ende des Jahres. Hannah 6Mai10 23:48
@Manuel: Ja, stimmt, da ist irgendwas komisch, ich habe Ina gebeten danach zu schauen, das wird aber sicher heute nichts mehr. Hannah 6Mai10 23:24
@Martin: So direkt nein, aber man etwas in der Art machen, aber das ist höhere Testkunst, zu der kommen wir erst (viel) später. Hannah 6Mai10 23:21
Ich kann komischerweise in Hudson keine Builds starten. Im Build-Verlauf erscheint manchmal ein "(in Bearbeitung - ??? )", verschwindet aber auch schnell wieder. Username ist mb303. Manuel 6Mai 23:08
Ist es möglich dem GoogleTester zu sagen, dass die zu erwartende Antwort einer Funktion ein exit(1) ist? Martin 6Mai 22:37
@Dario: Auf keinen Fall dürfen Sie weniger Funktionen verwenden, dann können Sie die Funktionen nämlich nicht mehr einzeln testen! Der Sinn eines unit tests, ist ja gerade, dass wenn er fehlschlägt, dass man dann gleich weiß wo das Problem ist. Wenn man alles in eine Funktion schreibt und für die einen Test und dieser Test schlägt fehl, dann weiß man nur, dass irgendwo in dieser großen Funktion irgendwas falsch ist. Unabhängig davon halte ich es für eine sinnvolle Alternative statt der Funktion int getNumLeapDaysSince1Jan1800(int day, int month, int year) eine Funktion bool isLeapYear(int year) zu haben. Hannah 6Mai10 19:16
Muss man unbedingt mit den gegebenen Funktionen das Programm schreiben? ich meine könnte ich mit einer Funktion alles machen? oder evtl eine weglassen?Dario 6Mai10 18:59
@Simson Du kannst es auch als boolesche Variable definieren anstatt 1 oder 0Dario 6Mai10 18:19
@Hannah: Einfacher nicht, aber angenehmer (sonst muss man immer bedenken, dass Sonntag der erste Tag ist). SebastianS 6Mai10 17:47
@Sebastian: Sie meinen, dass in dem Kalender in der ersten Zeile nicht steht Su Mo Tu We Th Fr Sa sondern Mo Tu We Th Fr Sa? Wenn Ihnen das hilft, von mir aus. Wobei ich nicht sehe, wie es das Problem einfacher macht. Hannah 6Mai10 17:40
@Simson: Gute Frage. Die Antwort ist: es ist Ihnen überlassen, es sollte nur genau definiert sein (und auch entsprechend in der Dokumentation für die Funktion in der .h Datei beschrieben sein) und dann auch entsprechend benutzt werden. Hannah 6Mai10 17:38
Dürfen wir das Programm so umbauen, dass der erste Tag der Woche der Montag ist? SebastianS 6Mai10 16:47
Sollte getNumLeapDaysSince1Jan1800(29, 2, 1804) 1 oder 0 zurückgeben? Simson 5Mai10 14:42
@Mirko: Haben Sie sich schon für die Vorlesung registriert über den Link oben? Wenn ja, sind Sie eh schon einem Tutor zugewiesen und Ihre Übungsblätter werden korrigiert. Wenn nicht, holen Sie das bitte nach und schreiben eine Mail an Jens Hoffmann, dass Sie sich gerade noch registriert haben. Hannah 6Mai10 12:18
@Mirko + Fabian: Der Code aus der Vorlesung wird ab jetzt in einem Unterordner vorlesungen von unserem SVN repository stehen, dann kriegen Sie ihn ganz einfach mit einem SVN checkout bzw. wenn Sie einmal eine Arbeitskopie haben mit svn update. Ich habe Jens gerade gebeten, diesen Unterordner für alle lesbar zu machen. Sobald das geschehen ist, werde ich das oben in einer Mitteilung schreiben. Hannah 6Mai10 12:16
Deine Abgabe = Teil deiner Note. Es gibt keine Klausur am Ende der Vorlesung. Die Uebungsgruppen sind freiwilliger Natur und es gibt keine Anmeldung dazu. Du kannst einfach kommen. Jens 6Mai 12:12
Hat nicht direkt mit dem dritten Blatt zu tun: Ich bin in keiner Übungsgruppe eingetragen, will auch keine besuchen, hätte aber gerne meine Abgaben korrigiert. Geht das? 6Mai10 12:07 Mirko
Bekommen wir die Dateien aus Vorlesung 3? Grüße Fabian 6Mai10 12:02
Können wir noch die cpp Dateien aus der 3. Vorlesung haben? Danke! Martin S. 6Mai 11:21
So in etwa habe ich es auch gemacht. Gerade auch weil in getNumLeapDaysSince1Jan1800 der Tag als Paramter nicht wirklich sinnvoll ist.... An sich muss ja nur das Programm funktionieren, wie die Funktionen gemacht sind, is ja dann auch letztenendes eher Nebensache, oder? . DavidZ 6.Mai10 09:26
@DavidZ + Alle: Ja, wenn es sinnvoll ist, können Sie das gerne machen. Was zusätzlich eine sinnvolle Alternative wäre, ist es keine Funktion int getNumLeapDaysSince1Jan1800(int day, int month, int year) zu haben, sondern stattdessen eine Funktion isLeapYear(int year). In getDayOfWeek würde dann die Schleife stehen, die sonst in getNumLeapDaysSince1Jan1800 stehen würde und in getNumDaysOfMonth (mit zusätzlichem Parameter int year) könnten Sie dann direkt isLeapYear aufrufen. Jetzt wo ich es schreibe, finde ich es sogar besser so. Hannah 6Mai10 00:14
Anders ist es nicht möglich die Funktion sauber zu bauen. Die Schaltjahre kann man nur mittels eines weiteren Parameters "int year" berechnen. Ben 5.Mai10 23:54
Hallo. Ist es auch erlaubt, die Methoden komplett zu verändern? Also darf ich auch z.B. getNumDaysOfMonth(int month) mit weiteren Paramtern initialisieren? DavidZ 5.Mai10 23:19