Guten Tag,
ich brauche wieder eure Hilfe, viellecht kan mit jemand helfen...
man muss hier den Tagesablauf von Postmitarbeiter berechen, am Tag zb Lukas Maly soll 2 Wagen mit Briefe verteilen
Er kommt und stempelt sich ein, sein Arbeitstag ist angefangen er soll im Betrieb max in 3 Minute sein er nimmt seinen Wagen, und beim rausgehen
vom Betrieb auf der Checkliste bigt ein das er den Wagen mit Nummer <100> abgeholt hat, er soll einen Wagen max in 4 Stunden fertig machen
und kommt wieder ins Betrieb zum zuruckgeben den Wagen
Aufgabe mann muss die Zeiten wo er länger als muss begraucht hat. zB: am 2-ten Tag er kommt zum BEtrieb und von 6 Uhr und bis 10 schläft ein
man muss diese
Zeit anzeigen und Wagennummer anzeigen.
Lukas gekommen und abholte Wagen = soll max 3 min
Lukas abholte Wagen und zuruckgab Wagen = max 4 Stunden (braucht er um eine Wagen zu leer machen)
Lukas gekommen und 2te Wagen zuruckgab = max 9 Stunden ( das ist max Arbeitszeit)
"Lukas Maly gekommen"
Lukas Maly abholte Wagen <"
"Lukas Maly zuruckgab Wagen <"
wenn ich nur 3 erste eingebe ich bekomme die Zeit, sobald wenn ich will nächste 3 suchen funktionniert
meine Programme nicht mehr....weil ich denke gesuchteWorter gleich sind ... Wie kann man alle 6 Zeiten anzeigen?
ich brauche wieder eure Hilfe, viellecht kan mit jemand helfen...
man muss hier den Tagesablauf von Postmitarbeiter berechen, am Tag zb Lukas Maly soll 2 Wagen mit Briefe verteilen
Er kommt und stempelt sich ein, sein Arbeitstag ist angefangen er soll im Betrieb max in 3 Minute sein er nimmt seinen Wagen, und beim rausgehen
vom Betrieb auf der Checkliste bigt ein das er den Wagen mit Nummer <100> abgeholt hat, er soll einen Wagen max in 4 Stunden fertig machen
und kommt wieder ins Betrieb zum zuruckgeben den Wagen
Aufgabe mann muss die Zeiten wo er länger als muss begraucht hat. zB: am 2-ten Tag er kommt zum BEtrieb und von 6 Uhr und bis 10 schläft ein

Zeit anzeigen und Wagennummer anzeigen.
Lukas gekommen und abholte Wagen = soll max 3 min
Lukas abholte Wagen und zuruckgab Wagen = max 4 Stunden (braucht er um eine Wagen zu leer machen)
Lukas gekommen und 2te Wagen zuruckgab = max 9 Stunden ( das ist max Arbeitszeit)
"Lukas Maly gekommen"
Lukas Maly abholte Wagen <"
"Lukas Maly zuruckgab Wagen <"
wenn ich nur 3 erste eingebe ich bekomme die Zeit, sobald wenn ich will nächste 3 suchen funktionniert
meine Programme nicht mehr....weil ich denke gesuchteWorter gleich sind ... Wie kann man alle 6 Zeiten anzeigen?
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int InZeitUm(char * zeit);
char * ZeitVonZeileCut(const char * text, int beg, int end);
#define filename "/home/alt/2017-Projekte/LukasPost"
#define SuchWort_1a_1 "Lukas Maly gekommen"
#define SuchWort_1a_2 "Lukas Maly abholte Wagen <"
#define SuchWort_1b_2 "Lukas Maly zuruckgab Wagen <"
#define SuchWort_2a_1 "Lukas Maly gekommen"
#define SuchWort_2a_2 "Lukas Maly abholte Wagen <"
#define SuchWort3a_1 "Lukas Maly zuruckgab Wagen <"
//
int InZeitUm(char * zeit) { // Die Methode umwandelt die geschinttene Zeit in integer und dann in Millisekunde
char * stundeChar = ZeitVonZeileCut(zeit, 0, 2);
int stundeInt = atoi(stundeChar);
int st = stundeInt * 60 * 60 * 1000;
char * MinuteChar = ZeitVonZeileCut(zeit, 3, 5);
int minuteInt = atoi(MinuteChar);
int mi = minuteInt * 60 * 1000;
char * SekundeChar = ZeitVonZeileCut(zeit, 6, 8);
int sekInt = atoi(SekundeChar);
int se = sekInt * 1000;
char * MiSekChar = ZeitVonZeileCut(zeit, 9, 12);
int msekInt = atoi(MiSekChar);
int gesZeitInInt = st + mi + se + msekInt;
return gesZeitInInt;
}
char * ZeitVonZeileCut(const char * text, int beg, int end) { // diese Methode Schneidet die Zeit raus
int i;
char *ZeitChar = 0;
int len = end - beg;
if (text)
if (text + beg)
if (0 < len)
if ((ZeitChar = (char *) malloc(1 + len))) {
for (i = beg; text[i] != '\0' && i < end; i++)
ZeitChar[i - beg] = text[i];
ZeitChar[i - beg] = '\0';
}
return ZeitChar;
}
int main(int argc, char** argv) {
FILE *pFile;
int leseAusZeile = 170;
char zeile1[leseAusZeile];
int regel_1_erlaubt = 0;
char * strZeit_1;
char * strZeit_2;
char * strZeit_3;
char * strZeit_4;
char * strZeit_5;
char * strZeit_6;
int intZeit_1 = 0;
int intZeit_2 = 0;
int intZeit_3 = 0;
int intZeit_4 = 0;
int intZeit_5 = 0;
int intZeit_6 = 0;
int dif = 0;
printf("=================================================\n");
pFile = fopen(filename, "r");
if (pFile != NULL) {
while (!feof(pFile)) {
fgets(zeile1, leseAusZeile, pFile);
if (strstr(zeile1, (SuchWort_1a_1)) != NULL) {
regel_1_erlaubt = 1; // boolean wenn 1te gesuchte Wort das ist regel_1_erlaubt=1
strZeit_1 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 1: %s \n", strZeit_a);
printf(" 1: %s \n", zeile1);
} else if ((strstr(zeile1, (SuchWort_1a_2)) != NULL)&&(regel_1_erlaubt == 1)) {
regel_1_erlaubt = 2;
strZeit_2 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 2: %s \n", strZeit_b);
printf(" 2: %s \n", zeile1);
} else if ((strstr(zeile1, (SuchWort_1b_2)) != NULL)&&(regel_1_erlaubt == 2)) {
regel_1_erlaubt = 3;
strZeit_3 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 3: %s \n", strZeit_c);
printf(" 3: %s \n", zeile1);
} else if ((strstr(zeile1, (SuchWort_2a_1)) != NULL)&&(regel_1_erlaubt == 3)) {
regel_1_erlaubt = 4;
strZeit_4 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 4: %s \n", strZeit_d);
printf(" 4: %s \n", zeile1);
} else if ((strstr(zeile1, (SuchWort_2a_2)) != NULL)&&(regel_1_erlaubt == 4)) {
regel_1_erlaubt = 5;
strZeit_5 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 5: %s \n", strZeit_e);
printf(" 5: %s \n", zeile1);
} else if ((strstr(zeile1, (SuchWort3a_1)) != NULL)&&(regel_1_erlaubt == 5)) {
strZeit_6 = ZeitVonZeileCut(zeile1, 13, 25);
// printf(" 6: %s \n", strZeit_f);
printf(" 6: %s \n", zeile1);
intZeit_1 = InZeitUm(strZeit_1); // hier ich wollte die Zeit raus nehmen zum berechnen
intZeit_2 = InZeitUm(strZeit_2);
intZeit_3 = InZeitUm(strZeit_3);
intZeit_4 = InZeitUm(strZeit_4);
intZeit_5 = InZeitUm(strZeit_5);
intZeit_6 = InZeitUm(strZeit_6);
printf("------------%d\n", intZeit_1); //die Zeit in String anzeigen
printf("------------%d\n", intZeit_2);
printf("------------%d\n", intZeit_3);
printf("------------%d\n", intZeit_4);
printf("------------%d\n", intZeit_5);
printf("------------%d\n", intZeit_6);
printf("=================================================\n");
}
}
fclose(pFile);
} else {
printf("File ist nicht gefunden\n");
abort();
}
}