(); break; 5: SortDB (); break; 6: (Exit () == 27)
{= 1 ;;
} break;
}
} while (z == 1);
();
}
//----------------------------------- SEARCHINDB -------------------------------- SearchInDB ()
{setlocale (LC_ALL, Russian ); * f=fopen ( db.txt raquo ;, r + t ); * num=fopen ( num.txt raquo ;, r + t ); j, o; (f == NULL || num == NULL)
{(); ( n Чи не вдається ВIДКРИТЕ файл електронного Довiдник! ); ( n Натіснiть будь-яку клавiшу для вихода в меню ); ();
}
{record recz [100]; i, kol; ((int *) amp; kol, 1, sizeof (kol), num);
//zapolnenie massiva zapisjami iz faila (i=0; i lt; kol; i ++)
{(f, sizeof (recz [i]) * i, 0); ((char *) amp; recz [i], 1, sizeof (recz [i]), f);
} (); ( * Поиск запісiв за номером роздiлу * ); sats;// kluch dlja poiska ( n n Введiть № роздiлу для поиска (число вiд 1 до 9) - gt; );=Get (1, 9); (1, wherey () + 1);
{(1, wherey () - 2); ( n Ві ввели № роздiлу: % i raquo ;. lt; Esc gt; - повторний ввiд. raquo ;, sats); ( n lt ; Enter gt; - номер роздiлу введено вiрно. );
{= getch ();
} while (j!=13 amp; amp; j!=27); (j!=13)
{( n Введiть заново - gt; );=Get (1, 9);
}
} while (j == 27); record srec [100]; z, s=0; (z=0; z lt; kol; z ++)
{(recz [z] s == sats)
{[s]=recz [z]; ++;
}
} (s == 0)//esli ne naideno ni odnoj zapisi
{(); ( n Запісiв з таким номером роздiлу | Полтава! ); ( n Натіснiть будь-яку клавiшу для вихода в меню ); ();
}
{a;=0;
{(); ( n * Поиск запісiв з номером роздiлу =% i * raquo ;, sats); ( n Запис №% i raquo ;, srec [i] .num); ( n Визначення: - gt;% s -% s raquo ;, srec [i] .surn, srec [i] .name); ( n № роздiлу - gt;% i raquo ;, srec [i] s ); (s == 1)//esli vsego odna zapis 'sootvetstvuet usloviju poiska
{( n n Бiльше запісiв | Полтава ); ( n Натіснiть будь-яку клавiшу для вихода в меню ); ();=101;
} (i == 0)
{( n n Стрiлка вниз - Наступний Запис ); ( n lt; Esc gt; - віхiд в меню );
{= getch ();
} while (a!=80 amp; amp; a!=27); (a == 80) i ++; i=101;
}
{(i == s - 1)
{( n n Стрiлка вгору - попереднiй Запис ); ( n lt; Esc gt; - віхiд в меню );
{= getch ();
} while (a!=72 amp; amp; a!=27); (a == 72) i -; i=101;
}
{(i gt; 0 amp; amp; i lt; s)
{( n n Стрiлкі вгору/вниз - переглядання запісiв: попереднiй/Наступний ); ( n lt; Esc gt; - віхiд в меню );
{= getch ();
} while (a!=72 amp; amp; a!=80 amp; amp; a!=27); (a == 80) i ++; (a == 72) i -; (a == 27) i=101;
}
} while (i!=101); (f); (num);
}
}
{= 0; o=Menu (); (o)
{1: ViewDB (); break; 2: CreateDB (); break; 3: AddToDB (); break; 4: SearchInDB (); break; 5: SortDB (); break; 6: (Exit () == 27)
{= 1 ;;
}
}
} while (o == 1); ();
}
//------------------------------------- SORTDB ---------------------------------- SortDB ()
{setlocale (LC_ALL, Russian ); * f=fopen ( db.txt raquo ;, r + t ); * num=fopen ( num.txt raquo ;, r + t ); z; (f == NULL || num == NULL)
{(); ( n Чи не вдається ВIДКРИТЕ файл електронного Довiдник ); ( n Натіснiть будь-яку клавiшу для вихода в меню ); ();
}
{record recz [100]; i, kol; ((int *) amp; kol, 1, sizeof (kol), num);
//zapolnenie massiva zapisjami iz faila (i=0; i lt; kol; i ++)
{(f, sizeof (recz [i]) * i, 0); ((char *) amp; recz [i], 1, sizeof (recz [i]), f);
} nums [100], atss [100]; (i=0; i lt; kol; i ++)//sozdanie massiva s nomerami ats iz bazi dannih
{[i]=recz [i] s;
} (i=0; i lt; kol; i ++)
{[i]=recz [i] .num;
} j, n, tmp, ch=0;
//sortirovka massiva s nomerami ats i sootv. peremeschenie nomerov zapisej (i=0; i lt; kol; i ++)
{= i; (j=i + 1; j lt; kol; j ++)
{(atss [j] lt; atss [n])
{= j;// n - nomer min elementa ++;// ch - chislo naidennuih zapisej
}
}=atss [i]; [i]=atss [n]; [n]=tmp;=nums [i]; [i]=nums [n]; [n]=tmp;
} a, k=0;
{= nums [k] - 1; (); ( n * Вiдсортованій Довiдник * ); ( n n Запис №% i raquo ;, recz [n] .num); ( n Визначення - gt;% s -% s raquo ;, recz [n] .surn, recz [n] .name); ( n № роздiлу - gt;% i raquo ;, recz [n]. ats); (ch == 1)//esli vsego odna zapis 'sootvetstvuet usloviju poiska
{( n n Бiльше запісiв | Полтава! ); ( n Натіснiть будь-яку клавiшу для вихода в меню ); ();=101;
}
{(k == 0)
{( n n Стрiлка вниз - Наступний Запис ); ( n lt; Esc gt; - віхiд в меню );
{= getch ();
} while (a!=80 ...