KW nach Din 1355 bestimmen
-
Programmierheini schrieb:
1. Weil er keinen kennt, der auch programmieren kann
Das heißt, dass er jemanden anheuert, der es nicht kann, nur weil er keinen kennt der es kann?
Programmierheini schrieb:
2. Weil das nicht das erste Programm ist, dass ich ihm programmiere
Ach du liebes Bisschen...
Programmierheini schrieb:
3. Noch NIE ein Fehler in meinen Programmen war, wenn sie fertig sind, d.h. sie funktionieren einwandfrei
*HUST* Dass da keine Bugs drin sind bezweifle ich stark.
Programmierheini schrieb:
4. Weil wir Freunde sind
Das ist aber immer noch kein Grund.
Programmierheini schrieb:
5. weil das der beste Weg für mich ist, programmieren zu lernen->learning by doing
Ja, aber nicht so das jemand davon evt. Schaden trägt, weil du noch lernst. Learning by doing heißt, du probierst es aus. Deine Versuche sind dann aber keine ernste Sache. So richtig nutzbare Programme machen auch erfahrenere Programmierer.
-
Vielen Dank, ich glaube ich bin jetzt ein Schritt weitergekommen. Denn jetzt sagt der Compiler mir, dass er ein Bezeichner erwartet:
[C++ Fehler] Unit1.cpp(748): E2272 Bezeichner erwartetIch habe jetzt alles so kopiert, wie du es gesagt hast, aber wie rufe ich dann die Funktion auf? bzw. wie komme ich an die Variable nKalenderWoche ?
-
Hacker schrieb:
So richtig nutzbare Programme (mit GUI & co.) macht man als erfahrener Programmierer, wie Bashar o. ä.
Lass mich da aus dem Spiel. Ich mach außerdem keine GUI.
-
Bashar schrieb:
Hacker schrieb:
So richtig nutzbare Programme (mit GUI & co.) macht man als erfahrener Programmierer, wie Bashar o. ä.
Lass mich da aus dem Spiel. Ich mach außerdem keine GUI.
Darum geht es aber auch nicht. Wenn dein Freund (@TE) das wirklich nutzen will dann sollte er sich entweder nach Programmen im Netz umsehen, dein Programm mit Vorsicht nutzen (oder nur als Tester fungieren) oder einen erfahrenen Programmierer beauftragen. Du bist ja noch Anfänger.
Ich empfehle dir ein gutes Buch (such nach dem Thread), lerne erstmal Grundlagen bevor du dich an ein Projekt ranwagst (ich entnehme der Fehlermeldung dass eine Source-Datei gar 750 Zeilen enthält).
-
zu Hacker:
Ich gebe zu, ich bin noch Anfänger, aber nur weil ich mich nicht mit eigenen Funktionen u.a. auskenne, heist das noch lange nicht, dass ich nicht programmieren kann. Außerdem musst du dir keine Sorgen machen, denn
1. werden meine Programme "hart auf die Probe gestellt", und
2. werden die ersten 2 Monate mit herkömlichen mitteln (Zetteln) überprüft.
3. kann ich dir gern ein "1-mal-Programm" für ein Fest zeigen. Du musst mir nur sagen, wie
-
Programmierheini schrieb:
zu Hacker:
Ich gebe zu, ich bin noch Anfänger, aber nur weil ich mich nicht mit eigenen Funktionen u.a. auskenne, heist das noch lange nicht, dass ich nicht programmieren kann. Außerdem musst du dir keine Sorgen machen, denn
1. werden meine Programme "hart auf die Probe gestellt", undDas zeigt schon etwas. Du kannst Bugs nicht "einfach so" finden. Manchmal kann das Jahre dauern, weil spezielle Umstände (Variablen, o. ä.) spezielle Werte haben müssen um dein Programm zum Absturz zu bringen und Speicherlecks zu erzeugen, o. ä.
Programmierheini schrieb:
2. werden die ersten 2 Monate mit herkömlichen mitteln (Zetteln) überprüft.
Das versteh ich nicht ganz
was meinst du?
Programmierheini schrieb:
3. kann ich dir gern ein "1-mal-Programm" für ein Fest zeigen. Du musst mir nur sagen, wie
Lol. Ideone?
Oder schick mir das ganze als ZIP.
Oder: poste es hier.
-
wieder zu Hacker:
mein Programm ist nur deshab solang, weil ich 30 Buttons mit je 10 Zeilen Quelltext, und 30 CSpinEdits mit je 9 Zeilen Quelltext habe.
30x10+30x9=570 Zeilen QT, dann noch ca. 200 Zeilen für den rest
-
Programmierheini schrieb:
wieder zu Hacker:
mein Programm ist nur deshab solang, weil ich 30 Buttons mit je 10 Zeilen Quelltext, und 30 CSpinEdits mit je 9 Zeilen Quelltext habe.
30x10+30x9=570 Zeilen QT, dann noch ca. 200 Zeilen für den restICH HOFFE DU NUTZT SCHLEIFEN XD
Jetzt ernsthaft.
-
nochmal zu Hacker:
-Die Kassierer machen weiter wie zuvor, nämlich mit Strichlisten, und lassen nebenher mein Proggi laufen. Dann vergleichen sie die Ergebnisse->überprüfung
-ich schicks dir per E-Mail
-
Hacker schrieb:
Programmierheini schrieb:
2. werden die ersten 2 Monate mit herkömlichen mitteln (Zetteln) überprüft.
Das versteh ich nicht ganz
was meinst du?
Das alte manuelle Kassensystem wird noch 2 Monate parallel gefahren. Das ist glaub ich im IT-Bereich nichts ungewöhnliches. Die Probleme kommen dann beim nächsten Schaltjahr oder anderen Jahrtausendereignissen
-
Bashar schrieb:
Hacker schrieb:
Programmierheini schrieb:
2. werden die ersten 2 Monate mit herkömlichen mitteln (Zetteln) überprüft.
Das versteh ich nicht ganz
was meinst du?
Das alte manuelle Kassensystem wird noch 2 Monate parallel gefahren. Das ist glaub ich im IT-Bereich nichts ungewöhnliches. Die Probleme kommen dann beim nächsten Schaltjahr oder anderen Jahrtausendereignissen
Ah, ich hab das nicht ganz verstanden, ok
@TE: Danke, ich sehs mir mal an. Zurück zum oberen Punkt:
WAS HEISST X ZEILEN PRO OBJEKT? XD
-
Mit E-Mail geht kein Anhang, zum posten zu groß (1080 Zeilen
)
du müsstest mir deine E-Mail geben, oder ein Downloadportal zeigen
2. Ich habe nirgends gefunden, wie man z.B.
Button1->Caption="123";
Button2->Caption="123";
Button3->Caption="123";
Button4->Caption="123";
Button5->Caption="123";
Button6->Caption="123";
Button7->Caption="123";
usw. in Schleifen setzen kann
ansonsten verwende ich natürlich schleifen
-
Vielleicht mit Variablen? Buttonx? geht nicht, bin noch auf der Suche
-
Bashar schrieb:
mapper schrieb:
_ASSERT kannst du durch std::assert ersetzen, wenn du <cassert> inkludierst.
Ohne std::, assert ist ein Makro.
Oh, natürlich, danke.
Dieser Thread macht aber irgendwie keinen Sinn mehr, ein Fragesteller, der noch nicht einmal die kompletten Fehlermeldungen postet und ein Spammer, der alles, nur nichts zum Thema von sich gibt.
Traurig, das war mal anders.Noch mal zum Thema: Du suchst Arrays. Falls die Größe dynamisch sein soll, das Array also wachsen können soll, nimm gleich einen std::vector.
-
Endlich wieder zurück zum Thema
Ich habe alle Fehlermeldungen gepostet, aber egal
Vielen Dank, ohne des std:: geht es. Aber wie kann ich jetzt die Funktion aufrufen/benutzen?
-
@mapper: Das ist nicht dein Ernst, oder? Da beschäftigt sich einer mit GUI-APIs und schreibt Programme die genutzt werden sollen, und kennt Arrays nicht. Aber Hauptsache beim Thema bleiben, oder was?
Aber... zurück
Zum Thema: Was genau am Aufruf klappt bei dir nicht?
Du fügst den Funktionsaufruf mit den entsprechenden Parametern da ein, wo es sein soll, oder was ist verwirrend?
-
Ich weiß aber leider nicht, wie der Funktionsaufruf konkret aussehen soll, ich habe schon etliches durchprobiert, aber entweder er es passiert garnichts, oder Fehlermeldung
-
Programierheini schrieb:
Ich weiß aber leider nicht, wie der Funktionsaufruf konkret aussehen soll, ich habe schon etliches durchprobiert, aber entweder er es passiert garnichts, oder Fehlermeldung
Beschreibung! Zeig Code, Fehlermeldungen usw. wir sind keine Wahrsager.
-
short getKalenderwoche(short uTag, short uMonat, short uJahr) //diese Funktion möchte ich aufrufen, und habe keine Ahnung wie, weil ich des noch nie gemacht habe { short getTagDesJahres(const UINT uTag, const UINT uMonat, const UINT uJahr); short getWochentag(const UINT uTag, const UINT uMonat, const UINT uJahr); bool istEinSchaltjahr(const UINT uJahr); // Berechnung erfolgt analog DIN 1355, welche besagt: // Der erste Donnerstag im neuen Jahr liegt immer in der KW 1. // "Woche" ist dabei definiert als [Mo, ..., So]. short nTagDesJahres = getTagDesJahres(uTag, uMonat, uJahr); // Berechnen des Wochentags des 1. Januar: short nWochentag1Jan = getWochentag(1, 1, uJahr); // Sonderfälle Freitag und Samstag if (nWochentag1Jan >= 5) nWochentag1Jan = nWochentag1Jan - 7; // Sonderfälle "Jahresanfang mit KW - Nummer aus dem Vorjahr" if ( (nTagDesJahres + nWochentag1Jan) <= 1) { return getKalenderwoche(31, 12, uJahr - 1); } short nKalenderWoche = ((nTagDesJahres + nWochentag1Jan + 5) / 7); assert(nKalenderWoche >= 1); assert(nKalenderWoche <= 53); // 53 Kalenderwochen hat grundsätzlich nur ein Jahr, // welches mit einem Donnerstag anfängt ! // In Schaltjahren ist es auch mit einem Mittwoch möglich, z.B. 1992 // Andernfalls ist diese KW schon die KW1 des Folgejahres. if (nKalenderWoche == 53) { bool bIstSchaltjahr = istEinSchaltjahr(uJahr); if ( (nWochentag1Jan == 4) // Donnerstag || (nWochentag1Jan == -3) // auch Donnerstag || ((nWochentag1Jan == 3) && bIstSchaltjahr) || ((nWochentag1Jan == -4) && bIstSchaltjahr) ) { ; // Das ist korrekt und erlaubt } else nKalenderWoche = 1; // Korrektur des Wertes } return nKalenderWoche; //diesen Wert möchte ich als Variabel haben }
-
Programierheini schrieb:
short getKalenderwoche(short uTag, short uMonat, short uJahr) //diese Funktion möchte ich aufrufen, und habe keine Ahnung wie, weil ich des noch nie gemacht habe
-.-
getKalenderwoche(31, 1, 2012);
Oder mit deinen Parametern, ich glaube kaum dass du mit Magic Constants arbeiten wirst.
Außerdem, nimm doch gleich
boost::date_time
, dann musst du nicht das Rad neu erfinden.