cin>>*B;
cout<<"Введите пожалуйста число C типа double = ";
cin>>*C;
cout<<"Введите пожалуйста число D типа int = ";
cin>>*D;
}
void CCalc::SaveToFile(char* FileName)//Функция сохранения в файл
{
ofstream f(FileName);//Создаем файл
f<<"Результат выражения = "<<DoIt(*A,*B,*C,*D)<<endl;
f.close();
}
void CCalc::ReadFromFile(char* FileName)//функция считывания с файла
{
ifstream f(FileName);//Открываем файл
f>>*A;
f>>*B;
f>>*C;
f>>*D;
f.close();
}
CCalc::~CCalc(void)
{
delete A,B,C,D;
}
CStruct.h
#pragma once
#include "parent.h"
const int n=3;// размер массива структур
struct Knigi
{
// запись о книге содержит данные:
char *name; // фамилия
char *title; // название
int stran; // страници
int data; // год
};
class CStruct :
public CParent
{
public:
CStruct(void);//конструктор по умолчанию
CStruct(char*,char*,int, int,char*,char*,int, int,char*,char*,int, int);//конструктор с данными
CStruct(char*);//конструктор заполнения с файла
void Show();//Вывод результата работы программы
void InputData ();//Заполнение с клавиатуры
void SaveToFile (char *FileS);//Сохранение в файл
void ReadFromFile (char *FileR);//Запись в файл
friend ostream & operator<< (ostream & output, Knigi *C);//перегрузка потока вывода
friend istream & operator>> (istream & input, Knigi *C);//перегрузка потока ввода
~CStruct(void);//деструктор
private:
Knigi *A[n];//массив структур указательного типа
void sort();//функция сортировки
};
CStruct.cpp
#include "StdAfx.h"
#include "Struct.h"
char* Read()//считываем по символу
{
int ch, str_size = 0;
char * str = (char *) calloc(str_size, sizeof(char));//выделяем память
while ((ch = getchar()) != '\n')//считываем в ch один символ и проверяем равен ли он переходу на новую строку
{
str = (char *) realloc(str, ++str_size);//выделяем память
str[ str_size - 1 ] = (char) ch;//добавляем одну букву
}
str = (char *) realloc(str, ++str_size);//выделяем память
str[ str_size - 1 ] = '\0';//записываем нуль-терминант
return str;
}
CStruct::CStruct(void)//конструктор по умолчанию
{
for (int i = 0; i < n; i++ )
{
A[i]= new Knigi;//Выделяем память
A[i]->stran=0;//заполняем по умолчанию
A[i]->data=0;//заполняем по умолчанию
}
}
CStruct::CStruct(char* a1 ,char* b1,int c1, int d1,char* a2,char* b2,int c2 , int d2 ,char* a3,char* b3 ,int c3 , int d3)//конструктор c данными
{
for (int i = 0; i < n; i++ )
{
A[i]= new Knigi;//Выделяем память
}
strcpy(A[0]->name,a1);//заполняем значениями
strcpy(A[1]->name,a2);//заполняем значениями
strcpy(A[2]->name,a3);//заполняем значениями
strcpy(A[0]->title,b1);//заполняем значениями
strcpy(A[1]->title,b2);//заполняем значениями
strcpy(A[2]->title,b3);//заполняем значениями
A[0]->stran = c1;//заполняем значениями
A[1]->stran = c2;//заполняем значениями
A[2]->stran = c3;//заполняем значениями
A[0]->data = d1;//заполняем значениями
A[1]->data = d2;//заполняем значениями
A[2]->data = d3;//заполняем значениями
}
CStruct::CStruct(char *FileName)//конструктор считывания с файла
{
for (int i = 0; i < n; i++ )
{
A[i]= new Knigi;//Выделяем память
A[i]->stran=0;//заполняем по умолчанию
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.