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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2013, 11:03   #1
Сергей.Ш
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 43
По умолчанию Создание класса дробей. Пример на сложение двух дробей. Помогите найти ошибку (С++)

http://ideone.com/tnIrVL Изучаю с++по книге Оверленд Брайен- с++ без страха.
Создание класса дробей .Пример на сложение двух дробей .Помогите найти ошибку.Запутался .
ошибки такие.
Цитата:
g++ -Wall -c "m1.cpp" (в каталоге: /home/sergei/m)
m1.cpp: В функции «int main()»:
m1.cpp:21:12: ошибка: нет декларации «num» в этой области видимости
m1.cpp:21:16: ошибка: нет декларации «den» в этой области видимости
m1.cpp:22:12: ошибка: нет декларации «num1» в этой области видимости
m1.cpp:22:17: ошибка: нет декларации «den1» в этой области видимости
Сборка завершилась с ошибкой.
--------------
Изменил начало мена таким образом Fraction fract1,fract2,fract3;
int num;
int den;
int num1;
int den1 ;
fract1.set(num,den);
fract2.set(num1,den1);
fract3=fract1.add(fract2);
скомпилировалась вроде хорошо ,но результат выдает неверный,где может быть недоработка?
sergei1960jabber.ru

Последний раз редактировалось Stilet; 28.10.2013 в 12:04.
Сергей.Ш вне форума Ответить с цитированием
Старый 28.10.2013, 12:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
fract1.set(num,den);
Ну так у тебя num не описана для main()
Она у тебя только как private для класса, не более, соответственно за пределами класса ее использовать никак нельзя.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2013, 12:09   #3
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Сергей.Ш Посмотреть сообщение
http://ideone.com/tnIrVL Изучаю с++по книге Оверленд Брайен- с++ без страха.
Создание класса дробей .Пример на сложение двух дробей .Помогите найти ошибку.Запутался .
ошибки такие.
Изменил начало мена таким образом Fraction fract1,fract2,fract3;
int num;
int den;
int num1;
int den1 ;
fract1.set(num,den);
fract2.set(num1,den1);
fract3=fract1.add(fract2);
скомпилировалась вроде хорошо ,но результат выдает неверный,где может быть недоработка?
А сам класс привести?! Да и тем более сами цифры у тебя здесь не задаются, обьявление есть переменных а их инициализации нет.

Упс сорри по ссылке не зашел

Хотя все остается в силе у тебя ввод цифр идет уже после присваивания их в классе.
Может это и чушь, но это моя чушь и я ее никому не отдам.

Последний раз редактировалось Shad0wF1rst; 28.10.2013 в 12:14.
Shad0wF1rst вне форума Ответить с цитированием
Старый 28.10.2013, 12:24   #4
Сергей.Ш
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 43
По умолчанию

Shad0wF1rst ,а как сделать инициализацию переменных?

Stilet, Виталий, я даже для эксперимента
private:int num,den;
заменил на публик и все равно вывод программы не правильный.

http://ideone.com/zmOujd это новый код. Но программа работает неправильно.
sergei1960jabber.ru

Последний раз редактировалось Stilet; 28.10.2013 в 12:52.
Сергей.Ш вне форума Ответить с цитированием
Старый 28.10.2013, 12:58   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У тебя в данном случае переменные, что ты передаешь методам класса не инициализированы, т.е. не содержат никакого адекватного значения.
Вот что я имею ввиду:
Код:
int num=0;
int den=0;
int num1=0;
int den1=0;
или же если не нули то вводи с клавиатуры через cin их значения перед тем как передавать классу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2013, 13:24   #6
Сергей.Ш
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 43
По умолчанию

Все ,большое спасибо ,полностью разобрался!
sergei1960jabber.ru
Сергей.Ш вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение дробей Ingar Общие вопросы C/C++ 1 30.07.2012 19:37
Условие: найти сумму всех простых дробей (С++) Тонконогов Сергей Помощь студентам 2 01.05.2012 19:59
Перегрузка операций для класса дробей Fataller Общие вопросы C/C++ 4 29.05.2010 18:08
Не могу разобраться как работает программа(сложение дробей) Superlotles Общие вопросы C/C++ 1 15.05.2010 16:05
Пример из книги,помогите найти ошибку. ANTI Win Api 4 04.06.2008 23:59