Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Kniga{
- private:
- string naslov, avtor, zanr;
- int broj_strani;
- public:
- Kniga() {
- broj_strani = 0;
- };
- // Geteri, Vrakjanje na argumenti / pristapuvanje na privatni atributi
- string getNaslov() {
- return naslov;
- }
- string getAvtor() {
- return avtor;
- }
- string getZanr() {
- return zanr;
- }
- int getBrojNaStrani() {
- return broj_strani;
- }
- // Seteri, Postavuvanje na atributi
- void setNaslov(string n) {
- naslov = n;
- }
- void setAvtor(string a) {
- avtor = a;
- }
- void setZanr(string z) {
- zanr = z;
- }
- void setBrojNaStrani(int broj) {
- broj_strani = broj;
- }
- void pecatiforma(){
- cout<<naslov<<" "<<avtor<<" "<<broj_strani<<" "<<zanr<<endl;
- }
- };
- int najdiKnigiSoZanrBeletristika(Kniga* biblioteka, int broj_na_knigi){
- int brojac = 0;
- for(int i=0; i<broj_na_knigi; i++){
- Kniga k = biblioteka[i];
- if(k.getZanr() == "beletristika"){
- brojac++;
- }
- }
- return brojac;
- }
- Kniga najdiKnigaSoNajgolemBrojNaStranici(Kniga* biblioteka, int broj_na_knigi){
- Kniga kniga_najgolem_broj_na_stranici;
- for(int i=0; i<broj_na_knigi; i++){
- Kniga k = biblioteka[i];
- if(k.getBrojNaStrani() > kniga_najgolem_broj_na_stranici.getBrojNaStrani()){
- kniga_najgolem_broj_na_stranici = k;
- }
- }
- return kniga_najgolem_broj_na_stranici;
- }
- void sortirajKnigiPoBrojNaStranici(Kniga* biblioteka, int broj_na_knigi){
- for(int i=0; i<broj_na_knigi; i++){
- for (int j = i + 1; j < broj_na_knigi; j++) {
- if (biblioteka[i].getBrojNaStrani() > biblioteka[j].getBrojNaStrani()) {
- Kniga pom = biblioteka[i];
- biblioteka[i] = biblioteka[j];
- biblioteka[j] = pom;
- }
- }
- }
- }
- int main() {
- int broj_na_knigi;
- cout << "Kolku knigi ke vnesete?"<<endl;
- cin >> broj_na_knigi;
- if (broj_na_knigi > 100) {
- cout << "Vnesovte pregolem broj na knigi" << endl;
- }
- Kniga biblioteka[broj_na_knigi];
- for(int i = 0; i < broj_na_knigi; i++){
- cout << "Vnesuvate elementi za kniga " << i + 1 << "/" << broj_na_knigi << endl;
- string naslov, avtor, zanr;
- int broj_strani;
- cout<<"Vnesete go imeto na knigata"<<endl;
- cin>> naslov;
- cout<<"Vnesete go imeto na avtorot"<<endl;
- cin>> avtor;
- cout<<"Vnesete go brojot na strani"<<endl;
- cin>> broj_strani;
- cout<<"Vnesete go zanrot na knigata"<<endl;
- cin>> zanr;
- Kniga k;
- k.setNaslov(naslov);
- k.setAvtor(avtor);
- k.setZanr(zanr);
- k.setBrojNaStrani(broj_strani);
- biblioteka[i] = k;
- }
- for(int i=0; i < broj_na_knigi; i++) {
- Kniga k = biblioteka[i];
- k.pecatiforma();
- }
- int brojac = najdiKnigiSoZanrBeletristika(biblioteka, broj_na_knigi);
- cout<<"Knigi so zanr beletristika ima "<<brojac<<endl;
- Kniga kniga_najgolem_broj_na_stranici = najdiKnigaSoNajgolemBrojNaStranici(biblioteka, broj_na_knigi);
- cout << "Kniga so najgolem broj na stranici:" << endl;
- kniga_najgolem_broj_na_stranici.pecatiforma();
- cout << "Knigite se podreduvaat po broj na stranici" << endl;
- sortirajKnigiPoBrojNaStranici(biblioteka, broj_na_knigi);
- for(int i=0; i < broj_na_knigi; i++) {
- Kniga k = biblioteka[i];
- k.pecatiforma();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement