Автостоянки — страница 12

  • Просмотров 7097
  • Скачиваний 323
  • Размер файла 346
    Кб

dat);        //  Удаляет строку при точном совпадением // Изменяет строку c ключом nam и значением dat на rr.    bool ChangeData(CRow&rr,string nam,string dat); };   6 Алгоритм по шагам 6.1 CTable(string&filename)   1. Сохранения значения переменной filename во внутренней  переменной класса filename. 2. Проверка существования файла filename. 3. Если файл существует, то считать информацию о полях таблицы, начале данных, текущее автоувеличение.   6.2

CTable::AddRow(CRow&rr)   1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file. 2. Запись текущего автоувеличения, увеличенного на 1. 3. Смещения в конец файла file. 4. Запись введённой строки rr.

                                                                                           6.3 CTable::GetCmp(vector<CRow>&finded,string nam,string dat)   1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file. 2. Смещение

на начало данных. 3. Считывание строки из файла и занесение в CRow  ww. 4. Сравнение ww[“nam”] и dat. 5. Если совпадает, то добавить строку в vector<CRow> finded. 6. Если не совпадают, то перейти на пункт 2 (повторить, пока не будет достигнут конец файла).   6.4 CTable::ChangeData(CRow&rr,string nam,string dat)   1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file. 2. Смещение на начало данных. 3. Считывание строки из файла и

занесение в CRow  ww. 4. Сравнение ww[“nam”] и dat. 5. Если совпадают, то сместиться на начало считанной строки и записать строку rr. 6. Если не совпадает, то перейти на пункт 2(повторить, пока не будет достигнут конец файла).     6.5 CTable::DeleteData(string nam,string dat)   1. Открытие файла, заданного в переменной filename и занесение индефикатора в FILE*file. 2. Смещение на начало данных. 3. Считывание строки из файла и занесение в CRow  ww. 4. Сравнение

ww[“nam”] и dat. 5. Если совпадают, то считать следующую и записать на месте предыдущей ( действие повторяется, пока не будет конец файла) 6. Файл уменьшить на одну строку. 7. Если строки в пункте 4 не совпали, то перейти на пункт 2(повторить, пока не будет достигнут конец файла). 6.6 CTable::Is()   1. Открытие файла, заданного в переменной filename и занесение индефикатора в FILE*file. 2. Считывание информации по адресу 0x00 в buf 3. Если содержимое buf не