Rechnenproblem....

  • VB.NET

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascalony.

    Rechnenproblem....

    Hi Leute,

    ich komm hier grad irgendwie nicht zurecht. Ich bekomme einfach nicht meine EIN-/Ausgaben Tabelle hin, er rechnet nicht das + und - was ich ihn sage :(

    Hier meine Rechnung ist aber noch nicht ganz fertig nur ausgaben ist Programmiert.


    -4000 und -100 = -100 stimmt irgendwie nicht

    hier meine Formel:

    VB.NET-Quellcode

    1. FinanzenAusgaben -= FinanzenMonatStrom
    2. FinanzenAusgaben -= FinanzenMonatSmock
    3. FinanzenAusgaben -= FinanzenPersonalkosten
    4. FinanzenAusgaben -= FinanzenWasserkosten
    5. FinanzenAusgaben -= FinanzenMonatMiete
    6. FinanzenAusgaben -= Abrechnungsgebuehren
    7. FinanzenAusgaben -= FinanzenDispokredit
    8. FinanzenAusgaben -= FinanzenFahrZeugKosten
    9. Label_Finanzausgaben.Text = Format(Val(FinanzenAusgaben), "###,#0.00 €").ToString
    Da hilft nur Haltepunkt setzen und jede Variable in deiner Auflistung zu kontrollieren. Irgendwo steht was falsches drin. Von hier aus sieht alles korrekt aus. FinanzenAusgaben ist hoffentlich zu Beginn 0.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    @VBHunter What :?:
    Poste mal den kompletten Code.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Variable: (Einige habe ich deaktiviert weil ich erstmal versuche die gesamtausgaben (Bild oben Rechts) korrekt hin zu bekommen !!!

    VB.NET-Quellcode

    1. Dim FinanzenMonatStrom As Integer = 0 'Finanzen
    2. Dim FinanzenMonatMiete As Integer = 0
    3. Dim FinanzenMonatSmock As Integer = 0
    4. Dim FinanzenDispokredit As Integer = 0
    5. Dim FinanzenAusgaben As Integer = 0
    6. Dim AbrechnungFinanzen As Integer = 0
    7. Dim FinanzenFahrZeugKosten As Integer = 0
    8. Dim FinanzenWasserkosten As Integer = 0
    9. Dim FinanzenPersonalkosten As Integer = 0
    10. Dim Abrechnungsgebuehren As Integer = 100
    11. Dim Dispogebuehren As Integer = 2000


    Load:

    VB.NET-Quellcode

    1. Label_GesamtStromAusgaben.Text = Format(Val(FinanzenMonatStrom), "###,#0.00 €").ToString 'Finanzen
    2. Label_GesamtMietskostenAusgaben.Text = Format(Val(FinanzenMonatMiete), "###,#0.00 €").ToString
    3. Label_GesamtSmockAusgaben.Text = Format(Val(FinanzenMonatSmock), "###,#0.00 €").ToString
    4. 'Label_500.Text = Format(Val(FinanzenGesamtEinAusgaben), "###,#0.00 €").ToString
    5. AbrechnungFinanzen -= Abrechnungsgebuehren
    6. Label_GesamtAbrechnungAusgaben.Text = Format(Val(AbrechnungFinanzen), "###,#0.00 €").ToString
    7. Label_GesamtDispokreditAusgaben.Text = Format(Val(FinanzenDispokredit), "###,#0.00 €").ToString
    8. 'Label_Finanzausgaben.Text = Format(Val(FinanzenAusgaben), "###,#0.00 €").ToString
    9. Label_GesamtFahrzeugkostenAusgaben.Text = Format(Val(FinanzenFahrZeugKosten), "###,#0.00 €").ToString
    10. Label_GesamtWasserkostenAusgaben.Text = Format(Val(FinanzenWasserkosten), "###,#0.00 €").ToString
    11. Label_GesamtPersonalkostenAusgaben.Text = Format(Val(FinanzenPersonalkosten), "###,#0.00 €").ToString
    12. 'Label_GesamtausgabenEA.Text = Format(Val(FinanzenRechnungEINAUSausgaben), "###,#0.00 €").ToString
    13. FinanzenAusgaben -= FinanzenMonatStrom
    14. FinanzenAusgaben -= FinanzenMonatSmock
    15. FinanzenAusgaben -= FinanzenPersonalkosten
    16. FinanzenAusgaben -= FinanzenWasserkosten
    17. FinanzenAusgaben -= FinanzenMonatMiete
    18. FinanzenAusgaben -= Abrechnungsgebuehren
    19. FinanzenAusgaben -= FinanzenDispokredit
    20. FinanzenAusgaben -= FinanzenFahrZeugKosten
    21. Label_Finanzausgaben.Text = Format(Val(FinanzenAusgaben), "###,#0.00 €").ToString
    22. 'FinanzenRechnungEINAUSausgaben = FinanzenAusgaben
    23. 'Label_GesamtausgabenEA.Text = Format(Val(FinanzenRechnungEINAUSausgaben), "###,#0.00 €").ToString
    24. 'FinanzenGesamtEinAusgaben = FinanzenAusgaben
    25. 'Label_500.Text = Format(Val(FinanzenGesamtEinAusgaben), "###,#0.00 €").ToString
    26. 'EinAusgabenSumme = FinanzenGesamtEinAusgaben
    27. 'Label_EinAusgabenGesamt.Text = Format(Val(EinAusgabenSumme), "###,#0.00 €").ToString


    Hoffe ich hab jetzt alles :)
    Wenn man von dem Format-Val-VB6-Style-Zeugsl absieht: Die Rechnung geht doch auf. Alle Werte außer in Zeile 19 sind Null. Da kommt dann nicht mehr rum.

    VBHunter schrieb:

    -4000 und -100 = -100 stimmt irgendwie nicht
    Die 4000 tauchen in der Rechnung weder als Variablenwert noch als Fixwert auf.

    btw: Sind negative Finanzausgaben nicht automatisch Einnahmen?
    Und: Format gibt schon einen String zurück. ToString() ist dann überflüssig.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich glaube mit OOP hättest du mehr Überblick über deinen eigenen Code und hättest das Problem nicht. Außerdem würde ich auf die VB6-Funktionen weglassen. Zum eigentlichen Code: Was funktioniert nicht? Du hast deine AbrechnungsFinanzen und subtrahierst die Abrechnungsgebühren (0 - 100 = -100). Wo ist das Problem, das Programm zeigt genau das an, was du eingegeben hast.

    TheVBTutorialsVB schrieb:

    Ich glaube mit OOP hättest du mehr Überblick


    Das habe ich 3 Tage lang versucht ihm zu erklären, nur will er immer explizit alles in eine Form packen. Habe ihm sogar eine Klasse erstellt und so gezeigt wie man solch eine Aufgabenstellung korrekt löst, aber leider war ich zu schwach.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    @Nofear23m

    Meiner Meinung nach sollte er sich dann nicht wundern, wenn es zu Fehlern kommt, die er nicht beheben kann. Wenn du ihm helfen wolltest und er aus Faulheit seine Gewohnheiten umzustellen abgelehnt hat, dann finde ich es umso dreister die Zeit anderer Menschen für die Probleme zu verwenden, die man anscheinend selbst nicht lösen möchte.

    Hallo

    Hab 3 Tage zugesehen und ihm ein Problem nach dem anderen gelöst. Nur... eines führte hald zu anderen. Schau dir mal die ersten Beiträge an. Ich wollte wirklich, aber irgendwann geb ich hald auf. Das geht irgenwie am Sinn eines Forums vorbei wenn WIR ihm sein Spiel VERSUCHEN zu machen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    RodFromGermany schrieb:

    Poste mal den kompletten Code.

    @VBHunter Bist Du mal so freubdlich?
    Mit Deinem Code kann ich Deine (Bild-)Ausgaben nicht reproduzieren.
    Und: Höre auf @VaporiZed und stell Deine Ausgaben auf .NET um, da können nicht nur wir, sondern sogar Du sie besser lesen:

    VB.NET-Quellcode

    1. Label_GesamtStromAusgaben.Text = String.Format("{0:C}", FinanzenMonatStrom) 'Finanzen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Marcus Gräfe schrieb:

    Da hilft nur Haltepunkt setzen und jede Variable in deiner Auflistung zu kontrollieren. Irgendwo steht was falsches drin. Von hier aus sieht alles korrekt aus. FinanzenAusgaben ist hoffentlich zu Beginn 0.
    Sehe ich auch so.

    Die Berechnung als solches scheint auf den Ersten Blick nicht falsch zu sein. Aber woher kommen die Werte mit denen gerechnet wird? Aktuell sehe ich nur Abrechnungsgebuehren = 100 und Dispogebuehren = 2000. Und der Rest der Werte?

    Was ist das hier Format(Val(FinanzenAusgaben), "###,#0.00 €").ToString für ein VB6/.Net Mischmasch?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hallo,

    also als erstes mal dazu mit der Rechnerei.... ich dachte man erkennt, dass in einer anderen Variable weitere dinge abgezogen werden.... und es stand über meine Finanzen deshalb hab ich es vergessen mit hier rein zu stellen.

    VB.NET-Quellcode

    1. Dim StromKaufenSolar As Integer = 4000


    als nächstes.... Ja natürlich ist es einfacher in eine Klasse zu machen. Aber wie schon oft erwähnt Teste ich erstmal vorstellungen, wie man was umsetzt.... es soll ja kein Spiel für jederman werden. Sondern nur ein Test.

    Aber Trotzdem danke für eure Hilfe, aber ich hab es jetzt selber gelöst.

    Close!!!

    VBHunter schrieb:

    Aber Trotzdem danke für eure Hilfe, aber ich hab es jetzt selber gelöst.


    Lässt du uns und die, die über Suchmaschinen hier her kommen, an deiner Lösung teil haben?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    VBHunter schrieb:

    es soll ja kein Spiel für jederman werden. Sondern nur ein Test.


    Ist für mich zwar keine Ausrede absichtlich schlechten Code zu schreiben (ich brauche für eine Klasse sogar eher kürzer) aber okay, deine Entscheidung.

    Integer für Spiele nicht schlecht

    Also ich finde Integer ganz passend aus folgenden Gründen:

    - Decimal ist langsamer, da 128 Bits.
    - Integer ist schneller und entspricht der natürlichen arbeitsweise eines Prozessors.
    - Gerade in der Spielprogrammierung ist Geschwindigkeit wichtiger als exakte Genauigkeit.
    - Bei Addition und Subtraktion von Geldbeträgen wie hier entstehen so oder so keine Gleitkommazahlen (Cents).
    Bei <Press Space> in den Sternenhimmel drückend...

    Game Programmierer = Elite ;)

    Aus verschiedenen Post's von VBHunter habe ich entnohmen, das VBHunter offenbar an einem Computerspiel arbeitet.
    Ich finde, das ist ein edles Ziel und ich finde, VBHunter hat sämtliche Unterstützung verdient.

    Mit einbisschen Glück wird aus VBHunter einen coolen Game-Programmierer.
    Das ist mir lieber als jene, die als erstes einen Virus programmieren wollen.
    Bei <Press Space> in den Sternenhimmel drückend...

    Eddy Dreizehn schrieb:

    Ich finde, das ist ein edles Ziel


    Mit seinen Programmierkenntnissen ist das eine Aufgabe die weit über seine Skills hinausgeht. Ohne OOP wird das Spiel unübersichtlich und der Code unglaublich unsauber.

    Eddy Dreizehn schrieb:

    Mit einbisschen Glück wird aus VBHunter einen coolen Game-Programmierer.


    Ich hoffe du meinst den Post sarkastisch, weil mit Glück hat sowas rein gar nichts zu tun.

    Eddy Dreizehn schrieb:

    Das ist mir lieber als jene, die als erstes einen Virus programmieren wollen.


    a) Was spricht dagegen? b) Die wenigsten die ich kenne wollen das.