Correzione prova pratica del 18 giugno 2003

Correzione prova pratica del 18 giugno 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 sbaglia aggiornamento dei dati in ciclo principale e calcolo pendenza
//Nome: Christian  Cognome: Nardi  Matricola: 149822

//e-mail: cri30783@libero.it  Postazione: stud05  Ambiente di lavoro: Visula c++


#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>

int main() 
{
  int a;
  ifstream infile("percorso.txt");
  if (!infile) {
    cout << "Errore: file input non puo' venire aperto.\n";
    exit(1);
  }


  int met, dis; 
  int penmax=0, penmin=0, metpre=1, dispre=0, dissal=0, disdis=0;
  int upone, uptwo, downone, downtwo;
  int mupone, muptwo, mdownone, mdowntwo;
  int pen;
  infile>>metpre>>dispre;
  while (infile >>met>>dis) {

    float(pen)=float(dis-dispre)/float(met-metpre); //FIXME cast con un lvalue?

    // era molto piu' semplice definire pen (e anche penmax e penmin) come float!!!!


    if (dispre<dis)
    { if(penmax<pen)
      {penmax=pen; //FIXME penmax andava float

  mupone=met;
  muptwo=metpre;
  upone=dis;
  uptwo=dispre;}

  dissal+=(dis-dispre);
  dispre=dis; //FIXME questa istruzione e' ripetuta anche nell'altro blocco, portarla fuori?

    }

    else
    {if(penmin<pen)
      {penmin=pen;//FIXME penmin andava float

  mdownone=met;
  mdowntwo=metpre;
  downone=dis;
  downtwo=dispre;}

  disdis+=(dispre-dis);
  dispre=dis;
    }
  
    //FIXME metpre non viene piu' aggiornato


  }
  infile.close();
  cout << "Dislivello in salita: "  << dissal << endl;
  cout << "Dislivello in discesa: " << disdis << endl;
  cout << "maggior pendenza in salita tra "   <<muptwo <<"("<<uptwo<<")"<<" e "<<mupone <<"("<<upone<<")"<< endl;  
  cout << "maggior pendenza in discesa tra "  <<mdowntwo <<"("<<downtwo<<")"<<" e " <<mdownone <<"("<<downone<<")"<< endl;
  cin>>a;
}


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