Guest User

Task 4. Struct

a guest
Nov 5th, 2012
24
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Задание IV. Структуры.
  2.  
  3. Задание, общее для всех: написать программу, реализующую записную книжку.
  4. Должна заводится и хранится информация вида:
  5. 1) Имя (уникальное)
  6. 2) Телефон
  7.  
  8. Должны поддерживаться следующие операции:
  9. 1) Добавление/изменение записи
  10. 2) Поиск записи (по имени и, возможно, как-то еще)
  11. 3) Удаление (по имени)
  12. 4) Вывод всех
  13.  
  14. Индексация осуществляется по имени, которое уникально. При попытке добавить повторно человека с тем же именем должна происходить замена.
  15.  
  16. Сохранение и загрузка из файла желательны, но опциональны.
  17.  
  18.  
  19. Должено быть реализовано ядро со всеми функциями. Функции должны быть покрыты тестами.
  20. К этому ядру должен быть интерфейс, который позволяет продемонстрировать работу ядра.
  21. Интерфейс должен бть такого вида, на экран выводится меню:
  22. --------
  23. Выберите требуемое действие:
  24. 1) Добавить запись
  25. 2) Искать
  26. 3) Удалить
  27. ...
  28. N) Выход
  29.  
  30. Далее ожидается ввод числа. Если число неправильное, то об этом сообщается и предлагается выбрать еще раз.
  31. В зависимости от выбранного действия запрашивается имя или имя+телефон, выводится результат операции и снова меню.
  32. Интерфейс должен быть разумным и законченным, например, резонно запрашивать подтверждение при удалении. Можно рассмотреть
  33. интерфейс банкомата в качестве образца, чем-то похоже.
  34.  
  35. Убедительная просьба не использовать элементы ООП при решении этой задачи, передавайте структуры по ссылке.
  36.  
  37. Конкретные варианты:
  38.  
  39. 1) Хранить в бинарном дереве поиска, поиск по явному имени дихотомический.
  40.  
  41. 2) Хранить в линейном списке, при вставке упорядочивать элементы.
  42. Поиск как по явному имени, дихотомический. (Если хотите, то можно так "Хранить в боре, поиск по явному имени").
  43.  
  44. 3) Хранить в динамически расширяющемся массиве, при вставке упорядочивать элементы.
  45. Поиск как по явному имени, дихотомический.
  46.  
  47. 4) Хранить в линейном списке, поиск линейный. Поиск как по явному имени, так и возможность искать по подстроке
  48. (если возможно несколько вариантов, то предлагать их).
  49.  
  50. 5) Хранить в динамически расширяющемся массиве. Поиск как по явному имени, так и возможность искать по подстроке
  51. (если возможно несколько вариантов, то предлагать их).
  52.  
  53. 6) Хранить в динамически расширяющемся массиве, поиск линейный, сделать возможность поиска по шаблону типа ??lex, где "?" может означать любой символ.
  54.  
  55. 7) Хранить в линейном списке, поиск линейный, сделать возможность поиска по шаблону типа ??lex, где "?" может означать любой символ.
  56.  
  57. 8) Хранить в динамически расширяющемся массиве, поиск линейный, сделать возможность поиска как по имени, так и по телефону.
  58.  
  59. 9) Хранить в линейном списке, поиск линейный, сделать возможность поиска как по имени, так и по телефону.
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×