Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

04.12.2013, 20:44. Просмотров 469. Ответов 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;
}
0
Миниатюры
Работа с классами  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 20:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с классами (C++):

Работа С Классами - C++
Привет Всем , Перехожу С делфи ))) Вот никак не пойму Вот Эту хрень в нутри класса Обрывок из струпа ...

Работа с классами в С++ - C++
Доброго всем дня.У меня возникла проблема с освоением языка C++ , сейчас пишу курсовую на этом языке, и ещё не совсем всё понимаю, но книги...

Работа с классами - C++
Помогите плз Определите значение переменных а, х, с после выполнения следующих команд: class First { int value; public: ...

Работа с классами - C++
Привет всем!!!!! Пацаны помогите написать программу плиз, на завтро нужно!!!!! Тема: Классы Задание:Описати інтерфейс та реалізувати...

Работа с классами - C++
Добрый день, на днях наткнулся на одну статью про работу с классами и не совсем ее понял, может кто помочь внести ясность, в чем...

Работа с классами - C++
Добрый день! Я столкнулся с проблемой которую не могу решить.Суть проблемы заключается в том что в классе Interface реализуется некая...

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

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

Не по теме:

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

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

Не по теме:

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

0
alsav22
05.12.2013, 16:11     Работа с классами
  #13

Не по теме:

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

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

Работа с классами - C++
Помогите решить задачу с использованием классов Дан текст. необходимо удвоить каждый символ в этом тексте, включая пробелы.

работа с классами - C++
прошу помощи с лабой, вообще вкурить немогу что и как делать:\ Комплексное число, задаваемое своей вещественной и мнимой...

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

работа с классами в С++ - C++
Пусть есть class.срр, в котором описан класс MyClass{ public: int i; ... } Есть файл main.cpp, в нем я использую...


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

Или воспользуйтесь поиском по форуму:
13
05.12.2013, 16:11
Ответ Создать тему
Опции темы

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