C++ kvíz feladat?
Ez a feladat: Random kell dobáljon 5 kérdést, ha már volt, ne írja ki még egyszer. Ha jó a válasz írja ki, hogy jó, különben azt hogy nem jó.
Mit rontottam el?
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main (){
string kerdesek[5]={"Hany orszaggal szomszedos Ausztria?","Hol van a Hosok tere?","Mi Eszak-Amerika fovarosa?","Mi Magyarorszag fovarosa?","Mi a parlament masneven?"};
string valaszok[5]={"8","Fovarosban","Washington DC","Budapest","Orszaghaz"};
string bekertvalaszok[5];
int szamok[5]={1,2,3,4,5};
while (szamok[1]&&szamok[2]&&szamok[3]&&szamok[4]&&szamok[5]!=0)
{
for (int i=0; i<5; i++)
{
int random=rand() % ((5 - 0) + 1) + 0;
cout<<kerdesek[random];
cin>>bekertvalaszok[i];
if (bekertvalaszok[random]==valaszok[random])
cout<<"helyes valasz!";
else{
cout<<"helytelen valasz!";
}
szamok[i]=0;
}
}
system ("pause");
}















Tessek:
#include <utility>
#include <string>
#include <iostream>
#include <time.h>
#include <stdlib.h>
int main()
{
using kerdes = std::pair<std::string, std::string>;
kerdes kerdesek[] =
{
{"Hany orszaggal szomszedos Ausztria?", "8"},
{"Hol van a Hosok tere?","Fovarosban"},
{"Mi Eszak-Amerika fovarosa?","Washington DC"},
{"Mi Magyarorszag fovarosa?","Budapest"},
{"Mi a parlament masneven?","Orszaghaz"}
};
srand(time(0));
for (std::size_t i = 0; i < 5; ++i)
{
int random = rand() % (5 - i);
std::cout << i + 1 << ". kerdes: " << kerdesek[random].first << '\n';
std::string valasz;
std::cin >> valasz;
std::cout << (kerdesek[random].second == valasz ? "helyes valasz!\n" : "helytelen valasz!\n");
std::swap(kerdesek[random], kerdesek[4 - i]);
}
system("pause");
}





Ne bonyolítsátok:
#include <iostream>
#include <vector>
#include <chrono>
#include <algorithm>
using namespace std;
int main()
{
vector<pair<std::string,std::string>> questions = {
{
{"Hany orszaggal szomszedos Ausztria?", "8"},
{"Hol van a Hosok tere?", "Fovarosban"},
{"Mi Eszak-Amerika fovarosa?", "Washington DC"},
{"Mi Magyarorszag fovarosa?", "Budapest"},
{"Mi a parlament masneven?", "Orszaghaz"}
}
};
shuffle(questions.begin(),questions.end(),default_random_engine(chrono::system_clock::now().time_since_epoch().count()));
for ( auto& question : questions ) {
string answer;
cout << question.first;
cout << ( getline(cin,answer) && !answer.compare(question.second) ? "Jo" : "Nem jo" ) << endl;
}
return 0;
}





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!