long zeitinh(char *string, char trenn1, char trenn2, char trenn3)
//wandelt einen String der eine Zeit enthält in hundertstelsekunden um.
//erwartet wird ein string im format: HH:mm:ss:hh wobei der erste Doppelpunkt dem
//trenn1, der zweite dem trenn2 und der dritte dem trenn3 entspricht.
//Vorsicht: die funktion strtrenner() wird benötigt
{
long l_hundertstel;
char s_temp[12];
l_hundertstel = 0;
strcpy(s_temp, strtrenner(string, trenn1, 1));
printf("n%st", s_temp);
l_hundertstel += atoi(s_temp) <em> 60 </em> 60 * 100;
strcpy(s_temp, strtrenner(strtrenner(string, trenn1, 2), trenn2, 1));
printf("%st", s_temp);
l_hundertstel += atoi(s_temp) <em> 60 </em> 100;
strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 3), trenn2, 2), trenn3, 1));
printf("%st", s_temp);
l_hundertstel += atoi(s_temp) * 100;
strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 4), trenn2, 3), trenn3, 2));
printf("%sn", s_temp);
l_hundertstel += atoi(s_temp);
return l_hundertstel;
}
char *zeitformatieren(long zeitinh, char trenn1, char trenn2, char trenn3)
//gegenstueck zu zeitinh()
//formatiert die zeit mit den angegebenen Trennzeichen
//als eingabe wird die zeit in hundertstelsekunden erwartet
{
long l_hundertstel;
static char returnstring[20];
int stunden;
int minuten;
int sekunden;
int hundertstel;
l_hundertstel = zeitinh;
stunden = l_hundertstel / 100 / 60 / 60;
l_hundertstel -= stunden <em> 100 </em> 60 * 60;
minuten = l_hundertstel / 100 / 60;
l_hundertstel -= minuten <em> 100 </em> 60;
sekunden = l_hundertstel / 100;
l_hundertstel -= sekunden *100;
hundertstel = l_hundertstel;
strcpy(returnstring, " ");
if(stunden >= 10)
itoa(stunden, returnstring, 10);
else
itoa(stunden, &returnstring[1], 10);
returnstring[2] = trenn1;
if(minuten >= 10)
itoa(minuten, &returnstring[3], 10);
else
{
returnstring[3] = '0';
itoa(minuten, &returnstring[4], 10);
}
returnstring[5] = trenn2;
if(sekunden >= 10)
itoa(sekunden, &returnstring[6], 10);
else
{
returnstring[6] = '0';
itoa(sekunden, &returnstring[7], 10);
}
returnstring[8] = trenn3;
if(hundertstel >= 10)
itoa(hundertstel, &returnstring[9], 10);
else
{
returnstring[9] = '0';
itoa(hundertstel, &returnstring[10], 10);
}
return returnstring;
} |