Allora..sono riusciuto a stendere parte del programma..mancano la definizione delle varie funzioni..però ho incontrato problemi nell'aquisizione dei dati..vi prego di darmi qualsiasi conziglio utile..grazie a tutti!
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#ifndef FALSE
#define FALSE 0
#define TRUE (!FALSE)
#endif
#define BOOLEAN int
#define MAXBC 127
#define NAZIENDE 100
#define NGIORNI 365
#define FAZIENDE \"AZIENDE.TXT\"
int main(int argc,char *argv[])
{
char buf [MAXBC+1],azienda [NAZIENDE],op;
int giorno [NGIORNI],id,n;
float quotazione, minv, maxv;
FILE *afh, *quot, *comandi;
char MAXND, MAXNC, LND, LNC, MAX, MIN;
BOOLEAN primo_valore = TRUE;
/* apertura del file che contiene i nomi delle societa' */
afh = fopen (FAZIENDE, \"r\");
if (afh == NULL)
{
fprintf (stderr, \"errore - impossibile aprire il file '%s' in lettura\\n\", FAZIENDE);
exit (1);
}
/* chiusura del file */
if (fclose(afh) != 0)
fprintf (stderr, \"avviso - errore nella chiusura del file '%s'\\n\", FAZIENDE);
/* - Acquisizione e controllo dei dati da riga di comando */
if (argc !=3)
{
fprintf (stderr,\" errore numero parametri non valido\\n\");
exit (4);
}
if ((quot = fopen (argv [1], \"r\")) == NULL)
{
fprintf (stderr,\" errore parametri non validi\\n\");
exit (5);
}
if ((comandi = fopen (argv [2], \"r\")) == NULL)
{
fprintf (stderr,\" errore parametri non validi\\n\");
exit (6);
}
while (fgets (buf,MAXBC,quot) != NULL)
{
if (sscanf (buf, \"%d %f %d\", &id, "azione, &giorno)!=3)
fprintf (stderr,\" errore parametri non validi %s \\n\",buf);
continue;
if (id<1 || id>NAZIENDE)
fprintf (stderr,\" errore parametro non valido %d \\n\",id);
continue;
if (giorno<0 || giorno>NGIORNI)
fprintf (stderr,\" errore parametro non valido %d \\n\",id);
continue;
}
while (fgets (buf,MAXBC,comandi) != NULL)
{
if ((sscanf (buf, \"%s %s\", op, azienda)!=2) || ((sscanf (buf, \"%s %d %s\", op, &n, azienda)!=3)
fprintf (stderr,\" errore parametri non validi %s \\n\",buf);
continue;
if (n<1 || n>NGIORNI)
fprintf (stderr,\" errore parametro non valido %d \\n\",id);
continue;
id = azienda[id-1] /*azienda desiderata*/
switch (op)
{
case 'MAXND':
break;
case 'MAXNC':
break;
case 'LND':
break;
case 'LNC':
break;
case 'MAX':
case 'MIN':
if (primo_valore)
{
minv = quotazione;
maxv = quotazione;
primo_valore = FALSE;
}
else /* non e' il primo_valore */
{
if (quotazione < minv)
minv = quotazione;
if (quotazione > maxv)
maxv = quotazione;
}
break;
default:
fprintf (stderr, \"errore riga non valida\\n\");
continue;
}
}
/* stampa dei risultati */
return 0;
}