Академический Документы
Профессиональный Документы
Культура Документы
Текст программы :
1. Первый вариант программы на языке С++ с использованием ООП:
#include <iostream>
#include <string>
#include <windows.h>
class clerk {
public:
string number, lastname, name, dolzhnost, stazh,
podrazdelenie, oklad;
void input() {
cin.ignore();
cout<< "\nВведите порядковый номер:";
getline(cin, number);
cout<< "\nВведите фамилию:";
getline(cin, lastname);
cout<< "\nВведите имя:";
getline(cin, name);
cout<< "\nВведите должность:";
getline(cin, dolzhnost);
cout<< "\nВведите стаж:";
getline(cin, stazh);
cout<< "\nВведите подразделение:";
getline(cin, podrazdelenie);
cout<< "\nВведите оклад:";
getline(cin, oklad);
}
void output() {
cout<< "\nПорядковый номер:"<< number<< endl;
cout<< "\nФамилия:"<< lastname<< endl;
cout<< "\nИмя:"<< name<< endl;
cout<< "\nДолжность:"<< dolzhnost<< endl;
cout<< "\nСтаж:"<< stazh<< endl;
cout<< "\nПодразделение:"<< podrazdelenie<< endl;
cout<< "\nОклад:"<< oklad<< endl;
}
if (clerk_first.dolzhnost == dolzhnost) {
cout << "\nФамилия: " << clerk_first.lastname << endl;
} else if (clerk_second.dolzhnost == dolzhnost) {
cout << "\nФамилия: " << clerk_second.lastname <<
endl;
} else {
cout << "\nСлужащий не найден" << endl;
}
}
};
int main() {
SetConsoleOutputCP(65001);
clerk clerk_first, clerk_second;
int c;
while (1) {
cout<< "\nМеню:\n";
cout<< "1. Ввод данных о clerk\n";
cout<< "2. Вывод данных о clerk\n";
cout<< "3. Обработка данных о clerk\n";
cout<< "4. Выход\n";
cout<< "\nВыберите действие:";
cin>>c;
switch (c) {
case 1:
clerk_first.input();
clerk_second.input();
break;
case 2:
clerk_first.output();
clerk_second.output();
break;
case 3:
clerk_first.process(clerk_first, clerk_second);
break;
case 4:
return 0;
default:
cout<< "\nНеверный выбор, попробуйте снова.\n";
}
}
return 0;
}
if (clerk_first.dolzhnost == dolzhnost) {
cout << "\nФамилия: " << clerk_first.lastname << endl;
} else if (clerk_second.dolzhnost == dolzhnost) {
cout << "\nФамилия: " << clerk_second.lastname <<
endl;
} else {
cout << "\nСлужащий не найден" << endl;
}
}
int main() {
SetConsoleOutputCP(65001);
clerk clerk_first, clerk_second;
int c;
while (1) {
cout<< "\nМеню:\n";
cout<< "1. Ввод данных о clerk\n";
cout<< "2. Вывод данных о clerk\n";
cout<< "3. Обработка данных о clerk\n";
cout<< "4. Выход\n";
cout<< "\nВыберите действие:";
cin>>c;
switch (c) {
case 1:
input(clerk_first);
input(clerk_second);
break;
case 2:
output(clerk_first);
output(clerk_second);
break;
case 3:
process(clerk_first, clerk_second);
break;
case 4:
return 0;
default:
cout<< "\nНеверный выбор, попробуйте снова.\n";
}
}
return 0;
}
Результаты тестирования программ:
Вывод:
В ходе лабораторной работы были изучены основные средства определения
класса, создания объектов класса, а также их отличия от структурного
подхода.
Задача:
Придумать свой класс.
Определить в нем 2 поля, 2 метода, 2 конструктора и деструктор (в нем
достаточно выводить сообщение «сработал деструктор»).
Вынести описание одного или нескольких методов за рамки класса.
B main( создать два объекта класса (дабы вызвать оба конструктора).
Обратиться к элементам класса с открытым доступом.
Также в main() создать два указателя и обратиться к открытым элементам
класса.
#include <iostream>
#include <string>
class Person {
private:
std::string name;
int age;
public:
// Конструктор без параметров
Person() : name("Unknown"), age(0) {
std::cout << "Default constructor called." <<
std::endl;
}
// Конструктор с параметрами
Person(const std::string& n, int a) : name(n),
age(a) {
std::cout << "Parameterized constructor
called." << std::endl;
}
// Деструктор
~Person() {
std::cout << "Destructor called." << std::endl;
}
int main() {
// Создаем объекты класса Person с использованием
обоих конструкторов
Person person1; // Вызывается конструктор без
параметров
Person person2("John", 25); // Вызывается
конструктор с параметрами
return 0;
}