|
||||
Алгоритмизация и программирование»
Кафедра информатики и информационных технологий «Алгоритмизация и программирование» ВАРИАНТ № 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.Индивидуальные задание а) список покупателей в обратном алфавитном порядке (от Я до А); б) список покупателей, номер банковского счета которых находится в заданном интервале. в) список покупателей, живущих в заданном городе
Код программы #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"; } } } Контрольный пример
|
||||
|