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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2012, 12:35   #1
three_cats
Форумчанин
 
Аватар для three_cats
 
Регистрация: 27.09.2012
Сообщений: 175
Злость Игра - викторина. Ошибки, ошибки, ошибки!..

Посмотрите свежим взглядом, пожалуйста! Проблема с приватными объявлениями. Ни string ему не нравится, ни char*. Со структурой та же проблема.

Код:
/* Игра: викторина v0.1 */

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

#define SIZE = 5;

using namespace std;

class victorina {

private:
/* Здеь - база слов и вопросов */
string word_arr[SIZE]      = {"обфускация", "хакер", "компилятор", "отладка", "криптоанализ"};
string word_question[SIZE] = {"Намеренное усложнение кода программы.", "Специалист высокого ранга", 
                          "Генератор машинного кода.", "Нахождение в программе ошибок.", "Анализ алгоритмов безопасности." };
/* Текущий счет */
int score = 0;

public:

void welcome() {
     
/* Приглашение и меню */

cout << "Добро пожаловать в игру \"Викторина\" v0.5!" << endl;
cout << "1: начать игру" << endl;
//cout << "2: рекорды"; << endl;
//cout << "3: выход"; << endl;      
cout << "Ваш выбор?(1): ";
char c;
cin >> c;

select (c) of {
case 1: game(); break;
//case 2: records(); break;
//case 3: exit(); break;
default: cerr << "Неверное значение!";              
}
cout << endl;
}

void game() {

cout << "Все просто. Компьютер загадывает слово, вы отвечаете!" << endl;
cout << "Нажмите любую клавишу, чтобы начать..." << endl << endl;
_getch();

    srand(static_cast<unsigned int>(time(NULL)));

/* Игровой цикл */
while (true) {

    cout << endl;

/* Генерация вопроса и подсказок */

    int rnd = rand() % SIZE - 1;

    string question = word_arr[rnd];
    string word     = word_question[rnd];

    cout << question << endl << "Подсказка: ";

    int stl = strlen(word_arr[rnd].word);

    int hintrnd_1 = rand() % stl - 1;
    int hintrnd_2 = rand() % stl - 1;

for (int i = 0; i < stl; i++) {
    if (i == hintrnd_1) cout << word[hintwrd_1]; else
    if (i == hintrnd_2) cout << word[hintwrd_2]; else
    cout << "*";
}

    cout << "Ваш вариант?" << endl;
    string variant;
    cin >> variant;

/* Верно-неверно, изменение текущего счета */

    if (variant == word) {
    cout << "Верно! Слово - \"" << variant << "\"!\a\a\a" << endl;
    score += 5;
    cout << endl << "Ваш счет: " << score << endl;       
    } else {
    cout << "Неверно!"; 
    score -= 10;
    cout << endl << "Ваш счет: " << score << endl;       
    }
    }
    }
}
      
};

int main() {

victorina v;
    
v.welcome();

cout << "Нажмите любую клавишу для продолжения...";    
_getch();    
}
Никто

мой блог
three_cats вне форума Ответить с цитированием
Старый 27.10.2012, 21:47   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
#define SIZE = 5;  // не верно
#define SIZE 5 // верно
Инициализировать переменные внутри класса нельзя, только объявление.
select of явно не из этой оперы. Надо switch (c).
hintwrd_1 и hintwrd_2 не определены, но наверно тут описка.
И для string вроде оператор << не определен, точно не помню.

Это так на первый взгляд, так что может это не все.
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки keksik Общие вопросы C/C++ 3 22.01.2012 18:44
ошибки almazz Помощь студентам 0 15.04.2010 16:34
ошибки Siluet Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 25.09.2009 21:56
Ошибки Groz Помощь студентам 11 20.08.2009 16:41