Non aggiornerò questo blog fino al 20…sì, certo…
Ecco la versione riveduta e corretta di quel piccolo programma precedente di cui avevo parlato:
#include
#include
#define LUNGA 50
//niente punto virgola nel define
int main() // main() ritorna un int
{
//int num;
char title[LUNGA]=”"; //inizio fase di apertura file
//sto dicendo che il titolo è lungo 50 caratteri
FILE *file;
// meglio mettere tutte le dichiarazioni all’inizio
int i, numero=0, somma=0;
char titolo[LUNGA];
//è un array e [] ed è una sequenza di 50 caratteri
FILE *file1;
//sto dichiarando la variabile file su cui vado a scrivere
printf(“Titolo del file di lettura: \n”);
//stampa su video il titolo del file
scanf(“%s”, title);
//scanf legge il nome
//cout<
//sono due operazioni diverse il titolo e l'apertura del file
if((file=fopen(title, "r"))==NULL)
{printf("Il file non esiste!\n"); exit(0);}
//leggo 10 numeri da un file che deve contenerli
// printf("sono arrivato qua");
printf("sono arrivato qua\n");
// ritorno a capo effettua anche un flush del buffer
// for(i=0;i+1;i<10) {
for(i=0; i<10; i++) { // cosi' e' piu' corretto !!!
// fscanf(file, "&d", numero);
fscanf(file, "%d", &numero); // cosi' e' piu' corretto
somma = somma + numero; // anche: somma += numero
}
printf("sono arrivato qua2\n"); // ritorno a capo...
printf("Titolo del file di scrittura: \n");
scanf("%s", titolo);
if((file1=fopen(titolo,"w"))==NULL) {printf("Non posso aprire il file!\n");
exit(0);}
fprintf(file1, "somma dei 10 numeri: %d\n", somma);
//scrivi nel file1 la somma
return 0; // valore di ritorno di main() (esito regolare)
}
Adesso alcuni piccoli esercizi per il 13/14: calcolare la media tra due numeri o il prodotto di 5 di loro, leggere i 10 numeri, calcolarne il doppio e salvarli tutti e 10 raddoppiati su un unico file.
al lavoro!