Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2013, 17:15   #1
ashtone9130
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 45
По умолчанию Хранение и использование текстовой информации

Помогите разобраться с вопросом хранения и использования текстовой информации..

Есть программа "Тест" для проверки знаний, все вопросы и ответы данной программы хранятся в отдельном файле, программа их считывает и выводит по одному на экран, вот не могу понять как грамотно можно организовать хранение данной информации..

Есть банальный вариант хранить всё в файле *.txt, вопросы к каждому заданию, отделить каким-либо символом, допустим это будет "/", тоесть про встрече данного символа программа будет понимать что этот вопрос кончился (будет выводить только его), а дальше идёт следующий вопрос, так же отделить и правильные ответы... допустим получится следующее в нашем файле:

"вопрос номер один; ответ 1, ответ 2, ответ 3, ответ4. правильный ответ/
вопрос номер два; ответ 1, ответ 2, ответ 3, ответ4. правильный ответ/
вопрос номер три; ответ 1, ответ 2, ответ 3, ответ4. правильный ответ/"
и т.д.

тоесть прописать в программе что нужно считывать сам вопрос до символа ";", варианты ответов до символов "," а после "." идёт правильный ответ, с ним и сравнивать ответ пользователя, а после символа "/" начинает считывать другой вопрос, пока не встретит ";" и т.д....

вобщем прошу прощёния за объяснение на палцах, пока лишь продумываю алгоритм работы программы... но как то мне не нравится что вся эта организация хранения информации очень запутанна, надо будет постоянно организововать поиск символа и считывать информацию от предыдущего символа к данномму... будет сложнова то устроить поиск вопросса с определённым номером, допустим будет 100 вопросов, и надо будет перейти на 56 вопрос, организовать можно но оч запутанно, так вопросы лишь разделены символом, но не имеют порядкового номера...

Вобщем есть ли более осмысленные спрособы хранения данной текстовой информации и вывод её на экран??
ashtone9130 вне форума Ответить с цитированием
Старый 09.01.2013, 18:43   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Осмысленные способы - это база данных и специальный язык запросов.
Тупо - Microsoft Access & SQL
Еще тупее - структура фиксированной длины.

Цитата:
надо будет постоянно организововать поиск символа и считывать информацию от предыдущего символа к данномму
Ну и что. Мы же не на счетах с костяшками это делаем, пусть компьютер работает )
Цитата:
так вопросы лишь разделены символом, но не имеют порядкового номера.
Разве?
вопрос номер один;
вопрос номер два;
EUGY вне форума Ответить с цитированием
Старый 09.01.2013, 19:03   #3
Tahoma
DI HALT RET
Форумчанин
 
Аватар для Tahoma
 
Регистрация: 30.12.2010
Сообщений: 117
По умолчанию

С помощью strstr ищи знак '/'. Далее получаешь длину строки от полученного смещения. В итоге в памяти только:
вопрос номер один; ответ 1, ответ 2, ответ 3, ответ4. правильный ответ
Таким же способом можно выделить отдельные строки, но запятую не советую использовать, т.к. и в вопросе и в ответе она имеет место быть. лучше символ '|'
Tahoma вне форума Ответить с цитированием
Старый 09.01.2013, 20:01   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
С помощью strstr ищи знак '/'.
Лучше strtok. Но в произвольном тексте могут быть любые символы.
EUGY вне форума Ответить с цитированием
Старый 09.01.2013, 22:59   #5
ashtone9130
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 45
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Осмысленные способы - это база данных и специальный язык запросов.
Тупо - Microsoft Access & SQL
Еще тупее - структура фиксированной длины.


Ну и что. Мы же не на счетах с костяшками это делаем, пусть компьютер работает )

Разве?
вопрос номер один;
вопрос номер два;

вместо "вопрос номер один" и т.д. будет сам вопрос тоесть по тексту невозможно будет понять какой порядковый номер вопроса..

Если не сложно, то можно по подробнее объяснить как использовать базу данных SQL в Visual C++ 6.0 ? программу пишу с использованием библиотеки MFC.. или литературку подскажите где можно почитать..
ashtone9130 вне форума Ответить с цитированием
Старый 09.01.2013, 23:04   #6
ashtone9130
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Tahoma Посмотреть сообщение
С помощью strstr ищи знак '/'. Далее получаешь длину строки от полученного смещения. В итоге в памяти только:
вопрос номер один; ответ 1, ответ 2, ответ 3, ответ4. правильный ответ
Таким же способом можно выделить отдельные строки, но запятую не советую использовать, т.к. и в вопросе и в ответе она имеет место быть. лучше символ '|'

В общем, это пока лишь набросок, когда буду писать саму программу более подробнее продумаю.. просто такой вариант как мне кажется слишком банален и прост... программа для диплома, хотелось бы что-то по серъёзнее..
ashtone9130 вне форума Ответить с цитированием
Старый 10.01.2013, 08:36   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
Если не сложно, то можно по подробнее объяснить как использовать базу данных SQL в Visual C++ 6.0 ? программу пишу с использованием библиотеки MFC.. или литературку подскажите где можно почитать..
MFC ?
Значит само напрашивается - CDaoDatabase , CDaoRecordset.
EUGY вне форума Ответить с цитированием
Старый 10.01.2013, 09:52   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от ashtone9130 Посмотреть сообщение
хотелось бы что-то по серъёзнее..
Тогда XML вам в руки... БД (на мой взгляд) будет перебор, хотя конечно работать будет...
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# строки(Обработка текстовой информации ) Bakalavr Помощь студентам 3 26.12.2010 23:29
Обработка текстовой информации С++ Перфаратар Общие вопросы C/C++ 2 30.11.2010 21:12
Обработка текстовой информации С++ Перфаратар Помощь студентам 0 29.11.2010 23:02
Хранение информации xStill JavaScript, Ajax 7 29.11.2010 12:01
Хранение текстовой информации diliana Софт 11 23.12.2009 13:24