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 (5) errore in struttura dati, codice di controllo scritto male
// Bellingeri Luca, 150241, DIS01

// 09/07/2003 - Esame di Fondamenti di Informatica, corso di laurea in Ingegneria informatica

// e-mail: bellingeri@libero.it


#include<iostream.h>

#include<fstream.h>

main(){
int i;
int j;
ifstream fin("tris.txt");
  if(!fin){
  cerr <<"Errore: il file non puo' essere aperto.\n";
  exit(1);
  }
int gioco [1] [8]; //FIXME a parte il fatto che come struttura dati e' bizzarra, lei ha sbagliato le dimensioni

while (fin) {
for (j=0; j<9; j++) {
  for (i=0; i<2; i++)
fin >> gioco [i] [j]; //XXX perche memorizza le mosse e non la situazione ``scacchiera''??

}}


//FIXME e' comunque orribile 

if ((gioco [0] [0] == gioco [0] [2])&&(gioco [0] [2] == gioco [0] [4])) cout << "partita vinta da X";
else if ((gioco [0] [1] == gioco [0] [3])&&(gioco [0] [3] == gioco [0] [5])) cout <<"partita vinta da O";
else if ((gioco [1] [0] == gioco [1] [2])&&(gioco [1] [2] == gioco [1] [4])) cout <<"partita vinta da X";
else if ((gioco [1] [1] == gioco [1] [3])&&(gioco [1] [3] == gioco [1] [5])) cout <<"partita vinta da O";
else if ((gioco [0] [2] == gioco [0] [4])&&(gioco [0] [4] == gioco [0] [6])) cout <<"partita vinta da X";
else if ((gioco [0] [3] == gioco [0] [5])&&(gioco [0] [5] == gioco [0] [7])) cout <<"partita vinta da O";
else if ((gioco [1] [2] == gioco [1] [4])&&(gioco [1] [4] == gioco [1] [6])) cout <<"partita vinta da X";
else if ((gioco [1] [3] == gioco [1] [5])&&(gioco [1] [5] == gioco [1] [7])) cout <<"partita vinta da O";
else if ((gioco [0] [4] == gioco [0] [6])&&(gioco [0] [6] == gioco [0] [8])) cout <<"partita vinta da X";
//qui non serve perch e'il numero massimo di turni e'9

else if ((gioco [1] [4] == gioco [1] [6])&&(gioco [1] [6] == gioco [1] [8])) cout <<"partita vinta da X";
//anche qui e in tutte le altre righe bianche

else if ((gioco [0] [0] == gioco [0] [2])&&(gioco [0] [2] == gioco [0] [6])) cout <<"partita vinta da X";
else if ((gioco [0] [1] == gioco [0] [3])&&(gioco [0] [3] == gioco [0] [7])) cout <<"partita vinta da O";
else if ((gioco [0] [0] == gioco [0] [2])&&(gioco [0] [2] == gioco [0] [8])) cout <<"partita vinta da X";

else if ((gioco [0] [0] == gioco [0] [4])&&(gioco [0] [4] == gioco [0] [6])) cout <<"partita vinta da X";
else if ((gioco [0] [1] == gioco [0] [4])&&(gioco [0] [5] == gioco [0] [7])) cout <<"partita vinta da O";
else if ((gioco [0] [0] == gioco [0] [4])&&(gioco [0] [4] == gioco [0] [8])) cout <<"partita vinta da X";

else if ((gioco [0] [0] == gioco [0] [6])&&(gioco [0] [6] == gioco [0] [8])) cout <<"partita vinta da X";

else if ((gioco [1] [0] == gioco [1] [2])&&(gioco [1] [2] == gioco [1] [6])) cout <<"partita vinta da X";
else if ((gioco [1] [1] == gioco [1] [3])&&(gioco [1] [3] == gioco [1] [7])) cout <<"partita vinta da O";
else if ((gioco [1] [0] == gioco [1] [2])&&(gioco [1] [2] == gioco [1] [8])) cout <<"partita vinta da X";

else if ((gioco [1] [0] == gioco [1] [4])&&(gioco [1] [4] == gioco [1] [6])) cout <<"partita vinta da X";
else if ((gioco [1] [1] == gioco [1] [5])&&(gioco [1] [5] == gioco [1] [7])) cout <<"partita vinta da O";
else if ((gioco [1] [0] == gioco [1] [4])&&(gioco [1] [4] == gioco [1] [8])) cout <<"partita vinta da X";

else if ((gioco [1] [0] == gioco [1] [6])&&(gioco [1] [6] == gioco [1] [8])) cout <<"partita vinta da X";

else if ((gioco [0] [2] == gioco [0] [4])&&(gioco [0] [4] == gioco [0] [8])) cout <<"partita vinta da X";

else if ((gioco [1] [2] == gioco [1] [4])&&(gioco [1] [4] == gioco [1] [8])) cout <<"partita vinta da X";
else cout <<"partita patta";

fin.close();
return 0;
}


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