Hi C++ler,
wer kann mir bei der letzten Auswertung helfen?
Ich hab en Prog geschrieben das mir den String einzelner Logfiles auswertet.(Die Logfiles sind Infos einer Brennstation.)
Das Prog liest den String ein , Splittet ihn bei jedem "_" und gibt mir die einzelnen Infos wieder. Die *.ubl werden per Parameter angegeben (Siehe Quelltext).
Wieviele Logfiles, welche CD`s gebrannt wurden habe ich schon, mir fehlt jedoch die EINE Auswertung. Dort soll Ausgewertet werden welcher user welche Unterschiedlichen CD`s gebrannt hat und wer am meisten brannte. Ich denke dies müsste mit einem array funktioneiren jedoch hapert es mit der Umsetzung.
THX im vorraus für eure hilfe und IDEEN
wer kann mir bei der letzten Auswertung helfen?
Ich hab en Prog geschrieben das mir den String einzelner Logfiles auswertet.(Die Logfiles sind Infos einer Brennstation.)
Das Prog liest den String ein , Splittet ihn bei jedem "_" und gibt mir die einzelnen Infos wieder. Die *.ubl werden per Parameter angegeben (Siehe Quelltext).
Wieviele Logfiles, welche CD`s gebrannt wurden habe ich schon, mir fehlt jedoch die EINE Auswertung. Dort soll Ausgewertet werden welcher user welche Unterschiedlichen CD`s gebrannt hat und wer am meisten brannte. Ich denke dies müsste mit einem array funktioneiren jedoch hapert es mit der Umsetzung.
THX im vorraus für eure hilfe und IDEEN
Code:
// Logfiles.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
//
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <dos.h>
#include <string.h>
#include <io.h>
//long _findfirst( char *filespec, struct _finddata_t *fileinfo );
#define rot 12
#define steffi 12
#define lol 10
#define blau 3
void textcolor(WORD color)
{
SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), color);
}
struct MRec {
char produkt[30];
char rechner[30];
char user[9];
int jahr;
int monat;
int tag;
int std;
int minuten;
int sek;
long MB;
};
void insertionsort(int n, char daten[]){
int i, j;
char v;
for(i=1; i<n; i++){
v = daten[i];
for(j=i; j && (daten[j-1]>v); j--)
daten[j] = daten[j-1];
daten[j] = v;
}
}
int main(int argc, char *argv[])
{
char* v1;
char* v2;
char* v3;
char* v4;
char* v5;
char* v6;
char* v7;
char* v8;
char* v9;
char* v10;
int howmanyppp=0;
int Zeile =0;
int i=0;
int Zaehler=0;
char Hilf[80];
long handle;
struct _finddata_t f;
int howmuchMB=0;
int howmanyULaufwerk=0;
int howmanyPatch=0;
MRec db [1000];
char array[30][1000];
textcolor(rot);
while (i<=argc)
{
printf("%s\n",argv[i]);
i++;
}
strcpy (Hilf,argv[1]);
strcat(Hilf,"\\*.ubl");
printf("\n\n%s",Hilf);
handle = _findfirst(Hilf, &f);
if (handle == -1)
{
printf("\nfalscher Parameter");
return -1;
}
printf("\n%s",f.name);
while (1)
{
if (_findnext(handle,&f) != 0) break;
printf("\n%s\n",f.name);
/*scanf(f.name,"%[^_]%[^_]%[^_]%[^_]%s",v1,v2,v3,v4);
printf("%s %s %s \n%s",v1,v2,v3,v4);
cout<<endl;*/
v1 = strtok (f.name,"_");
strcpy(db[Zeile].produkt, v1);
v2 = strtok (NULL,"_");
strcpy(db[Zeile].rechner, v2);
v3 = strtok (NULL,"_");
strcpy(db[Zeile].user, v3);
// if
strcpy(array[Zaehler],v3);
v4 = strtok (NULL,"_");
db[Zeile].jahr = atoi(v4);
v5 = strtok (NULL,"_");
db[Zeile].monat = atoi(v5);
v6 = strtok (NULL,"_");
db[Zeile].tag = atoi(v6);
v7 = strtok (NULL,"_");
db[Zeile].std = atoi(v7);
v8 = strtok (NULL,"_");
db[Zeile].minuten = atoi(v8);
v9 = strtok (NULL,"_");
db[Zeile].sek = atoi(v9);
db[Zeile].MB=0;
if (strcmp(db[Zeile].produkt,"U-Laufwerk") == 0)
{
v10 = strtok (NULL,"_");
db[Zeile].MB= atoi(v10);
}
if(strcmp(db[Zeile].produkt,"PPP-CD") == 0)
{
howmanyppp++;
}
if(strcmp(db[Zeile].produkt,"U-Laufwerk") == 0)
{
howmanyULaufwerk++;
}
if(strcmp(db[Zeile].produkt,"Patch-CD") == 0)
{
howmanyPatch++;
}
textcolor(rot);
printf("db[%d].produkt = %s\n", Zeile, db[Zeile].produkt);
textcolor(rot);
printf("db[%d].rechner = %s\n", Zeile, db[Zeile].rechner);
textcolor(rot);
printf("db[%d].user = %s\n", Zeile, db[Zeile].user);
textcolor(steffi);
printf("db[%d].jahr = %d\n", Zeile, db[Zeile].jahr);
textcolor(rot);
printf("db[%d].monat = %d\n", Zeile, db[Zeile].monat);
textcolor(rot);
printf("db[%d].tag = %d\n", Zeile, db[Zeile].tag);
textcolor(rot);
printf("db[%d].std= %d\n", Zeile, db[Zeile].std);
textcolor(rot);
printf("db[%d].minuten = %d\n", Zeile, db[Zeile].minuten);
textcolor(rot);
printf("db[%d].sek = %d\n", Zeile, db[Zeile].sek);
textcolor(steffi);
printf("db[%d].MB = %d\n", Zeile, db[Zeile].MB);
textcolor(lol);
howmuchMB += db[Zeile].MB;
// printf("\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",v1,v2,v3,v4,v5,v6,v7,v8,v9,v10);
Zeile++;
Zaehler++;
}
/*Zeile=0;
strcpy(array[Zaehler],db[Zeile].user);
for (Zaehler=0;Zaehler<=1000;Zaehler++){
}*/
textcolor(lol);
printf("\n\n\n");
printf("Es sind insgesamt:");
printf(" %d " , Zeile-1);
printf("Logfiles\n" );
printf("Davon sind %d PPP-CD`s \n" , howmanyppp);
printf("Insgesamt wurden %d MB gebrannt" , howmuchMB);
printf("\nDavon wurden %d U-Laufwerke gebrannt" , howmanyULaufwerk);
printf("\nEs wurden %d Patch CD gebrannt" , howmanyPatch);
/* insertionsort(1001, db[Zeile].user);
for(Zeile=0; Zeile<1000; Zeile++)
printf("%d\n", db[Zeile].user);
*/
textcolor(blau);
getch();
return 0;
}