Warto czasem poczytać mądrą książkę a nie tylko ten internet ciągle. C++ to fajny język. Wszystko w nim można tak przepięknie zagmatwać. Dzisiaj na forum poprawiłem jakiemuś chłopakowi program do liczenia średniej ocen klasy. Pętla for, jakieś tablice... zacząłem się zastanawiać jak by to można było bardziej C++'owo zrobić...
#include <vector>
#include <iostream>
using namespace std;
class UCZEN
{
public:
string imie;
string nazwisko;
float srednia;
UCZEN(){};
};
class KLASA
{
public:
static int uczniow;
static float suma_srednich;
vector<UCZEN> uczniowie;
UCZEN u_tmp;
KLASA(bool b_);
KLASA() {};
UCZEN &operator()();
float srednia() {return suma_srednich/uczniow;};
};
KLASA::KLASA(bool b_)
{
int ilu_uczniow;
cout << "Wprowadz liczbe uczniow: ";
cin >> ilu_uczniow;
generate_n(back_inserter(uczniowie),ilu_uczniow,KLASA());
}
UCZEN &KLASA::operator()()
{
cout << "Podaj imie ucznia: ";
cin >> u_tmp.imie;
cout << "Podaj nazwisko ucznia: ";
cin >> u_tmp.nazwisko;
cout << "Podaj srednią ucznia: ";
cin >> u_tmp.srednia;
uczniow++;
suma_srednich+=u_tmp.srednia;
return u_tmp;
}
int KLASA::uczniow=0;
float KLASA::suma_srednich=0;
int main()
{
KLASA kl(true);
cout << "Srednia klasy wynosi: "<<kl.srednia()<<endl;
return 0;
}
Maszkaron, paskuda, szkarada, okropieństwo, wymoczek... tak bym ten kod podsumował ;-).
poniedziałek, 18 lutego 2008
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz