Насколько я помню Cuda, никаких классов там нет, так что знать ООП не обязательно. OpenCL точно имеет сишный интерфейс и там классы не нужны, хотя могут быть полезны в качестве оберток.
Познаете ДАО "третьей нормальной формы", учите SQL, потом его же под конкретную СУБД. Потом учите выбранный язык, потом - библиотеку для его связи с СУБД. ... PROFIT!
Хехе, ну это будет весело. Я сходу вижу такое решение: нужно ловить нажатия клавиш, если это обычный символ - добавлять его в буфер и выводить на экран. Если это backspace - удалять из буфера последний символ и выводить на экран "\b " для затирания последнего выведенного символа. Соответственно, в момент нажатия Enter ничего с экрана читать не надо, достаточно взять из буфера.
Если БД из этого файла действительно нужна - писать целесообразно. Если можно обойтись без БД - нецелесообразно. Сам XML-парсер писать точно смысла нет, полно готовых реализаций.