Deutsch
C ++ Forum

Falsches Ergebnis bei Datumsberechnungen!

 

Stefan
M.
Caillet
Hallo Sebastian,
Ich weiss, Du hast wenig Zeit, aber kannst Du Dir trotzdem mal ansehen, warum dieser Code nach Umsetzung nach C++ ein falsches Ergebnis liefert?
Der Code sollte die Nummer der KalenderWoche des 27.11.2008 zurückliefern - was 48 ist.
Klappt unter XProfan11 perfekt. Profan2CPP (Profan2Cpp - Testversion 2.0a-pre5) lieferk keine Fehlermeldung Exe wird erzeugt und ist Lauffähig. Jedoch liefert Diese ein völlig falsches Ergebnis zurück; Sie sagt nämlich der 27.11.2008 liege in der Woche 52!
Die Funktion die die Wochennummer liefert heisst "DoY"
Ebenso liefert die Funkton "MoW$" Ein falsches Ergebnis : Es liefert für die Woche 52 (JAHR 2008) als Montag den 24.12.2008 zurück -> müsste aber der 22.12.2008 sein.
Wie gesagt: unter XPROFAN 11 werden die Berechnungen korrekt durchgeführt.
Habe die Datums-Test_p2cpp.prf als Anhang angefügt.

Die Meldungen von Profan2CPP:
Neues Projekt --->
Eingabe: E:StefanJOSYs-AdressbuchDATUMS-TEST_p2cpp.prf
Ausgabe: E:StefanJOSYs-AdressbuchDATUMS-TEST_p2cpp_cpp

Binde Include-Dateien ein... ok.
Lese Header-Dateien... ok.
Überprüfe Syntax... ok.
Erstelle Verzeichnisse... ok.
Ersetze Header-Definitionen... ok.
Übersetze... ok.
Erstelle PrfMain.cpp... ok.
Kopiere Header... ok.
Kopiere Bibliotheken... ok.
Generiere Makefile... ok.

Projekt erfolgreich übersetzt!
[861 Zeilen in 451 ms]
Speicher-Bilanz:
====================================

allocated : 5120 KByte (99772)
freed : 5120 KByte (99772)
------------------------------------
Differenz : 0 Byte (0)

Spitzenwert : 45488 Byte
====================================

AUSGABE von MAKE.BAT:
"Cev-C++Bing++.exe" -c PrfMain.cpp -o .objPrfMain.o -I"Cev-C++\include" -I"Cev-C++\includeg++" -L"Cev-C++\lib" -B"Cev-C++\bin" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
"Cev-C++Bing++.exe" -c DATUMS-TEST_p2cpp.cpp -o .objDATUMS-TEST_p2cpp.o -I"Cev-C++\include" -I"Cev-C++\includeg++" -L"Cev-C++\lib" -B"Cev-C++\bin" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
"Cev-C++Bing++.exe" -o "DATUMS-TEST_p2cpp.exe" ".objPrfMain.o" ".objDATUMS-TEST_p2cpp.o" ".esesource.o" ".libplibbase.lib" ".libplibstr.lib" ".libplibwin.lib" ".libplibtxt.lib" -luuid "Cev-C++\liblibglu32.a" "Cev-C++\liblibopengl32.a" "Cev-C++\liblibole32.a" "Cev-C++\liblibolepro32.a" "Cev-C++\liblibodbc32.a" "Cev-C++\liblibwsock32.a" "Cev-C++\liblibcomctl32.a" "Cev-C++\liblibwinmm.a" -I"Cev-C++\include" -I"Cev-C++\includeg++" -L"Cev-C++\lib" -B"Cev-C++\bin" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
Finished.

Danke für deine Mühe.
Gruss Stefan

22 kB
Kurzbeschreibung: Liefert als C++ falsche Ergebnisse - Rechnet unter XProfan11 korrekt
Hochgeladen:27.11.2008
Ladeanzahl146
Herunterladen
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
27.11.2008  
 




Stefan
M.
Caillet
Hallo Sebastian,
ich konnte nun das Problem etwas enger eingrenzen!
Die Proc "WoY" ruft unteranderem die Proc "DoW" (Day of Week) in folgender Form als Funktion auf:
KompilierenMarkierenSeparieren
DoW neujahr$   neujahr$ = 01.01.2008
wtgnj%=if(%(0)=0,7,%(0)) )) Neuj.: So. wird WoTagnr. 7

Hier liefert %(0) immer 0 zurück, anstatt des Return-Wertes
Lasse ich mir in der Proc "DoW" den Return-Wert eine Zeile vor "RETURN rc%" ausgeben, ist er korrekt.

Wenn ich den Aufruf jedoch in folgender Form ausführe, stimmt der Return-Wert:
KompilierenMarkierenSeparieren
Declare FN%
FN% = DoW(neujahr$)
wtgnj%=if(FN%=0,7,FN%) )) Neuj.: So. wird WoTagnr. 7

Klar kann ich nun die entsprechenden Funktionsaufrufe anpassen; sie sind alle in einer INC enthalten, die ich abeR nicht sebst geschrieben habe, ist aber etwas mühsam, wenn ich für C++ Übersetzung zuerst alle fremmden INCs nach solchen Aufrufen durchsuchen muss.
Wenn Du es hinbekommst, dass der Return-Wert korrekt zurückgegeben wird, Ersparst Du mir ne Menge Arbaeit.
Ah ja, noch etwas, Ich habe zwar die CD mit der Vollversion von Profan2CPP noch nicht erhalten, jedoch hat mir JDS bereits die Seriennummer per MAIL zugestellt!
Danke
Liebe Grüsse
Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
27.11.2008  
 




Sebastian
König
Hallo Stefan,

Stefan M. Caillet
Hallo Sebastian,
ich konnte nun das Problem etwas enger eingrenzen!
[...]


Danke für die ausführliche Beschreibung. Ich werde mich natürlich darum kümmern, finde aber höchstwahrscheinlich erst am WE oder Anfang nächster Woche genug Zeit dafür. Es macht in der Tat einen unterschied, ob eine Prozedur mit oder ohne Klammern (i.e. als Funktion) aufgerufen wird - auch in XProfan selbst, aber wahrscheinlich habe ich ein Detail dabei nicht richtig in Profan2Cpp umgesetzt.

Stefan M. Caillet
Ah ja, noch etwas, Ich habe zwar die CD mit der Vollversion von Profan2CPP noch nicht erhalten, jedoch hat mir JDS bereits die Seriennummer per MAIL zugestellt!


Ah super - wenn Du mir die Nummer per PM oder Mail zukommen lässt, genügt mir das als Nachweis Deiner Vollversion.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
27.11.2008  
 




Sebastian
König
Hallo Stefan,

ich denke, ich konnte das Problem beheben. Da ein mittelschwerer Eingriff an der Verwaltung des Parameter-Stacks nötig war, muss das ganze noch ausführlich getestet werden. Vielleicht hast Du dafür ja noch ein paar andere Codes Ich kann Dir auf jeden Fall gern eine neue Version zum Testen schicken.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
01.12.2008  
 




Stefan
M.
Caillet
Hallo Sebastian,
Danke Dir Herzlichst für Deine Mühe,
Werde Dir Heute Mittag (bei uns in der Schweiz ist es jetzt 04:17) Die Seriennummer Per PM Senden. Bin jetzt zu müde, um noch klar genug zu denken, damit ich das korrekt hinbekomme.
Ich hoffe jetzt endlich müde genug zu sein, damit ich mal etwas schlafen kann - ist nämlich bereits 54 stunden her, seit ich letztesmal gesxhlafen habe. Diese verfl... Schlafstörungen!
Gruss Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
01.12.2008  
 




Sebastian
König
Oha, dann wünsche ich Dir viel Erfolg beim Einschlafen und Gute Ruhe! Hatte mich schon gewundert, hier um diese Zeit eine Antwort zu bekommen...
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
01.12.2008  
 




Stefan
M.
Caillet
Hallo Sebastian,
und wieder ist ne Nacht? für mich vorbei, Danke der guten Wünsche, hat wenigstens mal für 8 Stunden geklappt. Normalerweise Schlafe ich, wenn ich kann, zwischen 5:30 od 6:30 bis ca. 9.00 od 9:30 - so ich nicht vorher geweckt werde od. erwache. Wenn ich auf 4 Stunden schlaf komme, bin ich schon glücklich, oft sind es 2 - 3 Stunden. Das als Erklärung warum Du um diese Zeit Antwort auf dien Beitrag erhalten hattest.
So, ich werde Dir jetzt noch die PM mit der Seriennummer senden.
Gruss Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
01.12.2008  
 




Sebastian
König
Hallo Stefan,

habe die PM erhalten - danke! Ich mache gleich mal eine neue Version fertig und schicke sie Dir per eMail.

Schlafen tue ich hier in Hong Kong im Moment auch viel weniger als in Deutschland, im Durchschnitt 5 bis 6 Stunden pro Nacht (ok, ist aus Deiner Sicht wohl schon viel). Interessanterweise bin ich damit aber ausgeschlafen - muss wohl am Klima hier liegen...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
02.12.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.093 Betrachtungen

Unbenanntvor 0 min.
T Rümker19.05.2014
Ernst13.05.2014
J. Strahl14.07.2012
KJ01.04.2012
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Sebastian König (4x)
Stefan M. Caillet (4x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie