Üye
C++ ile Programla Paul&Harvey Deitel :
Kendimi geliştirmek için çalışmakta olduğum kitaptan yararlı gördüğüm bir örneği sizlerle paylaşmak istedim.
- Bir GradeBook Sınıfı oluşturuyoruz. Bu sınıfa <array> sınıf şablonu ile 10 elemanlı bir dizi tanımlıyoruz . Bu dizi ders notlarını saklayan containers olsun.
Karşılama mesajı yazdırın.
Girilen notları yazdıran bir fonksiyon yazın.
Girilen notların en yükseğini ve en düşüğünü bulan fonksiyonu yazın.
Girilen notların ortalamasını bulan fonksiyonu yazın.
Girilen notları not aralıklarında not barı oluşturun.
Kendimi geliştirmek için çalışmakta olduğum kitaptan yararlı gördüğüm bir örneği sizlerle paylaşmak istedim.
- Bir GradeBook Sınıfı oluşturuyoruz. Bu sınıfa <array> sınıf şablonu ile 10 elemanlı bir dizi tanımlıyoruz . Bu dizi ders notlarını saklayan containers olsun.
Karşılama mesajı yazdırın.
Girilen notları yazdıran bir fonksiyon yazın.
Girilen notların en yükseğini ve en düşüğünü bulan fonksiyonu yazın.
Girilen notların ortalamasını bulan fonksiyonu yazın.
Girilen notları not aralıklarında not barı oluşturun.
C++:
#ifndef _GDB_H_
#define _GDB_H_
#include <string>
#include <array>
using std::array;
using std::string;
class GDB {
public:
static const size_t Asize = 10; // not erişilebilir verisi
GDB(const string&, const array<int, Asize>&); //Constructor
void setCourseName(string&); // Ders ismi ata
string getCourseName()const; // Ders ismini Döndür.
void processGrades()const; // not veri işlevlerini gerçekleştir.
int getMinimum()const; // Minumum notu bul ve döndür.
int getMaximum()const; // Maximum notu bul ve döndür.
double getAvarage()const; // Not ortalamasını bul ve döndür.
void OutputBarChart()const; // Sınıf Not Ortalaması Barı oluştur.
void OutputGrades()const; // Notları Sırala.
void DisplayMessage()const; // Karşılama Mesajı.
~GDB(); // Destructor
private:
std::string CourseName;
array<int, Asize> arrayx;
};
#endif // !_GDB_H_
Kod:
<< std::endl;
}
}
void GDB::OutputBarChart()const {
const size_t FrekanSize = 11;
array <unsigned int, FrekanSize> frekans = {}; // tüm indexlere 0 ata;
cout << "\nGrade Distribution: " << endl;
for (size_t item : arrayx) {
++frekans[item / 10];
}
for (size_t x = 0; x < FrekanSize; ++x) {
if (0 == x) {
cout << "0 - 9 :";
}
else if (10 == x) {
cout << setw(7) << "100 :";
}
else {
cout << x * 10 << "-" << (x * 10) + 9 << " :";
}
for (unsigned int stars = 0; stars < frekans[x]; ++stars) {
cout << "*";
}
cout << endl;
}
}
void GDB::DisplayMessage()const {
cerr << "Welcome to the grade book for " << getCourseName() << "!" << endl;
}
void GDB::processGrades()const {
OutputGrades();
cout << setprecision(2) << fixed; //ondalık kısım için.
cout << "\nLowest Grade is " << getMinimum() << "\nHighest Grade is " << getMaximum() << endl;
cout << "\nClass Avarage is " << getAvarage() << endl;
OutputBarChart();
}
GDB::~GDB() {
CourseName = "";
for (size_t item : arrayx) {
item = NULL;
}
}
Kod: