Beiträge von Vevusio

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.

    also ich war neulich mit nem freund bei nem firmengründungsworkshop von der wirtschaftskammer wo die das alles erklärt haben (und ich vermutlich schon wieder 60% davon vergessen habe)

    nen gewerbeschein kannst du dir einfach so "schnipps" holen, aber damit ist es (glaube ich) noch nicht getan

    du kannst jetzt halt ne "firma" gründen, das geht wenn du eu bürger bist, volljährig und nicht vorbestraft auch einfach so

    jedenfalls wenn du in diesem gewerbe das erste mal ne "firma" machst bekommst du so ziemlich alle kosten erlassen wenn du ein einzelunternehmen machst (läuft auf dich, du hast die 100% verantwortung)

    solange du nicht über ka 30.000 euro oder was das waren verdienst musst du keine sozialversicherung zahlen und so .. (was du ansonsten müsstest) und auch keine blaahwaa (vergessen)

    du solltest halt fürs finanzamt nen businessplan erstellen weil die sehen wollen dass du auch was verdienen wirst damit sie dir von dem steuern abknöpfen können etc

    naja es ist recht viel lässt sich nicht einfach so erklären, du kannst ja einfach zu der wk gehen und dir diesen workshop anhören, das dauert so 3 stunden und sie machen es glaub ich 2 mal die woche, ist auch kostenlos

    da bekommst du jedenfalls alle infos

    easy mate!


    woa wieso sagen leute immer so scheiße wie "hey mate" "whatsup mate" usw, bin ich der einzige der den eindruck hat dass das so nach nem britischen balett tänzer klingt der nen bananendildo stecken hat?


    @topic
    möglichkeit 1)
    du erbst von jtextfield

    so auf die art, du überschreibst jedenfalls die focusGained (oder so ähnlich.. ka wie sie genau heißt) methode (wird aufgerufen wenn das feld angeklickt wird oder mit tab reingewechselt wird etc) und setzt dann den text auf nichts

    auf diese art und weise wird das textfeld jedes mal leer wenn du reinklickst (du kannst in focusLost zb ein backup von dem text machen und es mit dem alten backup vergleichen und wenn der inhalt nicht passt (weil du ne zahl drin stehen haben willst oder sonst was) dann packst du wieder das alte backup rein)

    möglichkeit 2)
    du regelst das nicht textfield intern mit einem überschreibenen textfield sondern lässt eine andere klasse (am besten die welche das textfield verwaltet) diese focus dinger übernehmen

    auf diese art und weise musst du halt das textfield nicht überschreiben, hab das nur so hingefetzt ohne zu kompilieren, also wird das vermutlich auch nicht kompilieren, jedenfalls das ist die idee dahinter

    aja und wenn du nur beim ersten mal willst dass der text gelöscht wird musst du halt nen boolean flag setzen oder den focus listener wieder removen oder dir sonst was einfallen lassen

    du hast in messwerte.c globale variablen namens i, anzahl, m, messwert usw

    die haben nur innerhalb dieser datei gültigkeit, soweit ich mich erinnern kann wie das in c läuft, jedenfalls tust du in der main nochmal eine anzahl, messwert usw definieren, die anzahl übergibst du als funktionsparameter, da ist es also egal, aber beim messwert nicht

    du liest also in die messwert variable in der main rein und messwerte.c benutzt aber die nicht initialisierte globale messwert variable in der messwerte.c datei

    da steht nur speichermüll drin da du sie ja nicht initialisiert hast

    ein zweiter fehler ist, du übergibst den beiden funktionen in der main "anzahl", in den funktionen heißt der parameter der anzahl bekommt i

    du hast aber in messwerte.c schon eine globale variable mit dem namen i definiert, wenn du also i = 0 schreibst in der for schleife gibt der compiler dem "int i" funktionsparameter den vorzug über der globalen variable i

    also du willst eigentlich den globalen zähler i auf = 0 setzen aber da du eine lokale variable i hast wird die mit dem namen i assoziiert (wenn globale und lokale variablen gleiche namen haben bekommen die lokalen den vorzug), du setzt also im endeffekt deinen parameter (=die anzahl die du übergeben hast) auf 0

    außerdem steht in der for schleife dann i < anzahl

    aber die globale variable anzahl in der messwerte.c datei ist wieder nicht definiert, mit anzahl meinst du semantisch natürlich die anzahl an werten die du hast aber die hast du in den parameter i übergeben

    du hast also erstmal die namen i und anzahl verpfuscht und zweitens bist du mit den globalen variablen durcheinander gekommen

    es gibt zwei sehr wichtige regeln, erstens solltest du nach möglichkeit keine globalen variablen verwenden (wenn du dennoch messwert global machen willst schau dir an wie das keyword extern funktioniert)

    aber du solltest jedenfalls keine globalen variablen machen und das messwert array ebenso wie die anzahl als parameter in die beiden funktionen reintun

    die zweite sehr wichtige regel die du verletzt hast ist, sprechende variablennamen verwenden, was ist m, was ist s, was ist anzahl, wieso heißt das messwert array messwert?

    i ist ok, i, j, k werden meistens einfach für for schleifen als zähler verwendet das kannst du so lassen

    aber
    - messwert ist ein array aus messwerten, nenn es also messwerte
    - anzahl ist die anzahl der messwerte, nenn sie also messwerteLaenge, messwerteAnzahl oä
    - m ist der mittelwert, nenn die variable also mittelwert

    etc etc, jetzt ist das noch egal aber wenn du große programme schreibst dann hast du irgendwann a = b * c + i; for(x=k; y != varMin; x++) { varMin *= a % varMax; }

    oder solche konstrukte und du hast keinen plan mehr was was ist und musst dauernd nachschauen weil du keine sprechenden namen verwendet hast, und wenn es sich nicht gerade um ganz eindeutige abkürzungen wie Min und Max handelt schreib abkürzungen immer aus

    wenn das programm trotzdem nicht zum laufen willst frag nochmal nach dann zeig ich dir wie ichs gemeit hab aber versuchs mal selbst


    Lösung:


    main, halt die die vorgegeben war


    ergebnis mit copy constrkutor 3, 2
    interpretation: najaa also dieser , operator... (ist es überhaupt ein operator) bewirkt halt dass x + y ausgeführt wird, dabei wird ein neues IntWrapper objekt erstellt, noch bevor es aber wieder gelöscht wird, wird i initialisiert, dahier ist i zuerst 3

    beim zweiten mal wird einfach x+y; in einem schritt ausgeführt, neues objekt wird erstellt und gleich wieder verworden, dann wird i initialisiert, dahier ist i = 2

    wenn man den copy construktor wegkommentiert kommt 1, 0 raus, sieht so aus als würde es also einen default copy constructor geben der einfach nichts macht (also auch nicht den count inkrementiert)

    ich hätte eigentlich erwartet dass bei der ersten ausgabe eine 2 kommt, nach den beiden durch , getrennten operationen der count 1 ist und nach dem x + y; auf 0 fällt also dass die ausgabe 2, 0 ist

    ich weiß ehrlich gesagt nicht wieso es 1, 0 ist.. wäre nett wenn das jemand erklären könnte


    ich wollte zuerst eigentlich die linked list machen aber wie gesagt, ich weiß nicht wie das mit referenzen only gehen sollte (und mit pointern hatte ich keine lust, wollt was neues probieren weil ich vorher in c++ noch nie referenzen verwendet habe so richtig) wegen diesem next pointer, also, aus meinem 2t-vorherigen post

    Zitat


    hm... ich hab mir das grad so überlegt, man sollte ja keine pointer verwenden sondern referenzen, aber lässt sich das überhaupt mit referenzen lösen?

    node muss ja ein next haben, wenn next vom typ Node& ist dann muss ich im default konstruktor von Node next einen wert geben

    referenzen können in c++ nicht NULL sein, also muss ich ein new Node() darauf erstellen, das new Node muss wieder nen next haben etc etc, endlos rekursiver konstruktor

    hab ich da nen denkfehler drin oder lässt sich ne linked list in c++ halt nur über pointer realisieren


    wäre auch nett wenn jemand dazu auch was sagen könnte

    hm... ich hab mir das grad so überlegt, man sollte ja keine pointer verwenden sondern referenzen, aber lässt sich das überhaupt mit referenzen lösen?

    node muss ja ein next haben, wenn next vom typ Node& ist dann muss ich im default konstruktor von Node next einen wert geben

    referenzen können in c++ nicht NULL sein, also muss ich ein new Node() darauf erstellen, das new Node muss wieder nen next haben etc etc, endlos rekursiver konstruktor

    hab ich da nen denkfehler drin oder lässt sich ne linked list in c++ halt nur über pointer realisieren

    hm.. ja kann schon sein dass da sowas wie

    Code
    printf("vek: %d\n", vek);
        printf("vek[0]: %d | vek[1]: %d | vek[2]: %d\n", &vek[0], &vek[1], &vek[2]);
        printf("v0: %d | v1: %d | v2: %d\n", v0, v1, v2);
        printf("sum: %d\n", &sum);

    gefragt ist, vielleicht will der lehrer darauf aufmerksam machen dass ein array dass im speicher steht die elemente hintereinander gespeichert hat und die array variable selbst (also vek) die selbe speicheradresse hat wie vek[0], man kann also auch auch vek[2] zugreifen indem man schreibt

    vek + 2 = 10; (sollte man allerdings nicht machen)

    das wäre dann dasselbe wie vek[2] = 10;

    Code
    vek: 1245020
    vek[0]: 1245020 | vek[1]: 1245028 | vek[2]: 1245036
    v0: 1245020 | v1: 1245028 | v2: 1245036
    sum: 1245012

    das wäre zb die ausgabe bei mir, aber ehrlich gesagt hab ich auch keinen plan was da mit speicherabbild gemeint ist

    ein sehr gutes buch zu client-server programmierung ist
    http://www.amazon.com/Programming-Mu…d/dp/1556220766

    in dem buch gehts glaub ich um cpp aber das wichtige ist ja wie sowas funktioniert und nicht wie man es per syntax umsetzt

    einfache client server anwendungen sind schnell geschrieben aber wenn es darum geht netzwerkprogrammierung zu betreiben wo ein server erstellt werden soll der mehrere clients gleichzeitig bearbeitet gibts in dem buch sehr gut erklärte konzepte die in der praxis angewendet werden

    äh naja... du könntest zb

    cstdlib brauchst du für string to long int und äh... ja, nen direkten weg das so zu machen wie du willst gibt es glaub ich nicht >.>

    1) ich hab nicht gesagt ich hab eine gecrackte, nur da blixa gefragt hat wieso, denk ich das könnte mit unter ein grund sein

    2) ja doch ich hab eine -.-, weil ich die schon seit jahren habe und zu faul bin neu zu installieren auch wenn ich an der tu ne richtige nachgeschmissen bekomme, aber naja solange alles läuft

    //edit

    ok, ja, stimmt

    Code
    unsigned char feld[] = "12";
    
    
        int feldZahl = atoi((char*)feld);
    
    
        cout << "feld ist: " << feldZahl;

    bzw wenn dein array nicht mit 0 abgeschlossen ist und du damit arbeiten musst, dann so hier:

    Code
    unsigned char feld[] = {'1', '2'};
    
    
        int feldZahl = (feld[0] - 48) + (feld[1] - 48) * 10;
    
    
        cout << "feld ist: " << feldZahl;

    und wenn die character in deinem uchar array keine chars sind also '1' sondern einfach nur 1 drin steht dann ohne das - 48 hinter jedem element