Zum Inhalt springen

Zeitverwaltung & Konto-Aufgabe


Wegginho

Empfohlene Beiträge

Hallo Leute,

versuche grade Krampfhaft einfach nur eine Funktion für meine Konto-Verwaltungs-Aufgabe zu erstellen.


void Konto::setLastModify()

{

    time_t Zeitstempel;

    tm * Timereturn = new tm;

    Zeitstempel = time(0);

    localtime_s(Timereturn ,&Zeitstempel);

    _lastmodify = Timereturn;

}

Wie man sehen kann, versuche ich dem Konto dann quasi den Zeitstempel der letzten Änderung aufzudrücken, indem ich meine Klassenvariable _lastmodify mit dem tm struct Timereturn überschreibe. An der Stelle bekomm ich nen Fehler raus:

"binary '=' : no operator found which takes a right-hand operand of time 'tm *'"

Wie kann ich den da einfach reinkopieren? Copyconstructor? Gibts da sowas?

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

_lastmodify ist ein tm, Timereturn ist ein tm*, das passt einfach nicht. Du könntest Timereturn dereferenzieren, aber der Code ist sowieso viel zu kompliziert, und ein Speicherleck hast du auch drin (new ohne delete).

void setLastModify()
{
time_t Zeitstempel = time(0);
localtime_s(&_lastmodify ,&Zeitstempel);
}
[/code]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke,

war mir schon klar, dass die Funktion so nicht fertig ist. Aber irgendwie muss man das Ganze erstmal zum Laufen bekommen, bevor man an sowas wie Sicherheit denkt.

Hab den halben morgen mit Time und Date Funktionen rumprobiert ... trotzdem danke für deine schnelle Hilfe.

Auch irgendwie komisch, dass ich die komplizierte Programmierung von CATIA ohne weiteres verstehe und bei so einfachen Themen wie Date/Time nen Rappel bekomme :-D

:old

/edit:

ach ganz vergessen, kann ich eigentlich alle Date/Time-Sachen (also die tm_mday Befehle) zusammen in einen String konvertieren? komischerweise kann ich die ja direkt über cout ausgeben, aber nicht mit einfachem append an einen String hängen.

Bearbeitet von Wegginho
Link zu diesem Kommentar
Auf anderen Seiten teilen

ach ganz vergessen, kann ich eigentlich alle Date/Time-Sachen (also die tm_mday Befehle) zusammen in einen String konvertieren? komischerweise kann ich die ja direkt über cout ausgeben, aber nicht mit einfachem append an einen String hängen.

cout ist ein Stream. Streams haben eine andere Schnittstelle als Strings. Aber dafür gibt's Stringstreams ;)

Da es C++ ist, was spricht gegen die ATL-CTime-Klasse?
Dass die ATL Microsoft-spezifisch und damit nicht portierbar ist.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey Leute,

ich grab jetzt einfach nochmal das Thema aus. Ist zwar etwas verändert, hat mit dem Topic aber noch was zu tun :D.

Ich verstehe im Moment nicht ganz, wie ich's hinbekommen soll, mehrere Konten hinzubekommen. Wahrscheinlich weil's grad einfach früh am Morgen ist oder so. Ich will keine Datenbankverbindung oder sowas machen, sondern einfach nur sagen wir 3 Konten machen:

"Max Mustermann", 1000001, 200€

"Julia Mustermann", 1000002, 250€

"Oma Mustermann", 1000003, 1000€

Wenn ich jetzt ne einfache Schleife mache, dann überschreibe ich ja jedes Mal mein schönes Konto ^^.

Naja, einfache Lösungsansätze sind sehr willkommen, komme nämlich grad ausm Karneval !

*g*:bimei

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich jetzt ne einfache Schleife mache, dann überschreibe ich ja jedes Mal mein schönes Konto ^^.

Ein Konto reicht ja auch nicht, wenn du drei brauchst. Ein Array wäre eine Möglichkeit.

Eine Schleife ist auch nicht besonders sinnvoll, wenn du sowieso bei jedem Durchlauf etwas anderes machst.

Loop-switch sequence - Wikipedia, the free encyclopedia

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ne, ich mein das ist doch ne relativ einfache Funktionalität oder?

Ich möchte ein Programm haben, dass ich starte, 2 Konten erstelle, dann Quasi die Funktionen der Konten-Klassen aufrufen kann und fertig.

Ungefähr so im command (also nur nen Consolenprogramm):


Uebungen.exe

create

->

Neue Kontonummer: (automatisch)1000001

Neue Pinnummer: 12345 (kryptisch, mach ich selber)

Name des Besitzers: (Eingabe)Max Mustermann

Startguthaben: (Eingabe)200€

(Ausgabe:)

Konto wurde erstellt ...

(Eingabe:)

Zugriff

->

Bitte geben Sie die Kontonummer ein: (Eingabe)1000001

Bitte geben Sie nun die Pinnummer ein: (Eingabe) 12345

Aktuelles Guthaben: 200€

1. Abheben

2. Einzahlen

3. Überweisen

4. blabla

So, auch wenn's jetzt ne relativ lange Beschreibung geworden ist ... Ich glaub ich habs während meiner Beschreibung schon fast selber verstanden. Vorschläge werden natürlich dankend angenommen.

Achja, wie mache ich überhaupt das €-Zeichen (Euro) ?

MfG !

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaub das war die unqualifizierteste Antwort, die ich bisher in diesem Forum gelesen hab.

Danke für diesen Beitrag weiteren Mülls im Universum!

Natürlich meine ich die ASCII Version von Euro.

Was die Liste angeht keine unbedingt schlechte Idee, wenn ich nicht eine Kontonummer als Listenindex nehmen müsste und somit eine Liste, in der über eine Millionen ungenutzter Argumente drinstehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaub das war die unqualifizierteste Antwort, die ich bisher in diesem Forum gelesen hab.

Dann definier die Fragen besser.

Natürlich meine ich die ASCII Version von Euro.

Dafür gibts Ascii-Tabellen.

Goolge + ASCII-Tabelle meint 0x80.

(Das heißt aber nicht, dass die Zeichencodierung deiner Konsole o.Ä. das auch so wiedergibt.)

Was die Liste angeht keine unbedingt schlechte Idee, wenn ich nicht eine Kontonummer als Listenindex nehmen müsste und somit eine Liste, in der über eine Millionen ungenutzter Argumente drinstehen.

Wieso denn ungenutzt?

Da steht das drin, was ein Objekt benötigt. Wenn du Name/Vorname etc für die Klasse deklarierst, dann steht das auch mit drin und ist leicht abruf-/-veränderbar.

Zumal du aus der Liste auch einfach noch eine Map machen könntest. (Key-Value-Paar)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaub das war die unqualifizierteste Antwort, die ich bisher in diesem Forum gelesen hab.
Alt Gr + E ist die richtige Antwort, wenn dein Quellcodeeditor dieselbe Zeichencodierung benutzt wie die Konsole, in der du dein Programm ausführst. Unter Linux beispielsweise, wo eigentlich alles von vornherein als UTF-8 codiert ist, funktioniert das prima.

Danke für diesen Beitrag weiteren Mülls im Universum!
Wie gesagt, die Antwort war korrekt. Allerdings ist deine Ausdruckweise unangebracht. Reiß dich bitte zusammen.

Natürlich meine ich die ASCII Version von Euro.
Der ASCII-Zeichensatz enthält das Euro-Zeichen nicht. Auch die Standard-Codepage der Windows-Eingabeaufforderung (Codepage 850) enthält das Zeichen nicht. Du kannst allerdings mit chcp die Codepage der Eingabeaufforderung ändern, beispielsweise auf 1252, das ist vermutlich die Codierung, die dein Editor benutzt.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...