Hallo ich will die Differenz zwischen der aktuellen zeit und einem bestimmten Termin berechnen.
Da später die Termine aus einer CSV Datei eingelesen werden sollen ist das Format wichtig und kann nicht verändert werden.
Ich habe nun schon 4 verschiedene Versionen gebaut doch keine will wie ich will.
glaube das ich einfach den Fehler vor ärger nicht mehr sehe "bei so vielen bäumen kann man nin Wald auch schlecht erkennen".
Diese ist momentan die beste und kürzeste Version alle anderen beinhalten noch mehr Code.
Bei der Ausgabe soll am ende angezeigt werden wie viel Monate, Tage, Stunden und Minuten noch verbleiben.
währe echt cool wenn einer mir hier mal auf die Sprünge helfen könnt.
Da später die Termine aus einer CSV Datei eingelesen werden sollen ist das Format wichtig und kann nicht verändert werden.
Ich habe nun schon 4 verschiedene Versionen gebaut doch keine will wie ich will.
glaube das ich einfach den Fehler vor ärger nicht mehr sehe "bei so vielen bäumen kann man nin Wald auch schlecht erkennen".
Code:
#include <locale.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
time_t systime, termintime;
struct tm Termin, Stime;
char msg[1024];
char bsg[1024];
char Ttime[14];
char Termin_jahr[4];
char Termin_monat[2];
char Termin_tag[2];
char Termin_st[2];
char Termin_min[2];
char Termin_sek[2];
int T_J, T_M, T_T, T_H, T_m, T_S;
strcpy (Ttime, "20070829160000");
strncpy ( Termin_jahr, &Ttime[0], 4 ) [4]='\4';
strncpy ( Termin_monat, &Ttime[4], 2 ) [2]='\0';
strncpy ( Termin_tag, &Ttime[6], 2 ) [2]='\0';
strncpy ( Termin_st, &Ttime[8], 2 ) [2]='\0';
strncpy ( Termin_min, &Ttime[10], 2 ) [2]='\0';
strncpy ( Termin_sek, &Ttime[12], 2 ) [2]='\0';
/*String zu Integer umwandlung*/
T_J = atoi (Termin_jahr);
T_M = atoi (Termin_monat);
T_T = atoi (Termin_tag);
T_H = atoi (Termin_st);
T_m = atoi (Termin_min);
T_S = atoi (Termin_sek);
/* Differenz in Tagen von heute bis zum Termin*/
/* aktuelles Datum in Sekunden */
time( &systime);
/* Konvertiere Sekunden nach struct tm */
Stime = *localtime( &systime);
Termin.tm_year = T_J;
Termin.tm_mon = T_M;
Termin.tm_mday = T_T;
Termin.tm_hour = T_H;
Termin.tm_min = T_m;
Termin.tm_sec = T_S;
/* Konvertiere wieder von struct tm in Sekunden zurück */
termintime = mktime( &Termin);
strftime( msg, sizeof(msg), "Heute ist der %Y%m%d%H%M%S\n", localtime(&systime));
printf( msg);
printf( "Es sind noch %3.0f bis zum Termin!\n",difftime(systime,termintime) / (24*60*60));
system("pause");
return 0;
}
Diese ist momentan die beste und kürzeste Version alle anderen beinhalten noch mehr Code.
Bei der Ausgabe soll am ende angezeigt werden wie viel Monate, Tage, Stunden und Minuten noch verbleiben.
währe echt cool wenn einer mir hier mal auf die Sprünge helfen könnt.