Lotti di merce
lotti.c
/*
Legge un file di lotti, e ne memorizza ognuno
in una struttura.
*/
#include<stdlib.h>
#include<stdio.h>
struct Lotto {
float peso;
int quantita;
};
typedef struct Lotto TipoLotto;
int main() {
FILE *fd;
int res;
TipoLotto l;
/* apre il file */
fd=fopen("lotti.txt", "r");
if(fd==NULL) {
perror("Errore in apertura del file");
exit(1);
}
/* ciclo di lettura del file */
while(1) {
res=fscanf(fd, "%f %d", &l.peso, &l.quantita);
if( res!=2 )
break;
printf("Peso=%f Quantita'=%d\n", l.peso, l.quantita);
}
/* chiude il file */
fclose(fd);
return 0;
}
lottivettore.c
/*
Legge un file di lotti, memorizzandoli
in un vettore di strutture.
*/
#include<stdlib.h>
#include<stdio.h>
struct Lotto {
float peso;
int quantita;
};
typedef struct Lotto TipoLotto;
int main() {
FILE *fd;
int res;
TipoLotto l;
TipoLotto vett[100];
int n;
int i;
/* apre il file */
fd=fopen("lotti.txt", "r");
if(fd==NULL) {
perror("Errore in apertura del file");
exit(1);
}
/* ciclo di lettura del file */
n=0;
while(1) {
res=fscanf(fd, "%f %d", &l.peso, &l.quantita);
if( res!=2 )
break;
vett[n]=l;
n++;
}
/* ciclo di stampa */
for(i=0; i<=n-1; i++)
printf("Peso=%f Quantita'=%d\n", vett[i].peso, vett[i].quantita);
/* chiude il file */
fclose(fd);
return 0;
}
lottiordine.c
/*
Legge un file di lotti, stampa prima
quelli di peso 0.25, poi quelli di peso
0.5 e poi quelli di peso 1.
*/
#include<stdlib.h>
#include<stdio.h>
struct Lotto {
float peso;
int quantita;
};
typedef struct Lotto TipoLotto;
int main() {
FILE *fd;
int res;
TipoLotto l;
TipoLotto vett[100];
int n;
int i;
/* apre il file */
fd=fopen("lotti.txt", "r");
if(fd==NULL) {
perror("Errore in apertura del file");
exit(1);
}
/* ciclo di lettura del file */
n=0;
while(1) {
res=fscanf(fd, "%f %d", &l.peso, &l.quantita);
if( res!=2 )
break;
vett[n]=l;
n++;
}
/* stampa i lotti di peso 0.25 */
printf("Lotti di peso 0.25\n");
for(i=0; i<=n-1; i++)
if(vett[i].peso==0.25)
printf("Quantita'=%d\n", vett[i].quantita);
/* stampa i lotti di peso 0.5 */
printf("Lotti di peso 0.5\n");
for(i=0; i<=n-1; i++)
if(vett[i].peso==0.5)
printf("Quantita'=%d\n", vett[i].quantita);
/* stampa i lotti di peso 1 */
printf("Lotti di peso 1\n");
for(i=0; i<=n-1; i++)
if(vett[i].peso==1)
printf("Quantita'=%d\n", vett[i].quantita);
/* chiude il file */
fclose(fd);
return 0;
}