Using namespace std; namespace school {


Download 384.99 Kb.
Pdf ko'rish
Sana13.05.2020
Hajmi384.99 Kb.
#105568
Bog'liq
Dasturlash 1 lab (2)


1. A. 

 

B.  



#include  

#include  

 

using namespace std; 



 

namespace school { 

    class School { 

    protected: 

        string name; 

        int number, found_date, students_count; 

    public: 

        void set(string _name, int _number, int _found_date, int _students_count) { 

            name = _name; 

            number = _number; 

            found_date = _found_date; 

            students_count = _students_count; 

        } 

 

        void get() { 



            cout << endl<

            cout << "Maktab nomi: " << name << endl; 



            cout << "Maktab raqami: " << number << endl; 

            cout << "Maktab o'quvchilar soni: " << students_count << endl; 

            cout << "Maktab tashqil qilingan yil: " << found_date << endl; 

        } 

 

        friend void search(school::School s[], int n); 



 

        friend void sort(school::School s[], int n); 

 

        friend void students_count_increase(school::School s[], int n); 



    }; 

 

    void search(school::School s[], int n) { 



        cout << endl<

        cout << "Qidirilayotgan maktab raqamini kiring: " << endl; 

        int query; 

        cin >> query; 

        bool has = false; 

 

        for (int i = 0; i < n; i++) { 



            if (s[i].number == query) { 

                has = true; 

                s[i].get(); 

            } 

        } 

 

        if (!has) 



            cout << "Siz qidirgan maktab mavjud emas" << endl; 

    } 


 

    void sort(school::School s[], int n) { 

        cout << endl<

        cout << endl << "Maktablarni nomi bilan tartiblash"; 

        school::School temp; 

        for (int i = 0; i < n; ++i) { 

            for (int j = 0; j < n; ++j) { 

                if (s[i].name.compare(s[j].name) < 0) { 

                    temp = s[i]; 

                    s[i] = s[j]; 

                    s[j] = temp; 

                } 

            } 

        } 



 

        for (int i = 0; i < n; ++i) s[i].get(); 

    } 

 

    void students_count_increase(school::School s[], int n) { 



        cout<

        int count; 

        cin>>count; 

        cout << endl << "Barcha maktablardagi o'quvchilar sonini "<

oshirish"; 

 

        for (int i = 0; i < n; i++) { 



            s[i].students_count += count; 

            s[i].get(); 

        } 

    } 


 

    class College: public School{ 

        void set(string _name, int _number, int _found_date, int _students_count) { 

            name = _name; 

            number = _number; 

            found_date = _found_date; 

            students_count = _students_count; 

        } 

    }; 



 



int main() { 

    int numbers[5] = {1, 3, 6, 12, 5}; 

    string names[5] = {"Dasturchilar maktabi", "Kimyogarlar maktabi", "Donolar maktabi", 

"Sportchilar maktabi", 

                       "Tilchilar maktabi"}; 

    int found_dates[5] = {1999, 1954, 2003, 1992, 2020}; 

    int students_counts[5] = {1222, 894, 1934, 999, 1340}; 

 

    school::School s[5]; 



 

    for (int i = 0; i < 5; ++i) { 

        s[i].set(names[i], numbers[i], found_dates[i], students_counts[i]); 

    } 


 

    school::sort(s, 5); 

    school::search(s, 5); 


    school::students_count_increase(s, 5); 

 

 



C.  


Maktablarni nomi bilan tartiblash 

 

Maktab nomi: Dasturchilar maktabi 



Maktab raqami: 1 

Maktab o'quvchilar soni: 1222 

Maktab tashqil qilingan yil: 1999 

 

 



Maktab nomi: Donolar maktabi 

Maktab raqami: 6 

Maktab o'quvchilar soni: 1934 

Maktab tashqil qilingan yil: 2003 

 

 

Maktab nomi: Kimyogarlar maktabi 



Maktab raqami: 3 

Maktab o'quvchilar soni: 894 

Maktab tashqil qilingan yil: 1954 

 

 



Maktab nomi: Sportchilar maktabi 

Maktab raqami: 12 

Maktab o'quvchilar soni: 999 

Maktab tashqil qilingan yil: 1992 

 

 

Maktab nomi: Tilchilar maktabi 



Maktab raqami: 5 

Maktab o'quvchilar soni: 1340 

Maktab tashqil qilingan yil: 2020 

 

 



Qidirilayotgan maktab raqamini kiring:  

12 


 

 

Maktab nomi: Sportchilar maktabi 



Maktab raqami: 12 

Maktab o'quvchilar soni: 999 

Maktab tashqil qilingan yil: 1992 

 

 

Barcha maktabdagi o'quvchilar soni nechtaga oshirilsin?2 



 

Barcha maktablardagi o'quvchilar sonini 2 taga oshirish 

 

Maktab nomi: Dasturchilar maktabi 



Maktab raqami: 1 

Maktab o'quvchilar soni: 1224 

Maktab tashqil qilingan yil: 1999 

 

 



Maktab nomi: Donolar maktabi 

Maktab raqami: 6 

Maktab o'quvchilar soni: 1936 

Maktab tashqil qilingan yil: 2003 

 

 

Maktab nomi: Kimyogarlar maktabi 



Maktab raqami: 3 

Maktab o'quvchilar soni: 896 

Maktab tashqil qilingan yil: 1954 

 

 



Maktab nomi: Sportchilar maktabi 

Maktab raqami: 12 

Maktab o'quvchilar soni: 1001 

Maktab tashqil qilingan yil: 1992 

 

 

Maktab nomi: Tilchilar maktabi 



Maktab raqami: 5 

Maktab o'quvchilar soni: 1342 

Maktab tashqil qilingan yil: 2020 


2. A. 

 

B. 



 #include  

#include  

 

using namespace std; 



 

class Time { 

private: 

    int hour, minutes, seconds; 

 

public: 


    Time(int _hour, int _minutes, int _seconds) { 

        hour = _hour; 

        minutes = _minutes; 

        seconds = _seconds; 

    } 

 

    int getHour() { 



        return hour; 

    } 


 

    Time() {} 



}; 

 

class User { 



private: 

    string FIO, operat; 

public: 

    User(string _FIO, string _operator) { 

        FIO = _FIO; 

        operat = _operator; 

    } 

 

    User() {} 



 

    string getOperator() { 

        return operat; 

    } 


}; 

 

 



class Traffic : public Time, public User { 

private: 

    Time time; 

    User user; 

public: 

    Traffic(Time time, User user) { 

        this->time = time; 

        this->user = user; 

    } 

 

    bool isGoldTime() { 



        string operat = user.getOperator(); 

        int hours = time.getHour(); 

        bool isGold = true; 

        if (operat == "UMS") 

            isGold = hours >= 0 && hours <= 5; 

        else if (operat == "UCELL") 

            isGold = hours >= 2 && hours <= 8; 

        else if (operat == "BEELINE") 

            isGold = hours >= 2 && hours <= 6; 

        else 

            isGold = hours >= 0 && hours <= 9; 

 

        return isGold; 



    } 

}; 


 

int main() { 

    string name, _operator; 

    int h, m, s; 

 

    cout << "Xurmatli foydalanuvchi, iltimos ismingizni kiriting: " << endl; 



    cin >> name; 

 

    cout << name << " iltimos o'z operatoringizni kiriting" << endl; 



    cin >> _operator; 

 

    cout << "Hozirgi vaqtni kiriting, (24-formatda):" << endl; 



    cout << endl << "Soat: "; 

    cin >> h; 

 

    cout << endl << "Minut: "; 



    cin >> m; 

 

    cout << endl << "Sekund: "; 



    cin >> s; 

 

    User user(name, _operator); 



    Time time(h, m, s); 

 

    Traffic traffic(time, user); 



    bool isGold = traffic.isGoldTime(); 

 

    isGold ? 



    cout << "Xurmatli " << name << " siz uchun hozir imtiyozli vaqt" : 

    cout << "Hozr siz uchun imtiyozli vaqt emas"; 

 

 



C.  

 

Xurmatli foydalanuvchi, iltimos ismingizni kiriting:  



Lazizbek 

Lazizbek iltimos o'z operatoringizni kiriting 

UCELL 

Hozirgi vaqtni kiriting, (24-formatda): 



 

Soat: 3 

 

Minut: 12 



 

Sekund: 12 

Xurmatli Lazizbek siz uchun hozir imtiyozli vaqt 

 

3. A. 



 

 B.


 

#include  

#include  

#include  

 

using namespace std; 



 

class PhotoDevice { 

protected: 

    string model, material; 

    int optical_zoom; 

 

public: 



    PhotoDevice(string _name, int _optical_zoom, string _material) { 

        model = std::move(_name); 



        optical_zoom = _optical_zoom; 

        material = std::move(_material); 

    } 

 

    PhotoDevice() {} 



 

    virtual int cost() { 

        return (optical_zoom + 2) * (material == "plastmassa" ? 10 : 15); 

    } 


 

    bool isExpensive() { 

        return cost() >= 200; 

    } 


 

    virtual void print() { 

        cout << endl << model << endl; 

        cout << "Material: " << material << endl; 

        cout << "Optical Zoom: " << optical_zoom << endl; 

        cout << "Cost: " << cost() << " $" << endl; 

        cout << "Status: " << (isExpensive() ? "Expensive" : "Cheap") << endl; 

    } 


}; 

 

class Digital : public PhotoDevice { 



private: 

    int MP; 

public: 

    Digital(string _name, int _optical_zoom, string _material, int _MP) { 

        model = std::move(_name); 

        optical_zoom = _optical_zoom; 

        material = std::move(_material); 

        MP = _MP; 

    } 

 

    int cost() override { 



        return PhotoDevice::cost() * MP; 

    } 


 

    void print() override { 

        cout << endl << model << endl; 

        cout << "Material: " << material << endl; 

        cout << "Optical Zoom: " << optical_zoom << endl; 

        cout << "Megapixel: " << MP << endl; 



        cout << "Cost: " << cost() << " $" << endl; 

        cout << "Status: " << (isExpensive() ? "Expensive" : "Cheap") << endl; 

    } 

 

    void updateModel() { 



        MP += 2; 

    } 


}; 

 

int main() { 



    PhotoDevice photodevice("Fotoapparat", 4, "plastik"); 

    Digital digital("Sifrovoy fotoapparat", 3, "metall", 8); 

 

    photodevice.print(); 



    digital.print(); 

    digital.updateModel(); 

    digital.print(); 

 



C. 

 

Fotoapparat 



Material: plastik 

Optical Zoom: 4 

Cost: 90 $ 

Status: Cheap 

 

Sifrovoy fotoapparat 



Material: metall 

Optical Zoom: 3 

Megapixel: 8 

Cost: 600 $ 

Status: Expensive 

 

Sifrovoy fotoapparat 



Material: metall 

Optical Zoom: 3 

Megapixel: 10 

Cost: 750 $ 

Status: Expensive 

 

 



 

 

Download 384.99 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling