Ich antworte mal mit einem C++-Programm, dass ich eben geschrieben habe.
Code:
// Anzahl der vergangenen Tage finden
// Author: sisor
// Free software - no rights reserved
#include <iostream>
using namespace std;
typedef unsigned int uint;
struct datum { uint j; uint m; uint t; };
inline bool schaltjahr(uint j){
return (j % 4 == 0 && j % 100 != 0 || j % 400 == 0);
}
uint vergTage(datum alt, datum akt){
uint monate[] = { 31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31 };
uint vergTage = 0;
uint j = alt.j, m = alt.m, t = alt.t;
monate[1] = schaltjahr(j) ? 29 : 28;
while (j != akt.j || m != akt.m || t != akt.t) {
vergTage++;
t++;
if (t > monate[m - 1]) {
t = 1;
m++;
if (m > 12) {
m = 1;
j++;
monate[1] = schaltjahr(j) ? 29 : 28;
}
}
}
return vergTage;
}
int main() {
datum akt;
akt.j = 2014;
akt.m = 3;
akt.t = 29;
datum alt;
alt.j = 2010;
alt.m = 3;
alt.t = 29;
cout << "Vergangene Tage: " << vergTage(alt, akt) << endl;
cin.get();
return 0;
}
Ausgabe:
Vergangene Tage: 1461
Lesezeichen