Скачиваний:
23
Добавлен:
02.05.2014
Размер:
1.64 Кб
Скачать
// algo.h
// Содержит алгоритмы для обработки баз данных


// Структура двоичного временного файла таблицы f1
struct f1_structure
{
  int Nomer; // Номер предмета
  char Nazvanie[256]; // Название предмета
};

struct f2_structure
{
  int NomerGrup;
  char FIO[256];
  int NomerPredmeta;
  char NazvaniePredmeta[256];
  int Ocenka;
  // Дополнительное поле, чтобы отмечать записи во второй таблице
  int _metka;
};

// Класс алгоримов обработки базы данных
class db_algo
{
public:
  db_algo();
  // Установить имена обрабатываемых файлов
  void SetFileNames(CString f1_name, CString f2_name, CString f3_name, 
    CString sr_ball = "");
  // Установить имя файла со средним баллом
  void SetSredniBallFileName(CString sr_ball);
  // Проверить уникальность номера предмета из файла f1
  int TestUniqID(CString &ErrorMsg);
  int MakeBinResTable(CString &ErrorMsg);
  int GenF3(CString &ErrorMsg);
  int CalculeSredBall(CString &ErrorMsg);
protected:
  void PutF2Temp(int NG, CString &FIO, int NomPr, 
    CString &NazPr, int Ocenka, FILE *temp);
  int FindF1Temp(int Num, CString &Buffer, FILE *temp);
  void PutF1Temp(int Num, CString &Name, FILE *temp);
  int GetFirstUnmarketRecord(f2_structure &st, FILE *f2);
  void PutRecordF3(f2_structure &st, FILE *f3);
  int GetFindUnmarket(int NP, int NG, f2_structure &st, FILE *f2);
  void DeleteAllMetka(FILE *f2);
  void PutSredniBall(int NomGr, const char* NazPr, double SrBall, FILE *fballs);
private:
  // Имена файлов с базами данных
  CString file1_name, file2_name, file3_name;
  // Имя файла со средними баллами
  CString sred_ball_name;
};
Соседние файлы в папке Курсовой - Специфицирование и тестирование программ2