giovedì 26 novembre 2015

Esercitazione 6

Disponibilie il testo dell'esercitazione 6 che tratta i concetti di base della programmazione a oggetti.

mercoledì 25 novembre 2015

Frammenti di codice proiettati a lezione

Di seguito i frammenti di codice proiettati oggi a lezione.

struct Sales_data{
    Sales_data(istream&);

/*  Sales_data();
    Sales_data(const string&);
    Sales_data(const string&, unsigned, double); */
    
    Sales_data(string="----", unsigned=0, double=0.0);
    
    string isbn() const {return bookNo;}
    Sales_data& combine(const Sales_data&);
    double avg_price() const;
    
    ostream& stampa(ostream&);
    istream& leggi(istream&);
    
    string bookNo;
    unsigned units;
    double revenue;
};

Sales_data add(const Sales_data&, const Sales_data&);
ostream& print(ostream&, const Sales_data&);
istream& read(istream&, Sales_data&);

/*Sales_data::Sales_data(){
    bookNo="----";
    units=0;
    revenue=0.0;
}*/

Sales_data::Sales_data(string s, unsigned n, double p):bookNo(s), units(n), revenue(n*p){;}

Sales_data::Sales_data():revenue(0.0), units(0){;}

/*Sales_data::Sales_data(const string& s){
    bookNo=s;
    units=0;
    revenue=0.0;
}*/

Sales_data::Sales_data(const string& s) : bookNo(s), units(0), revenue(0.0) {;}
/*
Sales_data::Sales_data(const string& s, unsigned n, double p){
    bookNo = s;
    units = n;
    revenue = n*p;
}
*/
Sales_data::Sales_data(const string& s, unsigned n, double p):bookNo(s), units(n), revenue(n*p) {;}

Sales_data::Sales_data(istream& in){
    read(in, *this);
}

double Sales_data::avg_price() const {
    if(units)
        return revenue/units;
    else
        return 0;
}

istream& leggi(istream&);

Sales_data add(const Sales_data& a, const Sales_data& b){
    Sales_data sum = a;
    sum.combine(b);
    return sum;
}

Sales_data& Sales_data::combine(const Sales_data& r){
    if(r.isbn()==isbn()){
        this->units += r.units;
        this->revenue += r.revenue;
    }
    return *this;
}

istream& read(istream& in, Sales_data& s){
    double price;
    in >> s.bookNo >> s.units >> price;
    s.revenue = s.units*price;
    return in;
}

istream& Sales_data::leggi(istream& in){
    double price;
    in >> bookNo >> units >> price;
    revenue = units*price;
    return in;
}

ostream& print(ostream& out, const Sales_data& s){
    out << s.isbn() << " " << s.units << " " << s.revenue << " " << s.avg_price();
    return out;
}

ostream& Sales_data::stampa(ostream& out) {
    out << isbn() << " " << units << " " << revenue << " " << avg_price();
    return out;

}

martedì 17 novembre 2015

Esito prova del 16/11/2015 e data orali [AGGIORNAMENTO]

Di seguito l'esito della prova del 16/11:
Blanca, Discreto
Bono, Buono
Calì, Discreto
De Cristofaro, Discreto
Di Pasquale, Discreto
Mancuso, Insuff.
Mauro, Insuff.
Radicello, Insuff.
Ricotta, Discreto
Spanò, Insuff.
Termini, Discreto
Volpe, Insuff.
Zuccherino, Discreto

Gli orali saranno venerdì 20 alle 9:00 al DICGIM (Ed.6, ing. informatica).

giovedì 5 novembre 2015