ЛР1_Классы (Архив готовых лабораторных работ для ИУ), страница 3
Описание файла
Файл "ЛР1_Классы" внутри архива находится в следующих папках: Архив готовых лабораторных работ для ИУ, 1, задания. Документ из архива "Архив готовых лабораторных работ для ИУ", который расположен в категории "". Всё это находится в предмете "информатика" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика" в общих файлах.
Онлайн просмотр документа "ЛР1_Классы"
Текст 3 страницы из документа "ЛР1_Классы"
struct element { // Определение некоторой структуры
int nk,nl;
float zn;
};
// Операция-функция, расширяющая действие операции <<
ofstream& operator<<(ofstream& out,element el){
out << ' ' << el.nk << ' ' << el.nl <<' ' << el.zn << '\n' ;
return out; }
int main()
{ const int numbeEl = 5; // Количество структур в массиве
element arel[numbeEl] = { 1, 2, 3.45, 2, 3, 4.56,
22, 11, 45.6, 3, 24, 4.33, 3, 6, -5.3 };
// Определяем поток и связываем его с новым файлом abc:
ofstream filel("abc.txt",ios::app);
if (!filel)
{ cout << "Неудача при открытии файла abc.\n";
return 1; }
// Запись в файл abc массива структур:
for (int i = 0; i < numbeEl; i++)
filel << arel[i];
return 0;
}
Результат выполнения программы - создание файла с именем авс в текущем каталоге и запись в этот файл элементов массива из пяти структур element. Содержимое файла abc:
1 2 3.45
2 3 4.56
22 11 45.6
3 24 4.33
3 6 5.3
Приложение 1
Исходные данные
Название Диаметр Жизнь Спутники
Mercury 4878 false 0
Venus 12104 false 0
Earth 12774 true 1
Mars 6786 true 2
Jupiter 142796 false 16
Saturn 120000 false 17
Uranus 51108 false 5
Neptune 49600 false 2
Pluto 2280 false 1
Приложение 2.
class gamma
{
private:
static int total; //всего объектов
//(только объявление)
int id; //ID текущего объекта
public:
gamma() //конструктор без аргументов
{
total++; //увеличить счетчик объектов
id = total; //id равен текущему значению total
cout << "Создание ID " << id << endl;
}
~gamma() //деструктор
{
total--;
cout << "Удаление ID " << id << endl;
}
static void showtotal() // статическая функция
{
cout << "\nBcero: " << total << endl;
}
void showID() // нестатическая функция
{
cout<< "\nID: " << id << endl;
}
};
//---------------------------------
int gamma:: total=0;
void main()
{ gamma :: showtotal();
gamma g1;
gamma g1.showtotal();
gamma g2,g3;
g3.showtotal();
g1.showID();
g2.showID();
g3.showID();
cout<<”Конец программы”<<endl;
}
//--------------------------------------------------------
Приложение 3
Пример программы, использующей класс «planet»
Файлы:
planet.h – интерфейс класса,
planet.cpp – определение методов класса.
// sunsys.cpp
#include <fstream>
#include "planet.h"
#include "planet.cpp"
//#include "ConsolCyr.h"
using namespace std;
int read_db(char*, Planet*, const int);
int menu();
void print_db(Planet*, int);
int write_db(char*,Planet*, int);
int find(Planet*,int);
void sort_db(Planet*, int);
const int Size = 10;
const int l_record = 80;
int main()
{
char *file_name = "sunsys.txt";
Planet planets[Size];
int n_planet;
int ind;
while (true) {
switch (menu())
{
case 1: n_planet=read_db(file_name,planets,Size)ж
break;
case 2: write_db(file_name,planets,n_planet); break;
case 3: if((ind=find(planets,n_planet))>=0)
planets[ind].edit();
else
cout<<"Такой планеты нет"<<endl;
break;
case 4: print_db(planets,n_planet); break;
case 5: sort_db(planets,n_planet); break;
case 6: return 0;
default: cout<<" Неправильный ввод"<<endl; break;
}
}
return 0;
}