Форум программистов, компьютерный форум CyberForum.ru

С++ базы данных - C++

Восстановить пароль Регистрация
 
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
13.03.2010, 00:06     С++ базы данных #1
Я понимаю, что возможно следующие вопросы уже обсуждались на этом форуме, возможно и не раз, но по поиску ничего вразумительного (понятного мне) не нашел (как и в гугле). Поэтому прошу оставить негодование и помочь.
Пишу проект (лабораторная) с БД (struct). При работе возникло несколько вопросов (прошу давать советы, которые будут работать под любым компилятором ):

1) В поле (столбец БД) через scanf(); вводятся данные. Эти данные должны быть исключительно числового типа (int, float). Если же я ввожу символ(ы), то программа виснет. Как проверить, введены ли цифры, прежде чем записывать данные в память?
Да и вообще, хотелось бы узнать - возможна ли проверка соответствия введенных данных какому либо типу (средствами языка и билиотек стандартных)?

2) Как мне сделать в меню (которое выводится через printf(); ) навигацию через клавиатуру (стрелки вверх-вниз, клавишу enter)? Была идея сделать через getch(); , но я не знаю, что эта функция возвращает, при нажатии на стрелки.

3) Если у меня существует 2 переменных одного структурного типа (созданного мною), и я ставлю их по разные стороны операнда "=", то их компоненты приравняются? (просто сейчас нет возможности проверить).

Пока все, заранее благодарен за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2010, 00:06     С++ базы данных
Посмотрите здесь:

Базы данных C++
создание базы данных C++
C++ Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s.
Подобие базы данных C++
C++ Базы данных на си
C++ Выбор базы данных
Структуры и базы данных C++
Хеширование базы данных C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
13.03.2010, 08:28     С++ базы данных #2
1) В стандарте Си ничего хорошего для отлавливания ошибок ввода нет. Ну, scanf что-то может возвратить (типа EOF) если есть явные несоответствия формата и данных, но все это - мертвому припарки! scanf вообще придумали для студентов, чтоб они не заморачивались на проблемах контроля ввода (очень не простых), а сразу могли начать решать задачки на освоение простейших конструкций. Лично я при вводе чего-либо беру строку и разбираю ее посимвольно.
У С++ напридумано по этому поводу многое. Всякие валидаторы и т.п. Но это не часть языка, а реализуется в классах. При этом каждый компилятор, каждая среда создает свой набор этих средств. Есть общие схемы и принципы, но разобраться в них - на диссертацию потянет
Что здесь посоветовать? Или изучите то, что есть в той среде, которой вы пользуетесь, или сами разработайте парочку классиков.
2) При нажатии стрелочек и других управляющих символов getchar получает по очереди 2 числа.
Сначала 0 - признак, что дальше идет код управляющего символа. Потом сам этот код.
Для стрелок это 72(Up), 80(Down) 75(Left), 77(Right). Это легко определить написав маленькую эксперементальную прогу. Только не забудь - если getchar() дал 0, тут же еще раз - getchar()
3) Да
Yandex
Объявления
13.03.2010, 08:28     С++ базы данных
Ответ Создать тему
Опции темы

Текущее время: 02:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru