Хелпикс

Главная

Контакты

Случайная статья





Алгоритмизация и программирование»



 

МИНПРОСВЕЩЕНИЯ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный педагогический университет им. Л.Н. Толстого» (ТГПУ им. Л.Н. Толстого)

 

Кафедра информатики и информационных технологий

«Алгоритмизация и программирование»

ВАРИАНТ № 25

 

Выполнил:

студент группы 121591

очной формы обучения

факультета математики, физики и

информатики

Щадин Евгений Евгениевич

 

Проверила:

Яковлева Н.А.

 

Тула – 2020

1)Создать класс с двумя переменными. Добавить функцию вывода на экран и функцию изменения этих переменных. Добавить функцию, которая находит сумму значений этих переменных, и функцию которая находит наибольшее значение из этих двух переменных.

Код программы

#include <iostream>

using namespace std;

 

void main()

{

  system("chcp 1251");

  class MyClass

  {

  public:

        void vvod()

        {

               cout << "Введите 2 числа\n";

               cin >> a >> b;

        }

        void vivod()

        {

               cout<<"Вы ввели\n" << a << "\t" << b;

        }

        void sum()

        {

               cout<<"\nСумма\n" << a + b;

        }

        void bol()

        {

               cout << "\nбольшее\n";

               if (a > b) cout << a;

               if (b > a) cout << b;

               if (a == b) cout << a << " = " << b;

        }

 

  private:

        int a, b;

  };

 

  MyClass class1;

 

  class1.vvod();

  class1.vivod();

  class1.sum();

  class1.bol();

 

 

}

Контрольный пример

2) Создайте структуру с именем student, содержащую поля: фамилия и инициалы, номер группы, успеваемость (массив из пяти элементов). Создать массив из десяти элементов такого типа, упорядочить записи по возрастанию среднего балла. Добавить возможность вывода фамилий и номеров групп студентов, имеющих оценки, равные только 4 или 5.

Код программы

#include <iostream>

using namespace std;

int main()

{

  struct MyStruct

  {

        char fio[256];

        int oc[5],sum=0,num;

        double sr;

  }a[10];

  system("chcp 1251");

  for (int i = 0; i < 10; i++)

  {

        cout << "Введите ФИО\n";

        cin >> a[i].fio;

        cout << "Введите номер группы\n";

        cin >> a[i].num;

        cout << "Введите 5 оценок\n";

        for (int w = 0; w < 5; w++)

        {

               cin >> a[i].oc[w];

               a[i].sum = a[i].sum + a[i].oc[w];

        }

        a[i].sr = a[i].sum / 5;

  }

  cout << "Вы ввели\n";

  for (int i = 0; i < 10; i++)

  {

        cout << "ФИО\t" << a[i].fio<<"\n";

        cout << "Номер группы\t" << a[i].num << "\n";

        cout << "Оценки\t";

        for (int w = 0; w < 5; w++)

        {

               cout << a[i].oc[w] << "\t";

 

        }

        cout << "\n";

        cout << "Среднее знач:\t" << a[i].sr<<"\n";

 

  }

  cout << "По возрастанию\n";

  for (int i = 0; i < 10; i++)

  {

        for (int w = i; w < 10; w++)

        {

               if (a[i].sr > a[w].sr) swap(a[i],a[w]);

        }

  }

 

  for (int i = 0; i < 10; i++)

  {

        cout << "ФИО\t" << a[i].fio << "\n";

        cout << "Номер группы\t" << a[i].num << "\n";

        cout << "Оценки\t";

        for (int w = 0; w < 5; w++)

        {

               cout << a[i].oc[w] << "\t";

 

        }

    cout << "\n";

        cout << "Среднее знач:\t" << a[i].sr << "\n";

 

  }

  cout << "\nТолько 4\n";

  bool da = 0;

  for (int i = 0; i < 10; i++)

  {

        for (int w = 0; w < 5; w++)

        {

               if (a[i].oc[w] != 4) {

                      da = 1; break;

               }

                   

        }

        if (da == 0) cout << a[i].fio << "\n";

        da = 0;

  }

  cout << "\nТолько 5\n";

  da = 0;

  for (int i = 0; i < 10; i++)

  {

        for (int w = 0; w < 5; w++)

        {

               if (a[i].oc[w] != 5) {

                      da = 1; break;

               }

 

        }

        if (da == 0) cout << a[i].fio << "\n";

        da = 0;

  }

}

Контрольный пример

3) Описать класс, реализующий десятичный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. Предусмотреть инициализацию счетчика значениями по умолчанию и произвольными значениями. Счетчик имеет два метода: увеличения и уменьшения, — и свойство, позволяющее получить его текущее состояние. Написать программу, демонстрирующую все возможности класса.

Код программы

#include <iostream>

using namespace std;

int main()

{

  system("chcp 1251");

  class A

  {

  public:

            

        void dip()

        {

               cout << "Введите диапазон верх-низ\n";

               cin >> verx >> niz;

               tex =niz+ rand() % (verx - niz) ;

               cout << "Текущее положение\t" << tex;

        }

        void vvod()

        {

               cout << "Введите диапазон\n";

               cin >> verx >> niz;

               cin >> tex;

               cout << "Текущее положение\t" << tex;

        }

 

        void prib() {

               if (tex < verx)tex++;

               else

               {

                      tex = niz;

               }

        }

        void ub() {

               if (tex > niz)tex--;

               else

               {

                      tex = verx;

               }

        }

        void vivod() {

               cout << "\nПоложение:\t" << tex<<"\n";

        }

 

  private:

        int verx, niz, tex;

                

  };

  cout << "Выберите: 1-рандом; 2-ручная;\n";

  int a;

  cin >> a;

  A q;

  if (a == 1) q.dip();

  if (a == 2) q.vvod();

  cout << "\nВведите 1-вверх 2-вниз 3-вывод 0-выход\n";

  while (a!=0)

  {

        cin >> a;

        if (a == 1) q.prib();

        if (a == 2) q.ub();

        if (a == 3)q.vivod();

  }

}

Контрольный пример

25.Индивидуальные задание
Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Создать массив объектов. Вывести:

а) список покупателей в обратном алфавитном порядке (от Я до А);

б) список покупателей, номер банковского счета которых находится в заданном интервале.

в) список покупателей, живущих в заданном городе

 

Код программы

#include <iostream>

using namespace std;

int main()

{

  system("chcp 1251");

 

  class Customer

  {

  public:

        void vvod()

        {

               cout << "Введите фамилию\n";

               cin >> f;

               cout << "Введите имя\n";

               cin >> i;

               cout << "Введите отчество\n";

               cin >> o;

               cout << "Введите адрес\n";

               cin >> a;

               cout << "Введите телефон\n";

               cin >> t;

               cout << "Введите номер кредитной карточки\n";

               cin >> nk;

               cout << "Введите номер банковского счета\n";

               cin >> nb;

                          

        }

      

                   

        char f[256], i[256], o[256], a[256], t[256];

        int nk, nb;

  private:

 

  };

 

  int kol;

  cout << "Введите количество покупателей\n";

cin >> kol;

Customer *a = new Customer [kol];

for (int i = 0; i < kol; i++)

{

  a[i].vvod();

}

  char rus1[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

      

 

  for (int i = 34; i >= 0; i--)

  {

        for (int w = 0; w < kol; w++)

        {

               if (a[w].f[0] == rus1[i]) cout << a[w].f << "\t" << a[w].i << "\t" << a[w].o << "\t" << a[w].a << "\t" << a[w].nk << "\t" << a[w].nb << "\n";

        }

      

  }

  int a1, b1;

  cout << "Введите диапазон\n";

  cin >> a1 >> b1;

  for (int i = 0; i < kol; i++)

  {

        if (a[i].nb>a1 && a[i].nb<b1)

        {

               cout << a[i].f << "\t" << a[i].i << "\t" << a[i].o<<"\t" << a[i].a << "\t" << a[i].nk << "\t" << a[i].nb << "\n";

        }

  }

  cout << "Введите адрес поиска\n";

  char adres[256];

  cin >> adres;

  for (int i = 0; i < kol; i++)

  {

        if (strcmp(a[i].a,adres)==0)

        {

               cout << a[i].f << "\t" << a[i].i << "\t" << a[i].o << "\t" << a[i].a << "\t" << a[i].nk << "\t" << a[i].nb << "\n";

        }

  }

}

Контрольный пример

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.