Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26
  1. #21
    W32.FunLove Avatar von Cr4ckEye
    Registriert seit
    19.11.2008
    Beiträge
    123

    Standard

    Die Zeichenkette ist nur bestimmt konstant, ich hätte auch die Stringlänge direkt in die Schleife schreiben können, ich wollte sie aber so implementieren dass ich jederzeit den Stringinhalt editieren kann ohne weitere Änderungen an der Funktion.
    Nagut, da in C++ das ganze Ein und Ausgabesystem auf Klassen basiert... naja, man will ja nich so erbsenzählerisch sein^^
    Ich wollte damit ja nursagen dass ich nur weil ich C++ verwende nicht gleich jede Funktion und Variable als Methode und Instanzvariable in ne Klasse haun muss^^.

    Mit Ebene meinte ich nicht die Ebene im Sinne von High und Lowlevel sondern eher von der optimierung aber auch Freiheit her.
    In ASM z.b. bin ich ziemlich unbeschränkt, allerdings ist die Sprache sehr "Umständlich" (ja, für Leute die das schon jahre machen natürlich nicht ^^). Wer will den von euch mal eine WinGUI in ASM schreiben?
    VB ist viel simpler aber eben auch viel eingeschränkter. Eine GUI ist z.B. kein Problem mehr, allerdings hat man mit kompatibilitäts Problemen zu kämpfen.
    C/C++ ist sehr frei, aber doch komfortabel, portabel und dynamisch erweiterbar. Zwar ist der Code nicht bis zur Perfektion getrieben wie in ASM, aber doch schnell und lesbar.

    Ich hoffe ihr habt meine Idee verstanden.

    MfG

  2. #22
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von Cr4ckEye
    Die Zeichenkette ist nur bestimmt konstant, ich hätte auch die Stringlänge direkt in die Schleife schreiben können
    Mit konstant habe ich mich auf das Laufzeitverhalten bezogen was soweit ich das verstanden habe auch so zutrifft (sprich: man muss den Code erst neu schreiben und neu Compilieren, damit sich die Zeichenkette ändert).

    Zitat Zitat von Cr4ckEye
    Wer will den von euch mal eine WinGUI in ASM schreiben?
    An dem Punkt kann ich nur lächelnd auf das Buch "Assembler - Grundlagen der Programmierung" von Joachim Rohde und Marcus Roming (ISBN: 978-3-8266-1469-9) verweisen, in dem sich der gesammte zweite Teil mit Windows-Programmierung in ASM (Intel-Style Syntax, MASN bzw. TASM als Compiler), also uA. auch mit der Erstellung von Fenstern und Co., beschäftigt.

    Und ich gehe davon aus, dass Windowsprogrammierung in ASM letztendlich fast so wie in C/C++ ist (sofern man nicht "cheatet" und Visual Doof++ benutzt);
    Code:
    invoke CreateWindowEx, ...
    mov handle, eax
    und
    Code:
    handle = CreateWindowEx(...);
    kommen doch auf's Selbe hinaus


    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. #23
    W32.FunLove Avatar von Cr4ckEye
    Registriert seit
    19.11.2008
    Beiträge
    123

    Standard

    Ich glaub das Buch zieh ich mir mal Danke für die Hinweise!

    MfG

  4. #24
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard

    Hi
    Zitat Zitat von Cr4ckEye Beitrag anzeigen
    Ich wollte damit ja nursagen dass ich nur weil ich C++ verwende nicht gleich jede Funktion und Variable als Methode und Instanzvariable in ne Klasse haun muss^^.
    Dann frage ich mich, für was C++ eigentlich taugt...

    GreetZ RiDER

  5. #25
    W32.Lovgate Avatar von ch3rrY
    Registriert seit
    02.03.2007
    Beiträge
    351

    Standard

    hier mal meine lösung mein erster versuch... kritik sehr willkommen...

    und ich suche übrigens eine lösung für nen fehler, wenn der user anstatt zahlen... buchstaben eingibt(man muss ja alles beachten )
    ansonsten hab ich so ziemlich jeden fehler beachtet... denke ich zumindest

    edit: link vergessen
    http://nopaste.free-hack.com/index.php?id=49c699cdde
    Geändert von ch3rrY (19.01.2009 um 22:41 Uhr)

  6. #26
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von ch3rrY Beitrag anzeigen
    hier mal meine lösung mein erster versuch... kritik sehr willkommen...
    Der Code ist ein bisschen unaufgeräumt (TABs nach einem geregelten Schema wären angebracht).
    Für eine simple Addition braucht man doch keine extra Funktion, oder? (wie zwei Autoren in ihrem "Java 5"-Buch vim Markt+Technik-Verlag bewiesen haben, kann man für eine division auch drei Klassen für eine Division schreiben, aber ich halte das eher für unnötig).
    Das ganze "if ( art == 1 ) [...] else if ( art == 2 ) [...]" könnte man durch eine switch-Verzeigung ersetzen.
    "for ( art = 1; art <= 4 " erscheint mir ein wenig überflüssig, da art nieeinen anderen Wert, zur Zeit dieser Überprüfung, als {1, 2, 3, 4} annehmen wird, wie durch "while ( art < 1 || art > 4 ) " sichergestellt ist.

    Zitat Zitat von ch3rrY Beitrag anzeigen
    und ich suche übrigens eine lösung für nen fehler, wenn der user anstatt zahlen... buchstaben eingibt(man muss ja alles beachten )
    Wie RiDER bereits erklärt hat (eventuell sogar in diesem Thread, bin mir aber nicht sicher - zu faul um nachzusehen ^^) neigen Funktionen/Methoden wie scanf bzw. cin >> zu Fehlern, im Fall einer "unerwarteten" Eingabe des Benutzers.
    Bei solchen Problemen bietet sich in der Regel das Einlesen der Benutzereingabe über fgets, in Kombination mit atoi (bzw. einer ähnlichen Funktion), an.
    Hier mal ein kleines Beispiel:
    PHP-Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>


    int getnum(void)
    {
        
    char buffer[10];
        
    int i;
        
        
    memset(buffer0sizeof(buffer));
        if (!
    fgets(buffersizeof(buffer) - 1stdin))
        {
            
    /* Fehler beim Lesen von stdin */
            
    puts("error 1\n");
            exit(
    0);
        }
        else if (
    buffer[strlen(buffer) - 1] != '\n')
        {
            
    /* der String wurde nicht durch einen Zeilenumbruch beendet
               -> der eingegebene String war zu lang -> Fehler! */
            
    puts("error 2\n");
            exit(
    0);
        }
        
        for(
    0buffer[i] != '\n'i++)
        {
            if (
    buffer[i] < '0' || buffer[i] > '9')
            {
                
    /* die Eingabe enthällt ungültige Zeichen */
                
    puts("error 3\n");
                exit(
    0);
            }
        }
        
        
    /* die Eingabe sieht "OK" aus */
        
    return atoi(buffer);

    ( ist zwar kein PHP-Skript, aber die PHP-Tags geben dem ganzen eine "gesunde Farbe" )


    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Seite 3 von 3 ErsteErste 123

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •