9 / 9 / 2
Регистрация: 11.12.2012
Сообщений: 55
|
|
1 | |
Опять тестовая оболочка - рандом25.09.2013, 00:00. Просмотров 713. Ответов 4
Метки нет Все метки)
(
Написала тест, спасибо Культину, но преподавателя не устраивает. Нужно считывать вопросы с файла с помощью рандома. В тесте 50 вопросов, выбираем их количество а потом генерируем номер каждого вопроса и считываем его. Подскажите как в программе задать что именно ЭТОТ вопрос надо найти и считать...
0
|
|
25.09.2013, 00:00 | |
Оболочка потока. Опять неоднозначность Тестовая оболочка Тестовая оболочка тестовая оболочка |
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,039
|
|
25.09.2013, 00:27 | 2 |
Nattali, допустим ты случайно сгенерировала число от 1 до 50 например 10, так выведи просто 10 элемент массива и все.
0
|
9 / 9 / 2
Регистрация: 11.12.2012
Сообщений: 55
|
||||||
27.09.2013, 18:36 [ТС] | 3 | |||||
Спасибо, я попыталась изменить код что у меня был, но помучившись решила что проще писать новый. Вот что у меня получилось( я пока не генерирую, а задаю номер ответа через Edit). но по неизвестным мне причинам оно то выводит, то не выводит вопрос... я точно что-то сделала не так(
1
|
0 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 7
|
|
14.06.2014, 12:38 | 4 |
Я новичок в c++ конечно, но нельзя ли сделать глобальную переменную, а по кнопке перехода к следующему вопросу будет не, предположим s++(глобальная переменная, прибавляется при нажатии клавиши. Способ через массивы), а генерироваться случайное число, а s его присвоит. Только надо учитывать, чтобы вопросы не повторялись, то есть завести отдельный массив, в который будут записываться номера вопросов, которые генерируются, в идеале массив должен быть глобальным и ещё нужна будет переменная которая заменит s, но будет уже только для этого массива. То есть при нажатии на кнопку "назад" будет генерироваться не случайное число, а будет браться из массива и s будет присваивать его, так же с условием клавиши вперёд, но тут нужно будет в идеале сравнивать значения с каким-нибудь числом, который ты забьёшь в массив в самом начале. К примеру число "-1", которое ну никак не может быть ни номером вопроса, ни индексом(если только сама такой не сделаешь). То есть заполняем массив левым числом, а при записи(первое нажатие кнопки вперёд) заполняем его нормальными номерами вопросов. Таким образом, при нажатии клавиши вперёд, вы сможете проверить записан ли следующий элемент массива, или там левое число, которое нужно заменить.
Простите, что так запутанно немного, но это реально рабочее. Правда в коде я не шибко)
0
|
Модератор
![]() ![]() ![]() ![]() 10877 / 6768 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
|
||||||
14.06.2014, 13:20 | 5 | |||||
Nattali, видимо, это продолжение какой-то вашей прежней темы? Не очень понятно, что там у Вас происходить должно... Вот выводилка строк из файла в произвольном порядке
пример вывода
Код
[andrew@easybook ~]$ cd cpp/strings/ [andrew@easybook strings]$ g++ -o random_strings_order random_strings_order.cpp [andrew@easybook strings]$ ./random_strings_order random_strings_order.cpp return 0; std::random_shuffle(vec.begin(), vec.end()); srand(time(NULL)); std::cerr << "Usage: " << *argv << " <input_file>" << std::endl; std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n")); std::vector<std::string> vec; if ( ! ifs.is_open() ) { std::ifstream ifs(argv[1]); #include <cstdlib> return 1; #include <iterator> #include <iostream> #include <string> int main(int argc, char ** argv) { while ( std::getline(ifs, str) ) #include <algorithm> } #include <vector> if ( argc < 2 ) { std::string str; } return 1; ifs.close(); vec.push_back(str); #include <ctime> std::cerr << "Can't open input file!" << std::endl; #include <fstream> } [andrew@easybook strings]$
1
|
14.06.2014, 13:20 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Тестовая оболочка в delphi как работает тестовая оболочка? Тестовая оболочка написанная на PHP Тестовая оболочка (программа для тестирования) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |