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: 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