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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Offset
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 13
#1

Программа нахождения площади круга или сектора. - C++

22.05.2011, 15:53. Просмотров 2321. Ответов 7
Метки нет (Все метки)

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

Условие: Напишите программу позволяющую находить площади круга или сектора. В конструкторе класса должно происходить инициализация переменных, а вычисление значений, а также вывод результата в соответствующих методах класса. Пользователь вначале вводит название фигуры, площадь которой хочет вычислить, а затем параметры данной фигуры.


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
#include <iostream.h>
#include <math.h>
#include <string.h>
using namespace std;
class myclass {
double s;  //площадь
double r;  //радиус
double l;  //угол
public:
myclass(double);  //конструктор
double S_sector();
double S_krug();};
myclass::myclass(double x){r=x;};
double myclass::S_sector(){s=(l*pow(r,2))/2;};
double myclass::S_krug(){s=3.14*pow(r,2);};
int main(){
int r,l;
char a[10], *sec="sector", *kr="krug";
cout<<"Enter name of a figure"<<endl;
cin>>a;
if(strstr(a,kr)){
cout<<"Vvedite radius"<<endl;
cin>>r;
myclass(r);  //конструктор с параметром
myclass ob1;
ob1.S_krug();
cout<<ob1.S_krug();
if(strstr(a,sec)){
cout<<"Vvedite radius i ugol">>endl;
cin>>r>>l;
myclass(r);
myclass ob2;
ob2.S_sector();
cout<<ob2.S_sector();
int t;
cin>>t;}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 15:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа нахождения площади круга или сектора. (C++):

Класс для нахождения площади круга - C++
при создании класса с Pi - const int пишет ошибку IntelliSense: &quot;Circle::Circle(int radius)&quot; provides no initializer for:, подчеркивает...

Составить функцию нахождения площади круга по длине окружности - C++
1. Цель задания. 1. 1. Изучить синтаксис функций. 1. 2. Научиться применять функции при решении задач. Составить функцию...

Программа вычисления площади круга с циклом - C++
{deleted} П.5.19.Правил Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах. ...

Программа нахождения площади параллелограмма - C++
Суть задания :программа должна просить пользователя ввести своё имя после чего поприветствовать по имени потом найди площадь...

Программа для вычисления площади полной поверхности шарового сектора на "С" - C++
Всем привет! Помогите решить задачу на &quot;С&quot; (Не &quot;С++&quot;!) Известны значения (в см) хорды шарового сектора (а), радиуса шара (R) и...

Известны площади круга и квадрата Уместится ли круг в квадрате или квадрат в круге? - C++
2)Известны площади круга и квадрата. Определить: а) уместится ли круг в квадрат; б) уместится ли квадрат в круге.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
22.05.2011, 20:09 #2
C++
1
2
3
4
5
public:
myclass(){};//<------------------------------------------добавь эту строку
myclass(double);  //конструктор
double S_sector();
double S_krug();};
Offset
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 13
22.05.2011, 20:15  [ТС] #3
Спасибо, ушла ошибка, но теперь ругается еще:
[BCC32 Error] Unit1.cpp(31): E2094 'operator>>' not implemented in type 'istream' for arguments of type 'myclass'
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
22.05.2011, 20:18 #4
в 29-й строке << и >> перепутаны
Offset
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 13
22.05.2011, 21:16  [ТС] #5
заменил на
C++
1
cout<<"Vvedite radius i ugol"<<endl;
проблема не исчезла.

Добавлено через 53 минуты
заменил оператор cin на scanf и начала программа запускаться... но что-то после введения радиуса, вылазит сообщение с надписью: invalid floating point operation
WatsOne
36 / 36 / 3
Регистрация: 10.10.2010
Сообщений: 115
23.05.2011, 07:39 #6
C++
1
myclass(double);  //конструктор
не знаю наверняка (может разницы и нет) но может стоит написать:

C++
1
myclass(double x);  //конструктор
да и практика отступов вам не повредит.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
23.05.2011, 08:15 #7
В 27 строке не закрыта фигурная скобка после блока if.

Откуда в методе:
C++
1
double myclass::S_sector(){s=(l*pow(r,2))/2;};
берётся переменная l? Она никак не передаётся из main в объект, сделайте тогда уж конструктор с 2 параметрами.

И зачем вообще конструктор без параметров? И что это такое:
C++
1
2
myclass(r);
myclass ob1;
Может уж тогда:
C++
1
myclass ob1(r);
Ну а самое главное, посмотрите внимательнее на ваши ф-ции вычисления площадей. Что они возвращают? И что вы ожидаете увидеть на печати?
Offset
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 13
23.05.2011, 16:22  [ТС] #8
Спасибо за замечания, сегодня разобрались с задачей. Тему можно закрыть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2011, 16:22
Привет! Вот еще темы с ответами:

Вычисления площади круга. - C++
Пожалуйста, помогите, буду очень благодарен... Написать программу вычисления площади круга. Значение радиуса вводится в режиме диалога с...

Вычисление площади круга - C++
Пусть элементами круга будут радиус (первый элемент), диаметр (второй элемент), длина окружности (третий элемент). Составить программу,...

Нахождение площади круга - C++
привет всем. кто может написать код для этой задачи: Дан круг с радиусом R, задать R и вычислить площадь круга(где R является...

Вычисления площади круга - C++
Помогите решить пожалуйста, буду ОЧЕНЬ БЛАГОДАРЕН!!! Задана длина круга. Вычислить площадь круга, который имеет в два раза а) меньший; б)...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.05.2011, 16:22
Ответ Создать тему
Опции темы

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