Konsolda bi sayı tahmin oyunu yapıyordum da
Bu koddaki return değeri legal mi program çalışıyor ama daha önce bu şekilde bi kod görmemiştim o yüzden merak ettim
(Kod istediğim şeyi yapıyor fakat rastgele birşeyler denerken farkettim)
Kodun tamamı burada.
Kod:
bool magicTrick::show() {
cout << "~~~~~~~~~~~~~~~~~~~~~~~~\n";
for(unsigned i = 0;i < temp.size();i++) {
cout << temp[i] << ' ';
}
cout << "\ndid you see your number here?\n";
char answer;
cin >> answer;
return ( (answer == 'y') | (answer == 'Y') ) ? ({temp = randomize(); show();}) : false;
}
Bu koddaki return değeri legal mi program çalışıyor ama daha önce bu şekilde bi kod görmemiştim o yüzden merak ettim
(Kod istediğim şeyi yapıyor fakat rastgele birşeyler denerken farkettim)
Kodun tamamı burada.
Kod:
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <algorithm>
using namespace std;
class magicTrick {
public:
vector<int> nums;
vector<int> temp;
magicTrick();
vector<int> randomize();
bool show();
};
bool magicTrick::show() {
cout << "~~~~~~~~~~~~~~~~~~~~~~~~\n";
for(unsigned i = 0;i < temp.size();i++) {
cout << temp[i] << ' ';
}
cout << "\ndid you see your number here?\n";
char answer;
cin >> answer;
return ( (answer == 'y') | (answer == 'Y') ) ? ({temp = randomize(); show();}) : false;
}
vector<int> magicTrick::randomize() {
vector<int> temp;
while(temp.size() != 9) {
int numsRand = rand() % nums.size();
if(count(temp.begin(), temp.end(), nums[numsRand]) == 0) {
temp.push_back(nums[numsRand]);
}
}
return temp;
}
magicTrick::magicTrick() {
srand(time(0));
for(int i = 1;i < 31; i++)
nums.push_back(i);
temp = randomize();
cout << show();
}
int main() {
magicTrick magicT;
return 0;
}
Son düzenleme: