Beiträge von sauzachn

    Die Sache mit Accounting von Druckaufträgen ist leider alles andere als einfach. Kurz gesagt: Die gedruckten Seitenzahlen lassen sich nicht immer korrekt ermitteln. Es hängt i.W. vom Format des Dokuments ab. Gerade bei Windows-Clients kommt noch das Problem dazu, dass diese meist RAW drucken.

    Leider ist mir bisher noch keine gute stabile Accounting-Software unter Linux bekannt (es gibt einige Systeme auf freshmeat.net, die aber praktisch alle auf CUPS aufsetzen), weswegen wir am Institut auch immer noch das (kostenpflichtige) PAS unter Windows verwenden müssen (das aber immerhin korrekt rechnet).

    Wenn du trotzdem was Funktionierendes (er)findest (ich habe mich das letzte Mal vor über einem Jahr damit beschäftigt), wäre es sehr nett, wenn du es mir mitteilen könntest!

    Eine wirklich stabile Lösung ist für mich nur so denkbar, dass man einen Drucker ausschließlich über Accounting nutzt und vor und nach den Aufträgen die Seitenzahlen vom Drucker selbst ausliest (das geht z.b. mit http://npadmin.sourceforge.net/ ).

    im übrigen wundert es mich, dass niemand die courgage hat, seinen namen unter seine meinung zu setzen. angst ist immer schon ein schlechter ratgeber gewesen.


    Ähm? Das hat nix mit Courage zu tun. Viele Leute hier kennen die Namen der anderen. Es lässt sich meist auch über das Profil leicht rausfinden. Der Name ist bei "echten" Themen auch egal. Ob jetzt einer Martin, Markus oder Christoph heißt, wenn er wissen will, wie er ausrechnet, ob zwei Vektoren orthogonal sind, spielt keine Rolle.

    Tut mir ja leid für die armen Singvögel, aber angesichts von Massentierhaltung und Massenschlachthöfen von den paar Vogerln zu reden, kommt mir vor, als wenn man anprangert, dass jemand in Arabien "Lehrer" anstatt "LehrerInnen" geschrieben hat, während eine Frau wegen Ehebruchs gesteinigt wird.

    Vor ein paar Monaten war übrigens im ORF eine Sendung über dieses Phänomen mit den Vögeln. Ich würd das "Verbrechen" mal zwischen Haustier und Zoo einordnen. Schlecht gehts denen nicht. Das einzige, was wirklich bedrohlich ist, ist, dass es für sie eine Belastung ist, wenn sie gefangen werden. Im Frühjahr lässt man sie dann eh wieder los.

    Google findet schon einiges, wenn du nach "C grammar" suchst. Das kann man dann z.b. direkt mit lex/yacc weiterverarbeiten:

    Aber aufpassen: Eine LR(n) C Grammatik hat ein shift/reduce Problem: Und zwar war es das, dass man die Zugehörigkeit eines "else" Blocks in einem verschachtelten "if" nicht eindeutig klären kann. In C wird ein "else" immer zum innersten "if" gezählt, um dieses Problem zu lösen.

    Also im Moment schauts für mich am gscheitesten aus, wenn du es so in etwa machst.

    In Telefonbuch.java hinzufügen:

    Code
    public int length() {
            return meinTelefonbuch.length;
        }
        public Telefonbucheintrag eintrag(int i) {
            return meinTelefonbuch[i];
        }


    (Du könntest auch meinTelefonbuch public machen, aber das verletzt die Kapselung)

    Im Constructor von Binaersuche fügst du den Parameter "Telefonbuch telbuch" hinzu und änderst die Verweise darauf.

    Jetzt hast du noch eine Aufgabe und zwar wie du das mit dem compareTo löst. Ich würde sagen, du implementierst diese Methode in Telefonbucheintrag mit der Signatur "int compareTo(String n)", die ein compareTo mit "name" macht.

    btw: @Binaersuche.java: Anstatt "gefunden == false" ist "!gefunden" lesbarer.
    btw2: @Binaersuche.java: Wenn du zuerst ein "return" machst (im default-Zweig), brauchst du danach kein "break", da er das ohnehin nie erreichen wird.
    btw3: @Binaersuche.java: Versichere dich, dass du in der Methode immer einen Wert zurückgibst. Im Moment passiert das nicht. Muss aber sein, weil sie vom Typ "int" ist.

    So, das war jetzt aber genug Hilfe. Damit schaffst du es schon.

    1. In der Klasse Telefonbuch gibt es keine Methode length(). Die sollte vermutlich "meinTelefonbuch.length" zurückgeben.

    2. In Binaersuche hast du keine Referenz auf Telefonbuch. Du wirst der Klasse Binaersuche irgendwo (z.b. im Constructor) das Telefonbuch übergeben müssen.

    3. In Zeile 14 in Binaersuche.java steht "arrayname" - was soll das sein? Das wird nirgends deklariert.

    Du musst halt noch warten, bis es keine analogen Sender mehr gibt... aber dann... hast du zwar theoretisch recht aber die Säcke werden das sicher anders sehen...


    Ich habe da wenig Hoffnung bei einer Behörde, die meint, dass PCs mit Internet GIS-pflichtig sind, weil man sich ja ORF-Streams anschauen könnte.

    C++-Dateien werden grundsätzlich als Textdateien geschrieben, das ist egal, mit welchem Editor man die bearbeitet.

    Über ssh solltest du zumindest "g++" verwenden können: "g++ datei.cpp".

    "using namespace std;" hat nichts mit dem Editor deiner Wahl zu tun, sondern gehört zu C++ selbst.

    double A
    double U


    Deklariert die Variablen A und U mit floating point Zahlen doppelter Präzision (im Vergleich zu einem float). Findest du in jedem C++ Lehrbuch innerhalb der ersten 10 Seiten ;)

    Übrigens gehört da im "Original" noch ein Strichpunkt hinter A und U.

    Allerdings kein message passing, und proxies sind auch eine Illusion.
    Generizität ist nichts anderes als ein Workaround für das Fehlen von object introspection (deswegen ist es in Java auch so deplaciert).


    Du willst also so was wie Smalltalk haben? Ja, das geht natürlich mit C++ nicht, weil es halt doch eine statische und keine dynamische OO Sprache ist.

    Ich hatte diese Situation in CG2 -- ein Model im Model Loader ist was anderes als ein Model in der Physik-Engine oder ein Model in der Graphik-Engine. Schlechtes OOP wäre gewesen, diese alle in eine Klasse zu stecken.


    Eine Alternative wäre "PhysicalModel" und "GraphicalModel" gewesen. Die könnten sogar evt. von "Model" erben :)

    Aber das Problem ist, dass es dann unbequem und/oder unintuitiv wird: Entweder es artet in einen generellen Präfix "Physical" für alle zusammengehörigen Klassen aus oder du weißt nicht mehr, welche Klassen mit welchen zusammenspielen.

    Weil bei guter OOP keine Funktion zweimal vorkommen wird, da sie in Klassen als Methoden gekapselt sind und eine Klasse auch nicht zweimal vorkommen sollte (was mach ich zB mit zwei Klassen namens Person? ;) - eine Person ist eben eine Person)


    Natürlich hast du im Prinzip recht - man müsste nur jede Klasse/Funktion vollständig (und damit eindeutig) benennen. Aber dass das nicht funktioniert oder höchst unbequem sein kann, zeigt dir schon, dass es in praktisch jeder prozeduralen oder objektorientierten (aber auch funktionalen) Sprache ein Konstrukt "Modul" gibt (wie auch immer das konkret geartet ist), das mehrere Funktionen/Klassen zu einer Einheit zusammenfügt. Seien es Namespaces in C++, Packages in Java oder Ada, Cluster in Eiffel, Module in Haskell usw.

    In allen anderen Sprachen hilft man sich mit einem Präfix (was um einiges häßlicher ist als ein Namespace).

    Plantschkuh hat schon auf die Verwendung von fremdem Code hingewiesen, was in diesem Punkt auch eine große Rolle spielt.

    C++ ist allerdings keine objektorientierte Sprache und man kanns auch nie komplett objektorientiert programmieren, da man sonst "Funktionsrestklassen" definieren müsste, wie zB für die mathematische Funktionssammlung...


    Warum ist C++ keine oo Sprache?! Ich würde jetzt nicht behaupten, dass es eine besonders elegante oo Sprache wäre (das Gegenteil ist der Fall), aber sie weist die typischen Merkmale der OOP auf: Klassen, Vererbung, Generizität, ...

    Dass man nie komplett OO programmieren kann, trifft nur auf die main() Funktion zu. Aber schau mal in Java/C#: Das public static void main(String[] args) hat auch nicht viel mit OO zu tun.

    Eine Sprache, die es konsequent oo macht, ist Eiffel: Dort gibt es kein main oder so was, sondern du gibst im "Makefile" eine (beliebige) Klasse an, die der Startpunkt des Programms sein soll. Von dieser Klasse wird dann (automatisch) zu Programmstart eine Instanz erzeugt und ihr Konstruktor aufgerufen.

    Beide Handies sind scheiße.

    Das Nokia hat einige Hardwareprobleme und haufenweise Abstürze.

    LG Handies sind fast immer Billigschrott mit schlechtem Empfang und schlechter Akkuleistung.

    Nimmst du die Handies von/für 3? Dann viel Spaß mit der Akkuleistung.