C++-ban ezt hogyan tudnám leprogramozni?
Éppen egy Legyen ön is Milliomos játékot csinálok és azt szeretném tudni, hogy hogyan tudnám a kérdéseket véletlen sorrendben megcsinálni ha a kérdéseket úgy mond, eljárási függvényként írattam meg.(Tudom ez valószínű nem a legjobb megoldás de más nem jutott eszembe).Szóval valahogy így néz ki az egész kód(három képen fért csak ki bocsi):
saját objektum létrehozása már megy? mármint tanultátok már? vagy otthon hobbiból csinálod? tanultad már?
22F
3# Még nem tanultuk a suliba és még saját magam sem tanultam.
4# Osztályt?Mindez amiket leírtál, hogyan lehet megcsinálni?
Akkor legalább a struktúrák megvannak? Lehet hogy azt már tanultátok csak az objektum-orientáltság alapjait nem.
struct Kerdes {
string kerdes;
string valaszok[4];
char helyes_valasz;
} kerdesek[20];
kerdesek[0].kerdes = "Blah bla bla?";
kerdesek[0].valaszok[0] = "valami";
kerdesek[0].valaszok[1] = "akarmi";
kerdesek[0].valaszok[2] = "bla bla";
kerdesek[0].valaszok[3] = "trap";
kerdesek[0].helyes_valasz = 'C';
Feltöltöd kérdésekkel, majd random kiválasztod az egyiket:
int rand_idx = rand() % 20;
cout << "Kerdes: " << kerdesek[rand_idx].kerdes << endl;
cout << "A: " << kerdesek[rand_idx].valaszok[0] << endl;
cout << "B: " << kerdesek[rand_idx].valaszok[1] << endl;
cout << "C: " << kerdesek[rand_idx].valaszok[2] << endl;
cout << "D: " << kerdesek[rand_idx].valaszok[3] << endl;
char valasz = valaszt_beker();
if(valasz == kerdesek[rand_idx].helyes_valasz)
cout << "Nyertel!!" << endl;
else
cout << ":(" << endl;
Esetleg ha ragaszkodsz még az előző programodhoz akkor itt egy példa arra hogy lehet a függvényeket tömbbe rakni és egy random elemet kiválasztani és meghívni belőle:
#include <iostream>
#include <cstdlib>
#include <ctime>
void egyszer(int n) {
std::cout << 1*n << std::endl;
}
void ketszer(int n) {
std::cout << 2*n << std::endl;
}
void haromszor(int n) {
std::cout << 3*n << std::endl;
}
void (*fuggvenyek[3])(int) = {&egyszer, &ketszer, &haromszor};
int main () {
srand(time(NULL));
(*fuggvenyek[rand()%3])(5);
(*fuggvenyek[rand()%3])(5);
(*fuggvenyek[rand()%3])(5);
(*fuggvenyek[rand()%3])(5);
(*fuggvenyek[rand()%3])(5);
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!