zwischenspeicher löschen????



  • hallo zusammen,
    ich habe eine Art rechenprogramm mit einem zwischenspeicher. in diesen
    Zwischenspeicher wird die zuvor eingegebene Zahl gespeichert und
    dann wieder in ein anderes Edit Control geschrieben.
    Danach soll sich aber der Zwischenspeicher Löschen

    mit dem befehl zwischenspeicher=0; geht das nicht

    ein beispiel:
    6 + 4 = 10 so müsste es sein

    6 + 4 = 14 und so ist es weil der immer die 4 nochmal hinzurechnet...

    ich weiß ist einwenig komliziert ich möchte eigentlich einfach
    nach der betätigung des Buttons das sich der Zwischenspeicher löscht...

    hoffe ihr könnt mir weiterhelfen....



  • Welchen Typ hat denn dein 'Zwischenspeicher' und warum kannst du dem nicht einfach 0 zuweisen? Zeig mal Code.



  • hallo...
    zwischenspeicher hat die variable double

    hier der code:
    if (v_auswahl2="betrag1")
    {
    zwischenspeicher=zwischenspeicher; // button dahinter mit 4.00
    }

    else if (v_auswahl2="betrag2")
    {

    zwischenspeicher=zwischenspeicher; // button dahinter mit 6.00
    }
    UpdateData(0);

    dahinter sind button deswegen auch die if abfragen je nach dem
    welcher button gerückt wird kommt auch der jeweilige betrag aus
    dem zwischenspeicher deswegen auch zwischenspeicher=zwischenspeicher.

    das problem ist wenn ich beide buttons hier hintereinander drücke
    macht der 4 + 4 + 6 = 14 weil der noch den wert von betrag1 im
    speicher hat....

    PS... ich möchte das er einfach nach dem ersten if das er den
    zwischenspeicher löscht.....



  • jimmy0385 schrieb:

    zwischenspeicher hat die variable double

    Den Typ, nicht die Variable. Das ist eine Variable des Typs double.

    jimmy0385 schrieb:

    if (v_auswahl2="betrag1")

    '=' ist der Zuweisungsoperator, nicht der Vergleichsoperator! Du vergleichst hier nicht v_auswahl2 mit dem Stringliteral, sondern weist es zu! Vergleichen musst du mit "==".

    jimmy0385 schrieb:

    zwischenspeicher=zwischenspeicher; // button dahinter mit 4.00

    Diese Zuweisung bewirkt rein gar nichts. Was bezweckst du damit? zwischenspeicher bekommt den Wert zugewiesen, den es schon hat, nach der Zeile hat sich also nichts geändert...

    jimmy0385 schrieb:

    dahinter sind button

    Keine Ahnung, was du mit damit sagen willst.

    jimmy0385 schrieb:

    PS... ich möchte das er einfach nach dem ersten if das er den
    zwischenspeicher löscht.....

    Eine double-Variable nullen geht einfach, indem man ihr den Wert 0 zuweist.

    zwischenspeicher=0;
    

    Nach der Zeile hat die Variable den Wert 0. Das funktioniert.



  • also...

    zwischenspeicher=zwischenspeicher mach ich deswegen weil zwischenwert
    immer einen anderen wert hat .....
    ich mache da quasi einen abgleich...funktioniert auch..

    nur der befehl zwischenspeicher=0; funktioniert nicht...

    was hab ich denn noch für möglichkeiten ein zwischenspeicher
    zu löschen????

    Variabletyp ist double was meinst du denn mit nicht die variable
    sondern den Typ????



  • jimmy0385 schrieb:

    zwischenspeicher=zwischenspeicher mach ich deswegen weil zwischenwert
    immer einen anderen wert hat .....
    ich mache da quasi einen abgleich...funktioniert auch..

    Falsch! Ich habe schon erklärt, dass das Quatsch ist. Da passiert nix in der Zeile. Du gleichst da auch nichts ab. Beispiel:

    int i=5;  //i hat den Wert 5
    i=i;      //i wird i zugewiesen; i hat immer noch den Wert 5; diese Zeile hat nichts geändert!
    

    Nun klarer?

    jimmy0385 schrieb:

    nur der befehl zwischenspeicher=0; funktioniert nicht...

    Die Zeile

    zwischenspeicher=0;
    

    setzt mit hundertprozentiger Sicherheit die Variable zwischenspeicher auf den Wert 0. Daran gibt es nichts zu rütteln. Du machst was anderes falsch. Leider hast du nur wenige Codefragmente gepostet (das Nullen, um das es dir geht, war schon mal nicht dabei).

    jimmy0385 schrieb:

    Variabletyp ist double was meinst du denn mit nicht die variable
    sondern den Typ????

    Du hast dich einfach falsch ausgedrückt. Es heißt nicht "zwischenspeicher hat die variable double", sondern die Variable zwischenspeicher hat den Typ double.



  • hallo nochmal,

    habe mir alles nochmal angeschaut und mein fehler liegt ganz wo anders.....
    Mein Problem liegt in einer Textdatei in der der Name des Artikels
    eingetragen wird und nach ablauf der schleife drin bleibt...

    um keine unnötige verwirrung zu produzieren versuche ich mich einfach
    zu halten..

    ich habe eine textdatei artikel.txt

    ofstream datei;
    datei.open("artikel.txt");
    if (!datei.good())
    {
    MessageBox ("Fehler beim öffnen der Datei");
    return;
    }
    CString zwischen;
    int x=auswahl2.Getcount();
    for (int i= 0;i<x;i++)
    {
    auswahl2.GetText (i,zwischen);
    if (i !=0)
    datei<<" ";
    datei<<zwischen;
    }
    datei.close();
    UpdateData(0)
    

    so meine frage ist jetzt wie kann ich Ihm sagen nach dem datei.close soll er
    alles aus der Textdatei löschen????
    Info: in der Textdatei werden Wörter gespeichert keine Werte...

    😕



  • jimmy0385 schrieb:

    so meine frage ist jetzt wie kann ich Ihm sagen nach dem datei.close soll er
    alles aus der Textdatei löschen????

    Wie meinst du das? Du willst die Datei löschen oder wie? Oder was bedeutet "alles aus der Textdatei"? 😕


  • Mod

    @jimmy0385: Bitte verwende Code-Tags und rücke Deinen Code entsprechend ein. Das ist einfach lesbarer.



  • mit alles aus einer textdatei löschen meine ich das ich einfach
    was alles in dieser datei vorher gespeichert wurde gelöscht
    wird...

    z.B. in der datei artikel.txt steht:

    Büroklammern

    dieser eintrag soll dann wieder gelöscht... eine leere txt also...


Anmelden zum Antworten