Zeitfunktionen

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;
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.