ONKurs/phoebook/CBookItems.h

81 lines
2.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Класс "CBookItems" представляет собой сущность телефонного справочника
* Он хранит в себе все номера, имена и фамилии абонентов, занесённых в справочник
* Может менять и возвращать данные отдельного абонента, занесённого в справочник
* Может сортировать абонентов по фамилии или по имени
* Может производить поиск абонентов по фамилии, имени и номеру
* Может сохранять данные абонентов телефонного справочника в файл
* Может загружать данные абонентов телефонного справочника из файла
*/
#pragma once
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using namespace std;
class CBookItems
{
private:
struct _BookItem
{
string _sFirstName;
string _sLastName;
string _sPhoneNumber;
};
vector<_BookItem> _aItems;
public:
//===============================================================================
/**
*Создаёт элемент телефонного справочника и задаёт его значение
*/
void CreateNewItem(string sFirstName, string sLastName, string sPhoneNumber);
//===============================================================================
/**
*Меняет значение заданного элемента телефонного справочника
*/
int SetNewValueToItem(string sFirstName, string sLastName, string sPhoneNumber, int nNumOfItem);
//===============================================================================
/**
*Возвращает данные элемента телефонного справочника
*/
int GetItem(int nNumOfItem, string& sFirstName, string& sLastName, string& sPhoneNumber);
//===============================================================================
/**
*Возвращает количество элементов в телефонном справочнике
*/
int GetSize();
//===============================================================================
/**
*Сортирует абонентов в справочнике по именам или фамилии
*/
int SortItems(int nSortingType);
//===============================================================================
/**
*Ищет абонентов по имени, фамилии или по номеру телефона
*/
int FindItem(string sDesiredValue, int nSortingType, vector<int>& nNumOfDesirvedItems);
//===============================================================================
/**
*Сохраняет данные абонентов телефонной книги
*/
int SaveItems(string sNameOfFile);
//===============================================================================
/**
*Загружает данные абонентов телефонной книги
*/
int LoadItems(string sNameOfFile);
};