Codice dei programmi nella directory:
///File: 4EserciziSuiFIle.txt
1. Leggere una serie di numeri da un file di testo
e scrivere i numeri in senso inverso (dall'ultimo al primo)su un altro file
2. Dato un file di testo, riscrivere nello stesso file tutte le lettere maiuscole in minuscolo
e le minuscole in maiuscole. Oscurare con una X le cifre
3.dato un file di testo (un programma C) togliere i commenti //
4.dato un file contenente parole separate da un solo spazio, scrivere in un secondo file le
parole con la prima e l'ultima lettera maiuscola.
///(Fine file: 4EserciziSuiFIle.txt)
///File: 1.c
//Autore:Lorenzo Occhipinti - Data ultima modifica 18/04/26
//Breve descrizione del programma: Leggere una serie di numeri da un file di testo e scrivere i numeri in senso inverso (dall'ultimo al primo)su un altro file
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int main() {
FILE *pfi, *pfo; // definisci puntatori file
int nelem, i;
double v[MAX];
pfi = fopen("input.txt", "r"); // apre input.txt in lettura
pfo = fopen("output.txt", "w"); // apre output.txt in scrittura
if(pfi == NULL){
printf("Errore nell'apertura del file input.txt, controlla che sia presente nella cartella.\n");
exit(1);
}
fscanf(pfi, "%d", &nelem); // carica numero di elementi, inserito nella prima linea del file
for (i = 0; i < nelem; i++) {
fscanf(pfi, "%lf", &v[i]); // carica dal file i numeri da inserire nell'array
}
for(i=nelem-1; i>=0; i--) {
fprintf(pfo, "%.3lf\n", v[i]); // stampa i risultati su file output.txt
}
// chiude i file
fclose(pfi);
fclose(pfo);
system("output.txt");
return 0;
}
///(Fine file: 1.c)
///File: 2.c
/**2. Dato un file di testo, riscrivere nello stesso file tutte le lettere maiuscole in minuscolo
e le minuscole in maiuscole. Oscurare con una X le cifre **/
#include <stdio.h>
#include <string.h>
int main() {
int c;
char primo[128], secondo[128];
FILE *fin, *fout;
printf("File da leggere->");
gets(primo);
fin = fopen(primo, "r");
strcpy(secondo, primo);
strcat(secondo, ".appoggio");
fout = fopen(secondo, "w");
while ((c = getc(fin)) != EOF) {
if (c >= 'a' && c <= 'z')
c = c - 32;
else if (c >= 'A' && c <= 'Z')
c = c + 32;
else if (c >= '0' && c <= '9')
c = 'X';
putc(c, fout);
}
fclose(fin);
fclose(fout);
printf("Crittografato in [%s]\n", secondo);
// con system copiare il secondo file nel primo file
return 0;
}
///(Fine file: 2.c)