losowanie z pliku
Ostatnio zmodyfikowano 2016-02-05 14:38
darson Temat założony przez niniejszego użytkownika |
losowanie z pliku » 2016-02-04 22:02:39 Hej! Proszę o wyrozumiałość, iż jest to mój pierwszy temat tutaj.
Borykam się z następującym problemem: tworzę prosty programik o nazwie test, posiadam plik txt z którego ów test będzie zasysał pytania, jednak pytań jest 100 a ja chciałabym ustawić ich losowanie na 10 z tego pliku. Jak to zrobić bez wczytywnia ich do tablicy? (zakaz od prowadzącego ćwiczenia). Czy lepiej wykorzystać plik binarny zamiast txt?
Dziękuję za pomoc :) |
|
mateczek |
» 2016-02-04 22:07:31 pytanie zasadnicze. Czy plik z pytaniami masz dany (format zapisu pytań określony) czy możesz sam sobie go stworzyć ??
|
|
darson Temat założony przez niniejszego użytkownika |
» 2016-02-04 22:09:22 sama mogę sobie stworzyć plik- w ćwiczeniu bardziej chodzi o całościowy pogląd na temat Test z danego przedmiotu |
|
jankowalski25 |
» 2016-02-04 22:11:06 |
|
darson Temat założony przez niniejszego użytkownika |
» 2016-02-04 22:15:30 ok, dzieki za ta lekcje ale przy ustaleniu przesuwania pozycji przy każdym otworzeniu programu i przystapieniu do testu, a wiec wczytaniu danych z pliku beda wyswietlaly mi się te same pytania, prawda? |
|
jankowalski25 |
» 2016-02-04 22:25:11 Jeśli zamierzasz "na sztywno" wklepać pozycje poszczególnych pytań, to przy każdej zmianie zawartości pliku będziesz musiał je zmieniać w programie. Wszystko zależy od formatu pliku. Jeśli pytania są oddzielone znakami nowej linii, to szukasz tych znaków i na podstawie tego ustalasz poszczególne pozycje. |
|
mateczek |
» 2016-02-05 11:35:49 moja propozycja !!! Przykłądowy plik z pytaniami - każde pytanie w jednej linijce!!! jak masz na imię? jaki jest twój ulubiony kolor? jaki jest twój ulubiony kwiat? czy lubisz piwo? jaki jest twój nr telefonu? ile Ala ma kotkow? dlaczego Alicja woli tygrysy? Jaka jest Alicja i dlaczego niegrzeczna?
#include <iostream> #include<fstream> #include<ctime>
using namespace std;
int main() { srand( time( NULL ) ); std::fstream plik; plik.open( "dane.txt", ios::in ); if( !plik.good() ) return 0; int pytpos[ 100 ]; string pytanie; int iloscPytan = 0; int nrPytan = 0; while( 1 ) { if( plik.eof() ) break; int tempPos = plik.tellg(); getline( plik, pytanie ); pytpos[ nrPytan ] = tempPos; nrPytan++; } iloscPytan = nrPytan - 1; plik.clear(); int nrPyt = rand() % iloscPytan; plik.seekg( pytpos[ nrPyt ], plik.beg ); getline( plik, pytanie ); cout << "pytanie nr " << nrPyt << " " << pytanie << endl; } |
|
darson Temat założony przez niniejszego użytkownika |
» 2016-02-05 14:38:02 super! super! wielkie dzięki :)
troszkę to zmodyfikuję, bo plik pytania zawiera również 3 odpowiedzi a, b, c i w 5 linijce odpowiedź poprawną, ale jest suuuuper :D
dzięki jeszcze raz :) |
|
« 1 » |