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 (3) non imbrocca l'algoritmo, confusionaria, non sa usare le funzioni
//autore: <filippi> <carlotta>, <150106>, <cad14>,<carlotta.filippi@studenti.unipr.it>
//<17/09/2003> - esame di fondamenti di informatica, corso di laurea in ingegneria delle telecomunicazioni>
#include<iostream.h>
#include<iomanip.h>
const int dim=80; //FIXME e il carattere di fine stringa??
int visualizza(char *,int);
main()
{
char stringa[dim];
int lunghezza;
cout<<"inserisci una stringa di massimo 80 caratteri"<<endl;
cin>>stringa;
cout<<stringa<<endl;
lunghezza=strlen(stringa);
cout<<" il periodo piu' piccolo e' pari a ";
visualizza(stringa,lunghezza);
//FIXME quindi almeno una stringa la elaboro, viceversa il testo prevedeva che il
// programma terminasse all'inserimento della stringa vuota, quindi lei
// e' andata un po' fuori tema
while (stringa[1]!='\0')
{
cout<<"inserisci una stringa di massimo 80 caratteri"<<endl;
cin>>stringa;
cout<<stringa<<endl;
lunghezza=strlen(stringa);
cout<<"il periodo piu' piccolo e' pari a ";
visualizza(stringa,lunghezza);
}
cout<<"fine"<<endl;
return 0;
}
int visualizza(char stringa[],int lunghezza)
{
int cont=0,i,val,m,j;
char *stringa2,*stringa3;
i=1;
j=i-1;
stringa2=&stringa[j];
stringa3=&stringa[i];
int strncmp(char *stringa2,char *stringa3,int i); //FIXME questa e' una definizione di funzione, quindi il programma non fa niente
cin>>val; //FIXME ???
if (val=1)
{
m=2;
while ((val=1 )||(m<lunghezza))
{
stringa2=&stringa[m];
int strncmp(char *stringa2,char *stringa3,int i); //FIXME come sopra
cin>>val;
m=m+1;
}
if(val=1)
{
cont=i;
return cont;
}
}
cont=2;
int b=2,c=3;
while (cont<lunghezza)
{
char *strcat (char *stringa2, char *stringa3);
stringa3=&stringa[b];
stringa4=&stringa[c]; //FIXME e chi e' stringa4??
char *strcat (char *stringa3, char *stringa4);
int strncmp(char *stringa2,char *stringa3,int cont);
cin>>val;
cont=cont+1;
b=b+1;
c=c+1;
if (val!=1)
{
cont=lunghezza;
}
}
if (val=1)
{
return 2;
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT