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

Реализовать класс(задача очень простая) - C++

Восстановить пароль Регистрация
 
Paola
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 11
23.05.2013, 09:38     Реализовать класс(задача очень простая) #1
Здравствуйте.
Я совсем новичок в программировании и столкнулась вот с такой проблемой. Есть задача:
Реализовать класс, который будет вычислять арифметическую прогрессию.
Собственно вот моя попытка:
CUT
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Progression
{
      public: 
              int a1,n,d; //здесь первый элемент прогрессии,номер элемента, который хочет увидеть пользователь, и шаг. 
              int count(int a1,int n,int d)
              {
              int an;
              an=a1+(n-1)*d;
               }
      };
int main(int argc, char *argv[])
{
    Progression A1,a,N,D;
    A1.a1=5;
    N.n=2;
    D.d=5;
    a.count(A1,N,D);
    cout<<a.count()<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}


Ошибки следующие

cut
In function `int main(int, char**)':
22 no matching function for call to `Progression::count(Progression&, Progression&, Progression&)'
23 no matching function for call to `Progression::count()'


Объясните, пожалуйста, как эту функцию объявлять или приведите хотя бы просто правильный вариант кода. Заранее спасибо.

P.S. К гуглу обращалась, книги смотрела.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 09:38     Реализовать класс(задача очень простая)
Посмотрите здесь:

C++ решить для программистов очень простая!
простая задача C++
Простая задача C++
C++ реализовать класс Money используя класс Fraction.
C++ Простая задача
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
23.05.2013, 09:48     Реализовать класс(задача очень простая) #2
Paola, у тебя функция описана, как принимающая int. А ты передаешь ей переменные своего класса. Зачем?
C++
1
cout<<a.count()<<endl;
Функции count без параметров в классе Progression у тебя не объявлено.
C++
1
2
int an;
 an=a1+(n-1)*d;
Не знаю, что тут должно делаться, но после выхода из функции никаких результатов нигде не останется. int не возвращается.
Paola
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 11
31.05.2013, 12:21  [ТС]     Реализовать класс(задача очень простая) #3
Извиняюсь, что так долго отвечала.
return добавила, но с переменными все еще не понятно((( Можешь объяснить чуть подробнее?
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
31.05.2013, 12:31     Реализовать класс(задача очень простая) #4
Paola, У тебя функция принимает инты. А ты ей передаешь объекты своего класса.
Создай один объект. Инициализируй его члены. Потом в функции-члеен просто их используй. Без всякой передачи при вызове.

Добавлено через 55 секунд
Цитата Сообщение от Paola Посмотреть сообщение
A1.a1=5;
N.n=2;
D.d=5;
Зачем тебе четыре объекта не понятно. Зачем ты у каждого из них инициализируешь по одному члену - тоже.
Paola
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 11
31.05.2013, 12:38  [ТС]     Реализовать класс(задача очень простая) #5
Спасибо большое. Теперь все понятно. Все заработало)))
Чиффа
 Аватар для Чиффа
5 / 5 / 0
Регистрация: 24.09.2012
Сообщений: 54
31.05.2013, 12:47     Реализовать класс(задача очень простая) #6
ну во-первых как правильно заметил Vourhey, необходимо в функцию count добавить return.
Далее функция count принимает три объекта типа int.
C++
1
count(int a1,int n,int d)
У тебя же создаётся 4 объекста типа Progression:
C++
1
Progression A1,a,N,D;
Если я правильно понял тебе необходимо что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Progression
{
      public:
              int a1,n,d; //здесь первый элемент прогрессии,номер элемента, который хочет увидеть пользователь, и шаг.
              int count()
              {
              int an;
              an=a1+(n-1)*d;
               }
};
 
int main()
{
 
    Progression A;
    A.a1=5;
    A.n=2;
    A.d=5;
        cout<<A.count()<<endl;
 
    return 0;
}
Yandex
Объявления
31.05.2013, 12:47     Реализовать класс(задача очень простая)
Ответ Создать тему
Опции темы

Текущее время: 16:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru