Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file. Informatica Programmazione II, modulo di Laboratorio it
Scrivere una function di tipo main che legga da un file “mat.dat” una matrice di float i cui primi 2 elementi siano la dimensione della matrice assegnata. Tale function inoltre: deve memorizzare la matrice in un puntatore a puntatore A. Deve calcolare la trasposta di A scrivendo in un file trasp.dat il risultato dell’elaborazione. Esempio di File mat.dat Si suggerisce di scrivere preliminarmente mediante un editor di testo, tipo vi, il file mat.dat Esercizio 1
Istruzioni di dichiarazione, apertura e lettura da un file avvengono attraverso le istanza /*dichiarazione del punatore a file */ … if ((fp=fopen("mat.dat","r")) == NULL) printf("Errore di apertura dal file\n"); else{ /*Leggo le dimensioni della matrice*/ fscanf(fp,"%d",&n); … } Mostra main parte1 Mostra main parte2 Scarica mat.dat Scarica transp.dat Esercizio 1 cont.
Si realizzi una function che: Legga da un file di testo di 160 caratteri ogni parola; Trasformi in maiuscolo tutte le lettere minuscole; Scriva su un altro file di testo un nuovo testo composto solo dalle parole di posto pari. Si utilizzi la function scrivendo un programma chiamante che apra in lettura il file “sms.txt” da cui leggere la parola ed in scrittura il file “NSMS.txt” su cui scrivere la nuova parola invertita. Esempio file sms.txt Esempio file NSMS.txt Ciao ci vediamoCI DOMANI domani ad oraORA PRANZO. di pranzo. TiCHIAMO chiamo appena POSSO posso Esercizio 2
Si osservi che prima del programma principale sono state inserite le direttiva: #include #define FROM "sms.dat" #define TO "NSMS.dat" #define DIM 160 Si è utilizza la libreria ctype.h per la manipolazione delle stringhe. E’ stato inoltre scelto di definire i nomi del file di input e quello di output mediante le variabili globali FROM e TO. Mostra main Esercizio 2
Il programma è scritto in maniera modulare. Descriviamo nel dettaglio alcune delle funzioni sviluppate. La funzione void Leggi_parole( ) legge le parole dal file Mostra void Leggi_parole( ) La funzione void toUpper( ) converte una stringa da minuscolo a maisucolo. Mostra toUpper() Esercizio 2
Il programma è scritto in maniera modulare. Descriviamo nel dettaglio alcune delle funzioni sviluppate. La funzione Scrivi_parole_pari() scrive in un file le parole di posto pari. Il nucleo della funzione è dato dal ciclo: while((stato!=EOF)&&(i<len)){ /* controllo se la parola è di posto pari */ if(n%2==0){ stato=fprintf(fp,"%c",stringa[i]); } if((stringa[i]=='')||(stringa[i]=='\n')){ n++;} i++; } Mostra Scrivi_parole_pari() Esercizio 2
Si realizzi un programma che realizzi un semplice Editor di testo a linea di comando. Specifiche: In input il nome del file da editare In output il file editato. Mostra mian Esercizio 3
Si realizzi un programma che realizzi un semplice visualizzazione di un testo. Specifiche: In input il nome del file da visualizzare Visualizzare a video il contenuto di un file di testo Mostra mian Esercizio 3