Correzione prova pratica del 17 settembre 2003
Correzione prova pratica del 17 settembre 2003
Istruzioni:
il commento iniziale rappresenta il giudizio complessivo sul programma. Nei commenti trovate:
- FIXME: segnalazione di un errore, non necessariamente sono tutti segnalati e non necessariamente sono tutti presi in considerazione
per il voto finale
- TODO: segnala l'assenza di parti di codice
- XXX: segnala qualcosa di non chiaro o inutile ai fini del codice, commenti di ordine generale, errori di battitura o suggerimenti
Il codice presentato non è necessariamente identico a quello consegnato in quanto possono essere state effettuate modifiche per
renderlo compilabile e/o per la corretta indentazione.
//XXX (4) incompleto, alcuni errori, strutturato in maniera sensata
//FIXME L'algoritmo utilizzato non mi e' chiarissimo,
// ci sono comunque numerosi errori
#include <iostream.h>
#include <string.h>
int controlla(char,char);
main()
{
int num;
char* dato[80]; //FIXME puntatori a char???
char* comp[40];
//FIXME I caratteri di fine stringa?
cout<<"Inserire una stringa senza caratteri blank(max 80 caratteri) :
"<<endl;
cin>> dato ;
for(int a=0;a<strlen(dato)/2;a++) //FIXME si doveva partire da 1
{
comp[a] = dato[a]; //comp aumenta di una lettera ogni ciclo
// FIXME Certo, ma non e' terminata e quindi se lei utilizza le funzioni di
// stringa rischia dei malfunzionamenti.
if (controlla(dato,comp)) //vedo se la sottostringa si ripete per
cout << num <<endl;
//FIXME doveva anche uscire trovato il periodo
}
return 0;
}
int controlla(char dato, char comp)
//FIXME Qua lei passa dei char, doveva passare dei char*
{
int num=0;
for(int i= strlen(comp[]);i<<strlen(dato[]);i+=strlen(comp[]))//ogni
volta si sposta nella
{ //stringa d'ingresso tanto quanto è lunga la sottostringa
//FIXME Le righe seguenti non mi sono chiare.
> for(int b = 0 ,b<strlen(comp[])) //controlla che la sottostringa si
//FIXME Nei for si usa il ;
{
if (strcmp (dat[],comp[])) num=strlen(comp[]);
}
}
return num;
}
--
Massimo Bertozzi
Dipartimento di Ingegneria dell'Informazione Voice: +39 0521 90 5735
Parco Area delle Scienze, 181A, Parma, ITALY Fax: +39 0521 90 5723
WWW: http://www.ce.unipr.it/people/bertozzi E-mail: bertozzi@CE.UniPR.IT
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT