Correzione prova pratica del 9 luglio 2003

Correzione prova pratica del 9 luglio 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 (4) si perde in strutture dati inutilmente complicate, qualche imprecisione
// progetto:  gestire gli studenti in un' univerista' //FIXME decisamente no

// COGNOME :   FANKEM

// NOME :      JEAN JAURES

// CORSO :     INGEGNERIA INFORMATICA

// MATRICOLA : 152117 //FIXME manca l'indirizzo di posta elettronica


#include <fstream.h>
#include <iomanip.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

struct file
{
  char *x,*y;
  struct file* succ;
}; //XXX il programma era semplice, perche' usare strutture dati complicate???


void getfile(file*&,file*);
void stampafile(file*);
file *base=NULL,*ptr;

int i,j;
int partita[2][2]; //FIXME la matrice doveva essere 3x3

int turno;
char *num1,*num2;
int main()
{
  num1=new char[1];
  num2=new char[1];

  for (i=0;i<3;++i)
    for (j=0;j<3;++j)
      partita[i][j]=0; //XXX corretto, pero' bastava scrivere int partita[3][3]={0}; in fase di definizione dell'array


  ifstream fin;
  fin.open("tris.txt",ios::in);
  if (fin)
  {
    while ( (fin >> num1) && EOF) //FIXME EOF non serve a niente in questa condizione


    {
      fin >> num2;

      ptr=new file;
      ptr->x=num1;
      ptr->y=num2;
      ptr->succ=NULL;
      getfile(base,ptr);

      num1=new char[1];
      num2=new char[1];
    }
  }
  stampafile(base);
  return 0;
}


void getfile(file*& lista, file* elemento)
{
  if (lista)
    getfile(lista->succ,elemento);
  else
    lista=elemento;
}

void stampafile(file* lista)
{
  while(lista)
  {
    cout << lista->x;
    cout << lista->y << endl;
    lista=lista->succ;
  }
}


Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a bertozzi@CE.UniPR.IT