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

lunedì 2 novembre 2015

mercoledì 28 ottobre 2015

URGENTE: Esercitazione 4

Come anticipato a lezione vi confermo che domani non ci sarà la consueta esercitazione in aula informatica del giovedì. L'aula dovrebbe comunque essere disponibile per l'uso individuale.

Potete esercitarvi in maniera indipendente con la seguente esercitazione.

giovedì 22 ottobre 2015

giovedì 8 ottobre 2015