Pytanie odnoście zrobienia testu w c++.

0

Witam,mam takie pytanie,ponieważ musze zrobić projekt który będzie w postaci symulacji testu z matematki w cpp.
Problem pojawia się w tym miejscu ze nie mogę użyć tablic i nie mam w ogóle pomysłu jak to zrobić .
Program powinien wyglądac tak ze wczytuje plik txt z pytaniami po czym przyznaje lub nie nam punkt za prawidłową odpowiedz i na końcu symuluje .
Największy problem jaki sie pojawia to brak uzycia tablic i tutaj pisze do was programiści z prośbą aby dać jakąś wskazówke albo pokazać jak to powinno mniej wiecej wyglądać :) Z góry wielki dzieki :)

0

Program wydaje się prosty przy pewnych założeniach:

  • w pliku tekstowym znajdują się także prawidłowe odpowiedzi.
  • najlepiej, by odpowiedzi były w postaci liczb/cyfr, nie zdań. Zdania bardzo ciężko się porównuje.

Przy takich założeniach to co należałoby zrobić to:
1. Określić pętlę działającą do momentu przeczytania ostatniego zadania z pliku
2. W pętli kolejno:
- odczytywać zadanie i wyświetlać użytkownikowi
- odczytywać i przechowywać w zmiennej prawidłową odpowiedź
- pobierać odpowiedź użytkownika i porównywać z prawidłową
- przyznawać użytkownikowi punkty/ocenę/itp...

W takim algorytmie nie trzeba używać tablic. Odczytywać zadanie można znak po znaku i jednocześnie je wyświetlać, a Ty piszesz to w C++, gdzie możesz przecież użyć std::string i problem sam się rozwiąże.

Nie wiem na czym ma polegać ostatni etap: i na końcu symuluje . Dla mnie symulacją było to co już zrobiliśmy w punktach 1. i 2., więc musisz to rozwinąć lub doprecyzować.

0

Ok,w pliku mam pytanie,4 odpowiedzi a,b,c,d i poprawną odpowiedz.Jest 10 pytań.Ja mam styczność z programowaniem dopiero 2 miesiące i jeszcze niebardzo ogarniam wszystkie procedury.Bartosz móglbyś napisać kawałek programu ,chodzi mi tutaj głównie o pętle ,bo z odczytem pliku tekstowego dam rade ,zliczanie puntków też ale najwiekszy problem polega na tym zeby program zatrzymywał się na kazdym pytaniu i po zadeklarowaniu pytania wybierał prawidłową odpowiedz albo nieprawidłową

0

Bartosz ma cie w zupie jeśli znasz paruski xD lol Russia <3

// to be clear nie pamietam jak sie bawic z fstream

struct QST{
	string.q;	// pytanie
	
	string a1,	// odpowiedzi
		   a2,
		   a3,
		   a4;
	short an;	// odpowiedz poprawna
}Q[10];
/* zakladam ze wyglada to tak w pliku tekstowym
<< Pytanie >>
<< Odp. 1 >>
<< Odp. 2 >>
<< Odp. 3 >>
<< Odp. 4 >>
<< Poprawna >>
... zapetlone ...
*/

int main(){
	for(int i=10;i--;){
		Q[i].q = file[i*5];			// wiadomo zgrywasz dane z pliku
		Q[i].a1 = file[(i*5)+1];	// do struktury lel...
		Q[i].a2 = file[(i*5)+2];
		Q[i].a3 = file[(i*5)+3];
		Q[i].a4 = file[(i*5)+4];
		Q[i].an = file[(i*5)+5];
	}
	
	losowa = rand();
	
	for(int i=5;i--;){
		cout<<Q[losowa].q
			<<endl
			<<Q[losowa].a1
			<<Q[losowa].a2
			<<Q[losowa].a3
			<<Q[losowa].a4
			<<endl
			<<"Podaj odpowiedz: ";
		cin>>odpowiedz;
		if(odpowiedz != Q[losowa].an)
		{cout<<"Przegrales !...";exit(0);}
	}
	cout<<"Wygrales !...";
}

daj mi chwile popatrze na inne posty i moze dodam ci dzialajacy program... na razie daje ci taki... xD

//Edit:
ide sobie do Stacji po Energetyka - chcesz coś ? :P
jak wrócę to może napiszę ci example.cpp a jak nie to możesz napisać na pv bo potem pewnie zapomnę

o ile się tu da pisać na pv to nawet nie wiem xD
więc jak kiedyś zauważę że tu pisałem i że obiecałem ci działający program to dostaniesz :P

ostatecznie: Steam: ID/PanTobi

w ogóle co se kurde pomyślały te sprzedawce... ide do groszka... zamknięte... ide do żabki... fresza... api... LOL
wszystko zamknięte... a na stacji będą pewnie monstery i tigery których nie lubię... ble...

T_T ja chce niedziele z otwartymi sklepami !... 24/7 kurde xD
//Edit już chyba kebab 3:
ale za to lubię burna i VMaxa oraz KX-a i jakiś inny taki fajny smakujący jak smerfy xD

lol..
wiecie jak te lody co kiedyś były w tym sklepie niedaleko przystanku i były podpisane "Smerfowe"
to taki jest energetyk który smakuje bardzo podobnie...

ale pamiętam że kiedyś piłem jakiegoś energetyka który smakował jak marsjanki xD

lel to to były cukierki :D
ale szkoda że nie zapamiętałem nazwy tych energetyków :/ kiedyś od znajomego dostałem... i wywaliłem puszkę... ci <3 ohh xD

0

No nie wiem ale w twoim poprzednim poście już to napisałem... proszę tak powinien wyglądać ten program

#include <iostream>
#include <fstream>
using namespace std;
int main(int argc,char* argv[])
{
    int numer=1,punkty=0;
    string pytanie,odpowiedz,poprawna;
fstream plik;
plik.open("test.txt",ios::in);
while(numer<=10)
{
    cout<<numer<<". ";
    for(int i=0;i<5;i++)
    {
    getline(plik,pytanie);
    cout<<pytanie<<endl;
   } 
    cin>>odpowiedz;
    getline(plik,poprawna);
    if(poprawna==odpowiedz)
    {
        cout<<"twoja odpowiedz to"<<odpowiedz<<"brawo dobrze"<<endl;
        punkty++;
    }
    else{
        cout<<"twoja odpowiedz to"<<odpowiedz<<"Niestety zle"<<endl;
    }
    numer++;
}
cout<<endl<<"Koniec gry masz"<<punkty<<"ponktow";
plik.close();
}

Okej właśnie zobaczyłem datę wszystko jasne :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1