Estratto del documento

#include <stdio.h>

float LeggiRapporto(FILE* fp)

{

float val;

int denominatore;

char ch;

fscanf(fp,"%f",&val);

ch = fgetc(fp);

if (ch == %)

return val/100;

else if (ch == /)

{

fscanf(fp,"%d",&denominatore);

return val/denominatore;

}

else /* ch e \n (oppure un blank spurio alla fine della riga) */

return val;

}

char* MassimoRapporto(char* nome_file)

{

char nome_nazione[21], nome_nazione_massimo[21];

char* nome_restituito;

float rapporto, rapporto_massimo = 0;

FILE* fp;

fp = fopen(nome_file,"r");

while(fscanf(fp,"%s",nome_nazione) != EOF)

{

rapporto = LeggiRapporto(fp);

if (rapporto > rapporto_massimo)

{

strcpy(nome_nazione_massimo,nome_nazione);

rapporto_massimo = rapporto;

}

64 Soluzioni degli esercizi sui file

}

fclose(fp);

nome_restituito = (char*) malloc(strlen(nome_nazione_massimo) + 1);

strcpy(nome_restituito,nome_nazione_massimo);

return nome_restituito;

}

main()

{ /* programma principale */

printf("Il massimo rapporto e quello di %s\n",

MassimoRapporto("rapporti.txt"));

}

Anteprima
Vedrai una selezione di 1 pagina su 1
Programma - Deficit e Pil Pag. 1
1 su 1
Sintesi

Deficit e PIL

Programma in C che lavora con i file, dato il seguente file che contiene il rapporto tra deficit e PIL (prodotto interno lordo) per una lista di nazioni europee, ogni riga del file contiene il nome della nazione (massimo 20 caratteri) ed il rapporto Deficit e PIL.

Il rapporto sarà:

  • Un valore reale assoluto
  • Una frazione tra interi, cioè due interi separati dal carattere /
  • Un valore reale percentuale seguito dal carattere %

Il file deve essere strutturato così:

Germania 3.0%

Francia 54/2000

Irlanda 67/1500

Italia 0.027

Olanda 2.2%

Il programma prenderà dal file il rapporto più alto e stamperà la nazione con tale rapporto.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi