#include #define MAXDEV 21 #define INFILE "fuses.in" typedef struct disp{ int ampere; char on; } DISPOSITIVO; int parseInput(FILE *fp, int *noDev, int *noOp, int *capacity) { fscanf(fp, " %i %i %i ", noDev, noOp, capacity); return ((*noDev)||(*noOp)||(*capacity)); } int main(void) { DISPOSITIVO elencoDisp[MAXDEV]; int noDev, noOp, cap; int actualDev, consumed, maxConsume; FILE *infp; int i, j; infp=fopen(INFILE, "r"); for (i=1; (parseInput(infp, &noDev, &noOp, &cap)); i++) { printf("Sequence %i\n", i); for (j=1; j<=noDev; j++) { fscanf(infp, " %i ", &(elencoDisp[j].ampere)); elencoDisp[j].on=0; } for (consumed=j=maxConsume=0; j cap) printf("Fuse was blown.\n"); else printf("Fuse was not blown.\nMaximal power consumption " "was %i amperes.\n", maxConsume); printf("\n"); } fclose(infp); return 0; }