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 (1) codice incompleto, abbozzo di controllo sbagliato
//<piscina> <veruska>, <140065>, <weru@libero.it>, <dis14>

//<09.07.2003> esame di fondamenti di informatica, corso di laurea in Ingegneria Elettronica



#include<iostream.h>

#include<stdlib.h>

#include<fstream.h>



const char nomefile[] = "tris.txt";   //file predefinito

char matrice [3] [3];
char check (void);
void inizializza_matrice(void);
void get_1player_move(void);
void get_2player_move(void);
void schermo_matrice(void);
char 1player_move=X;
char 2player_move=O;
int main (void)
{
  char done;
  ifstream fin(nomefile);
  if (!fin) {
    cerr << "Errore: impossibile aprire file " <<nomefile<<".\n";
    exit(1);
  }
  cout<< "Questo e' il gioco del TRIS, o Tic - Tac - Toe\n.";
  cout<< "I due giocatori tracciano il proprio simbolo(una X e una O)"<<endl;

  done = ' ';
  inizializza_matrice(); //FIXME manca pero' la funzione invocata

  do{
    schermo_matrice(); //FIXME mancano tutte le funzioni invocate, a parte cio' sembra anche incorretto l'algoritmo

    get_1player_move();
    done = check();
    if (done!= ' ') break;
    get_2player_move();
    done = check();
  }while(done = ' ')
  fin.close();


  int i,j;
  char X;
  char O;
  //FIXME decisamente sbagliato

  for(i=0;i<3;i++) {
    for(j=0;j<3;j++)
      if (matrice[i] [j]==X) cout<<"Partita vinta dal giocatore 1." <<endl;
    if(matrice[i] [j]==O) cout<<"Partita vinta dal giocatore 2." <<endl;
    else cout<<"Partita patta" <<endl; }
    return 0;
}





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