Ciao a tutti raga. bhe se c'è qualcuno che potrebbe darmi una mano con quest'esercizio gli faro personalmente una statua. grazie in anticipo. bye bye.
Definire un tipo status i cui possibili valori sono ERROR e OK.
Definire una costante intera N uguale a 30 che rappresenta la lunghezza massima di una stringa.
1. Definire una funzione
int readLine(char *s);
che legga dallo standard input una riga di testo (terminata da ‘\n’) e che restituisca il numero di
caratteri letti da tastiera. Il carattere ‘\n’ non deve fare parte della stringa s risultante.
2. Definire una funzione
status cutString(char *s, int n);
che modifichi la stringa s mantenendo tutti i caratteri con indice < n. La funzione restituisce OK se
l’operazione ha effetto, ERROR se l’operazione non e’ eseguibile (n<0).
Es. data la stringa str=“La bella estate.”;
l’invocazione cutString(str, 6); modifica la stringa str in “La bel”.
3. Definire una funzione
status concatString(char *s, char *t)
che concatena le due stringhe s e t; in particolare, la stringa t viene “appesa” al fondo della stringa s.
Se l’operazione viene eseguita con successo la funzione restituisce OK, altrimenti, quando la
lunghezza di s piu’ la lunghezza di t e’ maggiore di N, la funzione restituisce ERROR.
Nel main provare le funzioni definite.
Puo’ esservi utile definire una funzione length che prenda come argomento una stringa e determini
la lunghezza della stringa stessa.
Definire anche una funzione
status beheadString(char*s, int n);
che ha il comportamento opposto della funzione cutString, ovvero mantiene in s tutti i caratteri con
indice >= ad n.
Es. data la stringa str=“La bella estate.”;
l’invocazione beheadString(str, 6); modifica la stringa str in “la estate.”.
Attenzione: questo vuol dire che dovete spostare i caratteri dal fondo della stringa alla testa.