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:
- 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 (5) codice di controllo sbagliato e anche scritto male, quasi giusta la lettura da file
// Zoppi Matteo, 149847, mattez@libero.it, Cad13
// 09/07/2003 - esame di fondamenti di informatica,corso di laurea in ingegneria informatica
#include <iostream.h>
#include <fstream.h>
int main()
{
ifstream fin("tris.txt");
int i,j,conta=0,somma=0;
//char a[2][2]={0}; //FIXME la matrice magari doveva essere 3x3
char a[3][3]={0};
while (fin>>i>>j){
if (conta%2==0) a[i][j]='X';
else a[i][j]='O';
conta++;
}
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
cout<<a[i][j];
cout<<endl;
}
//FIXME questo codice e' disgustoso e comunque si e' pure dimenticato le graffe
// e di conseguenza non funziona
if (a[0][0]=='X' && a[1][0]=='X' && a[2][0]=='X') cout<<"vince x";exit(0);
if (a[0][0]=='X' && a[0][1]=='X' && a[0][2]=='X') cout<<"vince x";exit(0);
if (a[0][0]=='X' && a[1][1]=='X' && a[2][2]=='X') cout<<"vince x";exit(0);
if (a[1][0]=='X' && a[1][1]=='X' && a[1][2]=='X') cout<<"vince x";exit(0);
if (a[2][0]=='X' && a[2][1]=='X' && a[2][2]=='X') cout<<"vince x";exit(0);
if (a[0][1]=='X' && a[1][1]=='X' && a[2][1]=='X') cout<<"vince x";exit(0);
if (a[0][2]=='X' && a[1][2]=='X' && a[2][2]=='X') cout<<"vince x";exit(0);
//FIXME la seguente condizione e' sbagliata
if (a[0][2]=='X' && a[1][2]=='X' && a[2][0]=='X') cout<<"vince x";exit(0);
if (a[0][0]=='O' && a[1][0]=='O' && a[2][0]=='O') cout<<"vince o";exit(0);
if (a[0][0]=='O' && a[0][1]=='O' && a[0][2]=='O') cout<<"vince o";exit(0);
if (a[0][0]=='O' && a[1][1]=='O' && a[2][2]=='O') cout<<"vince o";exit(0);
if (a[1][0]=='O' && a[1][1]=='O' && a[1][2]=='O') cout<<"vince o";exit(0);
if (a[2][0]=='O' && a[2][1]=='O' && a[2][2]=='O') cout<<"vince o";exit(0);
if (a[0][1]=='O' && a[1][1]=='O' && a[2][1]=='O') cout<<"vince o";exit(0);
if (a[0][2]=='O' && a[1][2]=='O' && a[2][2]=='O') cout<<"vince o";exit(0);
//FIXME vedi sopra
if (a[0][2]=='O' && a[1][2]=='O' && a[2][0]=='O') cout<<"vince o";exit(0);
//FIXME e il caso di parita'???
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT