Program losujący nazwiska

dział ogólny

Program losujący nazwiska

Nowy postprzez Marek_M » czwartek, 26 lutego 2015, 17:58

Witam ponownie

Chciałem zapytać Szanownych Kolegów:

1. Czy można w BCB napisać program, który losowałby jedno spośród zbioru nazwisk, np. po przyciśnięciu przycisku "START". Po naciśnięciu przycisku "STOP" nazwisko byłoby wyświetlone na komponencie edycyjnym.

2. Czy możliwy byłby również podgląd losowanych nazwisk (np. żeby przesuwały się w czasie losowania w komponencie Memo, co niewątpliwie podnosiłoby emocje)?

3. Czy można wreszcie uniknąć powtórnego wylosowania tego samego nazwiska?

Wiem, że w BCB istnieje funkcja RANDOM, ale dotyczy ona tylko liczb, jak ją powiązać z danymi tekstowymi ?

Pozdrawiam
Avatar użytkownika
Marek_M
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): niedziela, 22 lutego 2015, 19:57
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Windows Vista
Kompilator: C++ Builder 6
SKYPE: brak
Gadu Gadu: 0
    Windows VistaFirefox

Re: Program losujący nazwiska

Nowy postprzez polymorphism » piątek, 27 lutego 2015, 10:05

  1. Można
  2. Bez sensu. Losowanie odbywa się w ułamku sekundy i taka wizualizacja jest zbędna.
  3. Można.
  4. KOD cpp:     UKRYJ  
    tablica_z_nazwiskami[ rand() % ilosc_nazwisk ]
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
Marek_M
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2155
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 199
System operacyjny: Windows 8.1
Windows 10
Linux Mint 19
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Program losujący nazwiska

Nowy postprzez Mironas » piątek, 27 lutego 2015, 11:54

Na przykład tak:
  1. Tworzysz pustą listę na nazwiska
  2. Po kliknięciu START uruchamiasz timer który co 100-200 ms.:
    1. Jeśli lista jest pusta - wczytuje nazwiska na tę listę.
    2. Z nazwisk na liście losuje 1 nazwisko i wyświetla je na jakimś komponencie.
    3. Usuwa to nazwisko z listy.
  3. Przy ponownej iteracji timera czynności A, B, C wykonują się ponownie, i ponownie, i ponownie, ...
  4. Kliknięcie STOP zatrzymuje timer, na komponencie pozostaje ostatnie wylosowane nazwisko.

Za ten post autor Mironas otrzymał podziękowanie od:
Marek_M
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości

cron