Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alek70694
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 247
#1

Работа с классами - C++

04.12.2013, 20:44. Просмотров 454. Ответов 12
Метки нет (Все метки)

Класс соревнование. В каждом соревновании по три участника и произвольное число туров. После проведения туров объявляется победитель.

Многочисленные ошибки, из за чего?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cstring>
#include "Bow.h"
using namespace std;
 
class ArcheryCompetition
{
    //компонентные переменные
private:
    //переменные
    int rounds;
    float redScore;
    Bow red;
    float blueScore;
    Bow blue;
public:
    //конструктор
    ArcheryCompetition (int lrounds);
    //деструктор
    ~ArcheryCompetition();
    //методы
    int complete (void);
};
 
//Создает объект ArcheryCompetition
ArcheryCompetition::ArcheryCompetition(int lrounds):
        rounds (lrounds), red (Bow("красный")), blue (Bow("синий")), redScore(0), blueScore(0)
{
 
}
//деструктор
~ArcheryCompetition::ArcheryCompetition()
{
 
}
 
//основа игры
//проводит состязание и определяет, кто победил
int ArcheryCompetition::complete()
{
    //провести все туры отслеживая результаты
    for (int i = 0; i < rounds; i++)
    {
        cout << "Тур номер " << i + 1 << "." << endl;
        red.draw();
        blue.draw();
 
        redScore = (red.fire() + redScore * i) / (i+1);
        blueScore = (blue.fire() + redScore * i) / (i+1);
    }
    //определяем кто победил
    if (redScore == blueScore)
        cout << "Ничья!\n";
    esle if (redScore < blueScore)
        cout << "Синий лук получает руку принцессы!\n";
        else
            cout << "Красный лук получает руку принцессы!\n";
    return 1;
}
void main (void)
{
    //управляющая функция
    //создает объект и вызывает соответствующие методы
    ArcherCompetition plymouthSquare(2);
    plymouthSquare.compete();
    int get = 0;
    cin >> get;
}
Миниатюры
Работа с классами  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 20:44     Работа с классами
Посмотрите здесь:

Работа с классами - C++
Есть задание, создать 2 класса. Один с данными но без методов, а второй сметодом отображения данных первого класса. Надо в метод передавать...

Работа с классами - C++
Имеется заголовочный файл В нем создаю два класса Vector и MyCamera. class Vector { public: float x,y,z; }; ...

Работа с классами - C++
Почему может вывестись здесь ошибка? #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;math.h&gt; #include...

Работа с классами - C++
Помогите написать програмку задание следующее: Создать базовый класс «Грузоперевозчик» и производные классы «Самолет», «Поезд»,...

Работа с классами - C++
Подскажите, создал класс class Person { private: ... public: static int count;

Работа с классами - C++
Не знаю как правильно задать вопрос, поэтому приведу пример. У меня есть класс матрица как лучше реализовать операцию сложения матриц? Я...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grenuj
6 / 6 / 0
Регистрация: 30.11.2013
Сообщений: 25
04.12.2013, 20:54     Работа с классами #2
Цитата Сообщение от Alek70694 Посмотреть сообщение
void main (void)
мэин должна возвращать int
C++
1
int main()
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.12.2013, 21:03     Работа с классами #3
Цитата Сообщение от Alek70694 Посмотреть сообщение
из за чего?
Компилятор же пишет из-за чего, даже строчки указывает.
igor921
Заблокирован
04.12.2013, 21:46     Работа с классами #4
Оператора esle нет, есть оператор else....
Alek70694
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 247
04.12.2013, 22:17  [ТС]     Работа с классами #5
Ну хорошо, это самые очевидные, а остальные?
FloraWinx
4 / 4 / 1
Регистрация: 05.10.2013
Сообщений: 123
04.12.2013, 23:55     Работа с классами #6
если они такие очевидные почему вы их не увидели ?)
igor921
Заблокирован
05.12.2013, 04:13     Работа с классами #7
В 54 строке поставьте скобки после if. Если используется конструкция
C++
1
if(){ } else
то скобки обязательны
И приведите код класса Bow...
rescr1pt
32 / 33 / 1
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 05:11     Работа с классами #8
Цитата Сообщение от igor921 Посмотреть сообщение
В 54 строке поставьте скобки после if. Если используется конструкция
C++
1
if(){ } else
то скобки обязательны
Не обязательны.
else к скобкам вообще никакой роли не играет. Если после условного оператора используется только один вызов, то можно опустить скобки.

----------------------------------------
Добавлено через 10 минут
C else в В 54 строке вижу уже разобрались.
Реализация деструктора не правильно указана
C++
1
~ArcheryCompetition::ArcheryCompetition()
C++
1
ArcheryCompetition::~ArcheryCompetition()
Имя объекта в создании экземпляра не правильная
C++
1
ArcherCompetition plymouthSquare(2);
C++
1
ArcherCompetition plymouthSquare(2);
экземпляр вызывает не существующий метод объекта
C++
1
plymouthSquare.compete();
C++
1
plymouthSquare.complete();
Вот и всё.

Добавлено через 2 минуты
Цитата Сообщение от grenuj Посмотреть сообщение
мэин должна возвращать int
C++
1
int main()
Она не обязана возвращать int.
main может быть воидной и не возвращать ничего, а может быть int и тоже кстати может ничего не возвращать.
Зависит от конкретных целей.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.12.2013, 12:26     Работа с классами #9
Цитата Сообщение от rescr1pt Посмотреть сообщение
Она не обязана возвращать int.
А как же стандарт (3.6.1.)?
"It shall have a return type of type int, but otherwise its type is implementation-defined."
mingw, например, void main() не скомпилирует.
rescr1pt
32 / 33 / 1
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 14:25     Работа с классами #10
Цитата Сообщение от alsav22 Посмотреть сообщение
А как же стандарт (3.6.1.)?

mingw, например, void main() не скомпилирует.
Так и знал, что будут этим подпунктом стандарта тыкать. Этому подпункту стандарта следуют только GNU-подобные компиляторы.
alsav22
05.12.2013, 14:32
  #11

Не по теме:

Цитата Сообщение от rescr1pt Посмотреть сообщение
Этому подпункту стандарта следуют только GNU-подобные компиляторы.
И что, от этого он перестаёт быть стандартом? (Судя по ошибкам, ТС как раз таким компилятором пользуется).
Цитата Сообщение от rescr1pt Посмотреть сообщение
Она не обязана возвращать int.
Зачем начинающих учить пренебрегать стандартом?

rescr1pt
32 / 33 / 1
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 15:04     Работа с классами #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем начинающих учить пренебрегать стандартом?[/OFF]

Не по теме:

Вы это спросите у преподов которые так учат и у авторов всяких книг для "начинающих".
Примеры 1, 2, 3, 4...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 16:11     Работа с классами
Еще ссылки по теме:

Работа с классами - C++
Задача:найти сумму всех отрицательных элементов матрицы и записать в вектор. For (i=0;i&lt;=N;i++) for (j=0;j&lt;=M;j++) if (a&lt;0) ...

Работа с классами - C++
Составить описание объектного типа TMatr, что обеспечивает размещение матрицы произвольного размера с возможностью изменения числа строк и...

Работа с классами - C++
Есть такой код: CMainWindow MainWindow; CUITextView textTest; textTest.SetText(&quot;Text View Test&quot;); ...

Работа с классами - C++
Наверно классическая задачка для тех, кто только начинает изучать классы. Есть группы и студенты. Проблема в том, что до меня не доходит,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
05.12.2013, 16:11     Работа с классами
  #13

Не по теме:

Цитата Сообщение от rescr1pt Посмотреть сообщение
Вы это спросите у преподов которые так учат и у авторов всяких книг для "начинающих".
Вопрос к вам был. Ответ есть?

Yandex
Объявления
05.12.2013, 16:11     Работа с классами
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru