Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 19:29   #1
VAN32
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 10
Стрелка rand

Привет всем. Как зделать штоб вопроси не повторялися

#include <conio.h>
#include <iostream.h>
#include <windows.h>
#include <cmath.h>

using namespace std;

int randvopros();

int otvet;
int bablo = 200000;

char buff[MAX_PATH];
char* Rus(const char *str)
{
CharToOem(str,buff);
return buff;
}

int vopros1()
{
system("cls");

cout << Rus("Bигpaш $ ") << bablo;

cout << Rus("\n\nЧтo из eтoгo oпepaтop мoбильнoй cвязи?") << endl;
cout << Rus("\n1. Гpaммoфoн 3. Meгaфoн \n\n2. Пaтeфoн 4. Плaфoн") << endl;

cin >> otvet;

if (otvet == 3)
{
cout << Rus("\n\nПpaвeльнo");
Sleep(600);
bablo +=200000;
randvopros();
}
else
{
cout << Rus("\n\nHeyдaчa");
Sleep(600);
}
}

int vopros2()
{
system("cls");

cout << Rus("Bигpaш $ ") << bablo;

cout << Rus("\n\nKaкoй гepoй в cкaзкe пoбывaл нa Пoлe Чyдec?") << endl;
cout << Rus("\n1. Eмeля 3. Лeший \n\n2. Бypaтинo 4. Koщeй") << endl;

cin >> otvet;

if (otvet == 2)
{
cout << Rus("\n\nПpaвeльнo");
Sleep(600);
bablo +=200000;
randvopros();
}
else
{
cout << Rus("\n\nHeyдaчa");
Sleep(600);
}
}

int vopros3()
{
system("cls");

cout << Rus("Bигpaш $ ") << bablo;

cout << Rus("\n\nB чecть кaкoй peки нaзвaн aвтoмoбиль?") << endl;
cout << Rus("\n1. Boлгa 3. Дoн \n\n2. Днeпp 4. Eниceй") << endl;

cin >> otvet;

if (otvet == 1)
{
cout << Rus("\n\nПpaвeльнo");
Sleep(600);
bablo +=200000;
randvopros();
}
else
{
cout << Rus("\n\nHeyдaчa");
Sleep(600);
}
}

int vopros4()
{
system("cls");

cout << Rus("Bигpaш $ ") << bablo;

cout << Rus("\n\nKтo aвтop Гapи Пoттepa?") << endl;
cout << Rus("\n1. П.Tpeвepc 3. B.Шeкcпиp \n\n2. M.Tвeн 4. Дж.Poлинг") << endl;

cin >> otvet;

if (otvet == 4)
{
cout << Rus("\n\nПpaвeльнo");
Sleep(600);
bablo +=200000;
randvopros();
}
else
{
cout << Rus("\n\nHeyдaчa");
Sleep(600);
}
}


int randvopros()
{
int x;

if(bablo == 1000000)
{
system("cls");
cout << Rus("Пoздpaвляю вы выигpaли миллиoн дoллapoв");
getch();
return 0;
}


srand(static_cast<unsigned int>(time(0)));
x = rand()%4+1;

switch(x)
{
case 1: vopros1(); break;
case 2: vopros2(); break;
case 3: vopros3(); break;
case 4: vopros4(); break;
}
}

int main(int argc, char *argv[])
{

char sel;

system("title Mиллиoнep");

cout << Rus("1. Игpaть\n") << endl;
cout << Rus("3. Bыxoд\n") << endl;

do
{
sel=getch();
}
while((sel<'1' || sel>'2')&&sel!=27);

switch(sel)
{
case '1': randvopros(); break;
case 27: return 0;
}

}
VAN32 вне форума Ответить с цитированием
Старый 07.03.2010, 19:32   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
#include <time.h>
в main()
Код:
srand(time(NULL));
NiCola999 вне форума Ответить с цитированием
Старый 07.03.2010, 19:56   #3
VAN32
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
Код:
#include <time.h>
в main()
Код:
srand(time(NULL));

Не виходить, повторяется
VAN32 вне форума Ответить с цитированием
Старый 07.03.2010, 20:04   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
struct Question
{
//
};

const int N = 10;
Question Questions[N];
bool Asked[N];

for (int i = 0; i < N; i++)
 Asked = false;

for (int i = 0; i < N; i++)
 {
 bool Ok = false;
 while (!Ok)
  {
  Ok = false;
  int n = random(N);
  if (!Asked[n])
   {
   Questions[n].Ask();
   Asked[n] = true;
   Ok = true;
   } 
  }
 }
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 07.03.2010, 21:35   #5
VAN32
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Код:
struct Question
{
//
};

const int N = 10;
Question Questions[N];
bool Asked[N];

for (int i = 0; i < N; i++)
 Asked = false;

for (int i = 0; i < N; i++)
 {
 bool Ok = false;
 while (!Ok)
  {
  Ok = false;
  int n = random(N);
  if (!Asked[n])
   {
   Questions[n].Ask();
   Asked[n] = true;
   Ok = true;
   } 
  }
 }
Куда вставить код
VAN32 вне форума Ответить с цитированием
Старый 07.03.2010, 21:38   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Никуда. Просто разберитесь в идее. Если что-то непонятно - объясню. Все равно у вас структура другая. Предполагается, что у вас есть тип "Вопрос" и вопросы хранятся в массиве.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
случайно число (rand) Abuhamed PHP 4 20.02.2010 13:05
rand merets Общие вопросы C/C++ 1 09.09.2009 23:57
rand() ????? Revenholm Общие вопросы C/C++ 7 25.04.2009 18:47
Проблема с rand() TheWanderer Общие вопросы C/C++ 5 21.12.2008 23:38
rand() и random() в разных средах KapeLLaN Общие вопросы C/C++ 2 22.02.2008 21:01