codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 30
#define MAX 50
int main(int argc,char*argv[])
{
    FILE*fp;
    char str[MAX];
    char data[9];
    char numero[21];
    int min,min1,min2,i, sume,sumu;
    char tipo[2];
    char data1[9];
    char data2[9];
    if(argc!=2)
    {
        printf("errore\n");
        return -1;
    }
    fp=fopen(argv[1],"r");
    if(fp==NULL)
    {

        printf("file %s vuoto\n",argv[1]);
        return -2;
    }
    printf("inserisci le due date:\n");
    scanf("%s %s",data1,data2);

    sume=0;
    sumu=0;

    while(fgets(str,MAX,fp)!=NULL)
        sscanf(str,"%s %s %d %c",data,numero,&min,tipo);



for(i=0;i<MAX;i++){
        if(strcmp(str,data1))
        {
            if(str=='E')
            {

                sume+=min;
                min1=min;
            }
        }
        else
        if (strcmp(str,data2))
        {
                if(str=='U')
                {
                sumu+=min;
                min2=min;
                 }
        }


    else
    printf("errore\n");
    }
fclose(fp);
    printf("%s - Entrata: %d minuti - Uscita: %d minuti\n",numero,min1,min2);
    printf("%s - Entrata: %d minuti - Uscita: %d minuti\n",numero,min1,min2);
    return 0;
}
dato il seguente codice non riesco a visualizzare la somma dei minuti in Uscita (U) e dei minuti in entrata (E) del seguente tabulato.txt

20110701 345677770 30 U
20110603 02345678 10 U
20110704 345677770 30 U
20110701 345677770 18 U
20110702 011345345 20 E
20110703 338767676 90 U

che per esempio io do in input
Inserire le due date:

20110701 20110702

e in output ho:

345677770 – Entrata: 0 minuti - Uscita: 48 minuti
011345345 – Entrata: 20 minuti - Uscita: 0 minuti
cioè somma dei minuti di quei numeri compresi fra due date.
ho lanciato il codice ma mi esce solo uil tabulato dell ultimo numero e come minuti in E o in U numeri altissimi!!