|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Случайная выборка строки из файла для Web игры |
|
|
C/C++ - [решено] Случайная выборка строки из файла для Web игры
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Суть в том что есть ID вещей,он находится в .txt блокноте,можно ли написать такой рандом который будет сам выбирать этот id и выдавать эту вещь пользователью.
Можно огрызки кода,или пример мне все подойдет. |
|
Отправлено: 20:34, 15-03-2012 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать считываешь файл в память, берешь количество строк. СОздаешь RAND число (http://www.cplusplus.com/reference/c.../cstdlib/rand/ ) в диапазоне от 1 до количества строк. Считываешь полученную строку и отдаешь пользователю.
|
------- Отправлено: 01:39, 16-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Чайниг, Вот.
В ID хранится сгенерированое число от 1 до количества строк из файла. В CountLine хранится общее количество строк из файла. Хотя можно и напрямую, без использования этой переменной примерно так. |
------- Отправлено: 15:40, 16-03-2012 | #3 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Допустим вот у меня есть код,
#include< iostream > #include< cstdlib > #include< ctime > #define L 10 #define N 3 using namespace std; int main() { int r; int sum; float sred; time_t t; srand((unsigned) time(&t)); for(int i=1; i <= N; i++) { cout << "Sluchainie chisla: "; sum = 0; for(int j = 1; j <= L; j++) { r = rand() % 10 + 1; cout << r << " "; sum += r; } sred = (float)sum / L; cout << "Sred arifm = " << sred << endl; } system("pause"); return 0; } выводит 3 любых числа из 10 ID, куда мне впихнуть код Цитата Drongo:
|
|
Последний раз редактировалось Drongo, 17-03-2012 в 14:33. Причина: code Отправлено: 22:20, 16-03-2012 | #4 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Чайниг, Вообще-то у меня к графическому интерфейсу был вариант. У вас консольный вариант.
|
|
------- Отправлено: 14:36, 17-03-2012 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Drongo,дайте тогда код к вашему варианту,он скорее всего графическим будет.
эта версия для бета теста |
Отправлено: 18:57, 17-03-2012 | #6 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Компоненты: Button1, Button2, OpenDialog1, Label1
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <cstdlib> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; TStringList *lst; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } // Создаём список------------------------------------------------------------ void __fastcall TForm1::FormCreate(TObject *Sender) { lst = new TStringList(); } // Открываем текстовый файл и грузим в список lst---------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if(OpenDialog1->Execute()){ lst->LoadFromFile(OpenDialog1->FileName); Button2->Enabled = true; } } // Генерируем номер строки--------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { srand(time(0)); Label1->Caption = String("Случайная строка: ") + 1 + rand() % lst->Count; } // Освобождаем память при выходе--------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { delete lst; } //--------------------------------------------------------------------------- |
------- Отправлено: 16:25, 18-03-2012 | #7 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Drongo, а в MVS это какое расширение файла?
|
Отправлено: 20:24, 18-03-2012 | #8 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать это для C++ builder
|
Отправлено: 21:21, 18-03-2012 | #9 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата ferget:
Чайниг, Я не пользуюсь Visual Studio, но думаю создать новый проект и накидать компонентов труда составить не сложно. А дальше обработчики у кнопок OnClick и у формы OnCreate и OnDestroy, вставляете код из этих функций что я привёл в листинге и компилируете проект. |
|
------- Последний раз редактировалось Drongo, 19-03-2012 в 23:23. Причина: опечатка... Отправлено: 14:27, 19-03-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Имя файла из строки копируемого файла. | Seryoga204 | Скриптовые языки администрирования Windows | 20 | 16-03-2011 21:15 | |
CMD/BAT - [решено] Скрипт для случайного выбора строки из файла | Anonymоus | Скриптовые языки администрирования Windows | 8 | 14-06-2010 04:03 | |
Брандмауэр Dr.Web – новый компонент в продуктах Dr.Web для защиты Windows-ПК | OSZone News | Новости информационных технологий | 0 | 15-03-2010 22:30 | |
[решено] Удаление строки из файла | gregaz | AutoIt | 2 | 16-07-2009 18:46 | |
выборка случайной строки из таблицы на MySQL | Vlad Drakula | Вебмастеру | 5 | 19-10-2004 05:55 |
|