Üye
Bu uygulamada kullanıcıların 5 sosyal konuda oy vermelerini sağlamak üzere bir program yazınız. Oylamada 1 en düşük 10 ise en yüksek oy değeridir.
Konuları saklamak üzere 5 elemanlı 1 string dizisi oluşturun.
Anket Sonuçlarını özetlemek için 5 satır ve 5 sutunlu 2 boyutlu bir dizi oluşturun.
1- Beş konunun soldan aşağıya doğru olduğu ve 10 derecenin üstte yer aldığı her bir sutunda her bir konu için aldığı oyun rapor edildiği bir tablo şeklinde yazdırın.
2- her bir satırn sağında konu için ortalama rakamı gösteriniz.
3- En yüksek ve en düşük oy yazdırın.
ANKT.h
ANKT.CPP
MAİN.CPP
Konuları saklamak üzere 5 elemanlı 1 string dizisi oluşturun.
Anket Sonuçlarını özetlemek için 5 satır ve 5 sutunlu 2 boyutlu bir dizi oluşturun.
1- Beş konunun soldan aşağıya doğru olduğu ve 10 derecenin üstte yer aldığı her bir sutunda her bir konu için aldığı oyun rapor edildiği bir tablo şeklinde yazdırın.
2- her bir satırn sağında konu için ortalama rakamı gösteriniz.
3- En yüksek ve en düşük oy yazdırın.
ANKT.h
C++:
#ifndef _ANKT_H_
#define _ANKT_H_
#include <string>
#include <array>
class ANKT {
public:
static const size_t Satir = 5;
static const size_t Sutun = 5;
ANKT(const std::array <std::string, Satir>&, std::array < std::array <int, Satir>, Sutun>&,const std::string);
void listele()const;
int getHighest()const;
int getLowest()const;
double getAverage(std::array < int,Satir >)const;
void ShowInfos()const;
void DisplayMessage()const;
~ANKT();
private:
std::array <std::string, Satir> Info;
std::array < std::array < int, Satir>, Sutun> Vote;
std::string Welcome;
};
#endif
ANKT.CPP
C++:
#include "ANKT.h"
#include <iostream>
#include <iomanip>
ANKT::ANKT(const std::array <std::string,Satir> &Inf,std::array < std::array < int,Satir>,Sutun> &Vot,const std::string well) : Info(Inf),Vote(Vot),Welcome(well){}
void ANKT::listele()const {
for (const std::string In : Info)
std::cout << In << std::endl;
for (size_t table = 0; table < Vote.size(); ++table)
std::cout <<std::setw(5) <<"Vote " << table + 1 << std::setw(5);
std::cout <<std::setw(5) <<"Average" << std::endl;
for (size_t vo = 0; vo < Vote.size(); ++vo) {
std::cout << "Subject " << std::setw(2) << vo + 1;
for (size_t Vot = 0; Vot < Vote[vo].size(); ++Vot)
std::cout << std::setw(5) << Vote[vo][Vot];
double ort = getAverage(Vote[vo]);
std::cout << std::setw(5) << std::setprecision(2) << std::fixed << ort << std::endl;
}
}
double ANKT::getAverage(const std::array <int, Satir> Ort)const {
int total = 0;
for (size_t Or : Ort)
total += Or;
return static_cast <double> (total) / Ort.size();
}
int ANKT::getHighest()const {
int HighestVote = 0;
for(auto const &sa:Vote)
for (auto const& su : sa) {
if (HighestVote < su)
HighestVote = su;
}
return HighestVote;
}
int ANKT::getLowest()const {
int LowestVote = 100;
for(auto const &sat : Vote)
for (auto const& sut : sat) {
if (LowestVote > sut)
LowestVote = sut;
}
return LowestVote;
}
void ANKT::DisplayMessage()const {
std::cerr << "Welcome to " << std::setw(2) << Welcome << std::endl;
}
void ANKT::ShowInfos()const {
listele();
std::cout << "\n\nHighest Vote =" << getHighest() << std::endl;
std::cout << "Lowest Vote =" << getLowest() << std::endl;
}
ANKT::~ANKT() {
Welcome = "";
Info = {};
Vote = {};
}
MAİN.CPP
C++:
#include "ANKT.h"
#include <iostream>
#include <iomanip>
int main()
{
const size_t ArraySize = 5;
const std::string ankt = "Turkey Current Situation Survey";
const std::array <std::string, ArraySize> Konu = {
"Turkiyenin Ekonomik Durumundan Memnun Musunuz ?",
"Turkiyenin İc İslerinden Memnun Musunuz ?",
"Turkiyenin Dıs Politikalarindan memnun musunuz?",
"Turkiyenin Covid-19 ile Mucadelesinden Memnun musunuz ?",
"Hukumettenn Memnun Musunuz?"
};
std::array < std::array < int, ArraySize >, ArraySize> Vut = {};
for (std::string k : Konu) {
std::cout << k << std::endl;
std::cout << "1 ile 10 arasinda derecelendiriniz (1 - berbat -- 10 - Çok iyi)" << std::endl;
}
std::cout << "--------------------------------------------------------" << std::endl;
for (auto& satir : Vut)
for (auto& sutun : satir)
std::cin >> sutun;
ANKT Vatandas = { Konu,Vut,ankt };
Vatandas.DisplayMessage();
Vatandas.ShowInfos();
Vatandas.~ANKT();
system("PAUSE");
return 0;
}