Correzione prova pratica del 7 luglio 2004

Correzione prova pratica del 7 luglio 2004


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  funzionante ma struttura dati non adeguata, imprecisione in conversione
//Merlini Mirko, 158047, < DIS06 >

//07/07/2004 - esame di Fondamenti di Informatica A,corso di laurea in Ingegneria Elettronica


#include <iostream>
#include <fstream>

using namespace std;

int main() 
{
  int c_alfabeto[26]={0},valore,a=0;
  char alfabeto[26]="",lettera,carattere,attuale,scarto;

  cout<<endl;

  //     lettura da file tabella.txt


  ifstream tabella("tabella.txt");

  //     controllo esistenza file tabella.txt


  if(!tabella)
  {
    cerr<<"\n Non e' possibile aprire il file tabella.txt \n\n";
    system("PAUSE");
    exit(1);
  }

  //     salvataggio dati presenti in tabella


  while(tabella>>lettera)  
  {
    alfabeto[a]=lettera; 
    tabella>>valore;
    c_alfabeto[a]=valore;
    a++;
  } //FIXME struttura dati non particolarmente adeguata 


  //     chiusura file tabella.txt


  tabella.close();  

  //     lettura da file testo.txt


  ifstream testo("testo.txt");

  //     controllo esistenza file testo


  if (!testo)
  {
    cerr<<"\n Non e' possibile aprire il file testo.txt \n\n";
    system("PAUSE");
    exit(1);
  }  

  //     sostituzione lettera maiuscola con valore numerico   


  while(testo.get(carattere))
  {   
    if(carattere=='[')
    {
      testo>>attuale;

      for(a=0;a<25;a++) //FIXME la scansione di tutto il vettore è inutile

  if(attuale==alfabeto[a])
    cout<<c_alfabeto[a];

      testo>>scarto;      //  eliminino la ']'          

    }
    else cout<<carattere;             
  }

  //     chiusura file testo.txt


  testo.close();     

  cout<<endl<<endl;                    
  system("PAUSE");
  return 0;
}



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