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

Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.64
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 21:16     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #1
4.30. Напишите программу, которая читает радиус (как значение типа double),
рассчитывает и печатает диаметр, длину окружности и площадь круга. Для ?
используйте значение 3.14159.


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
#include "stdafx.h"
#include <iostream>
#include "lang.h"
 
using namespace std;
 
class circle
{
public:
    circle(double radius)
    {
    this->radius = radius; 
    }
    double printDiametr()
    {
        diameter = this->radius  * pi;
        return diameter;
    }
 private:
        double radius; 
    double pi;
        double diameter; 
        double length; 
        double area; 
};
 
int main()
{
        lang();
        double radius;
    double pi = 3.1415;
        circle One(radius);
        cout << "Введите радиус" << endl;
        cin >> radius;
    One.printDiametr();
 
        system("PAUSE");
        return 0;
}
Вроде как суть понял в прошлой задаче, немного прояснилось что к чему, решил сделать подобную
Вроде всё сделал правильно но радиус не выводится *цензура*.


Что не так, помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2011, 21:16     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга
Посмотрите здесь:

Написать программу, вычисляющую площадь круга и длину окружности по ее радиусу C++
Определить площадь круга и длину окружности,ограничивающей круг C++
C++ Найти длину окружности и площадь круга заданного радиуса R
C++ Определить площадь круга и длину окружности, ограничивающей круг
C++ Найти площадь круга, вписанного в треугольник с заданными сторонами. напишите программу которая работала бы )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
23.08.2011, 21:43     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #21
Цитата Сообщение от lera8 Посмотреть сообщение
TBIKC, Могу предложить вот такой вот вариант решения задачи и готова ответить на вопросы по ней

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
// prj.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
using namespace System;
using namespace std;
 
class circle
{
public:
        circle(double radius)
        {
        this->radius = radius; 
        }
        double printDiametr()
        {
                diameter = radius  * 2;
                return diameter;
        }
        void set_pi(double p)
         {
           pi=p;
           
         }
        void Show()
         {
             length=pi*diameter;
             area=pi*radius*radius;
             cout<<"Радиус:"<<radius<<endl;
             cout<<"Диметр"<<diameter<<endl;
             cout<<"Длина:"<<length<<endl;
              cout<<"Площадь:"<<area<<endl;
 
        
         }
 private:
        double radius; 
        double pi;
        double diameter; 
        double length; 
        double area; 
};
 
 
int main(array<System::String ^> ^args)
{
   locale::global(locale("rus"));
                double radius;
        double pi = 3.1415;
        cout << "Введите радиус" << endl;
        cin >> radius;
        circle One(radius);
        One.set_pi(pi);
        One.Show();
                system("PAUSE");
                return 0;
}
Сразу же скажу, что это плохой вариант! Очень плохой! При создании объекта circle его поля так и остаются неи нициализированными. Например, поле diametr следовало бы инициализировать в конструкторе. И вообще не понятно, зачем это поле определять в классе, если он рассчитывается от значения радиуса? То есть просто следует переписать член-функцию printDiametr, объявиви ее с квалификатором const и возвращать подсчитанное значение диаметра. Дальше, как говорится, больше, но пока на этом останавлюсь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lera8
 Аватар для lera8
630 / 213 / 26
Регистрация: 03.11.2009
Сообщений: 488
23.08.2011, 21:47     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #22
TBIKC, просто grizlik78 имел ввиду что нужно ввести значение радиуса до создания объекта т.е.
C++
1
2
3
cout << "Введите радиус" << endl;
        cin >> radius;//сначала вводите радиус(инициализируете его) а потом только создаём объкт 
        circle One(radius);
Добавлено через 2 минуты
Сыроежка, тогда уже нужно было всё инициализировать нулями, то есть сделать вообще конструктор без параметров и потом уже установить значение радиуса и рассчитать значение диаметра,площади и длины
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 21:48  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #23
lera8, просто grizlik78 имел ввиду что нужно ввести значение радиуса до создания объекта т.е.
Сразу бы так сказали )) Я сижу голову ломаю )))

Вот что у меня( внимательно посмотрите )
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class circle
{
public:
    circle(double radius)
    {
    this->radius = radius; 
    }
    double printArea()
    {
        area = this->radius  * pi * 2;
        return area;
    }
 private:
        double radius; 
        double pi;
        double diameter; 
        double length; 
        double area; 
};
 
int main()
{       
        locale::global(locale("rus"));   
        double radius;
        double pi = 3.1415;
        cout << "Введите радиус" << endl;
        cin >> radius;
        circle One(radius);
 
        cout << One.printArea();
 
        system("PAUSE");
        return 0;
}
При каждом запуске программы выдает разные значения вместе с числом е+
Сыроежка
Заблокирован
23.08.2011, 21:50     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #24
Вот корректное объявление вашего класса!

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
#include "stdafx.h"
#include <iostream>
using namespace System;
using namespace std;
 
class circle
{
public:
        circle(double radius) : radius( radius ) {}
 
        double printDiametr() const
        {
                return ( 2 * radius );
        }
         void Show() const
         {
                double length=2 * pi * radius;
                double area=pi*radius*radius;
                cout<<"Радиус:"<<radius<<endl;
                cout<<"Диметр"<<2 * radius <<endl;
                cout<<"Длина:"<<length<<endl;
                cout<<"Площадь:"<<area<<endl;
          }
 private:
        double radius; 
        static const double pi = 3.14;
};
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
23.08.2011, 21:52     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #25
Цитата Сообщение от lera8 Посмотреть сообщение
C++
1
void set_pi(double p)

Не по теме:

Если верить Википедии, то данная функция не лишена смысла

— В штате Индиана (США) в 1897 году был выпущен билль (см.: en:Indiana Pi Bill), законодательно устанавливающий значение числа Пи равным 3,2.
— «Число Пи для гренландских китов равно трем» написано в «Справочнике китобоя» 1960-х годов выпуска.

TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 21:55  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #26
Написал так static const double pi = 3.14; и выдало
circle:i: в пределах класса могут быть инициализированы только статические константные данные-члены целого типа
Мне это абсолютно не понятно
circle(double radius) : radius( radius ) {}

Изучаю плюсы по книге Дейтелов, сейчас на 4 Главе управляющие операторы часть 1 ( if else, while ) И прошёл Введение в классы и объекты глава 3
lera8
 Аватар для lera8
630 / 213 / 26
Регистрация: 03.11.2009
Сообщений: 488
23.08.2011, 21:57     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #27
TBIKC, вот ещё вариант, может быть нужно чтобы хранились диаметр, площадь и длина
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
// prj.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
using namespace System;
using namespace std;
 
class circle
{
public:
        circle()
        {
       radius = 0;
       diameter=0;
           length=0;
           area=0;
           pi=3.1415;
        }
      void set_radius(double rad)
       {
        radius = rad; 
       }
        
        void Show()
         {
             diameter=2*radius;
             length=pi*diameter;
             area=pi*radius*radius;
             cout<<"Радиус:"<<radius<<endl;
             cout<<"Диметр"<<diameter<<endl;
             cout<<"Длина:"<<length<<endl;
              cout<<"Площадь:"<<area<<endl;
 
        
         }
 private:
        double radius; 
        double pi;
        double diameter; 
        double length; 
        double area; 
};
 
 
int main(array<System::String ^> ^args)
{
   locale::global(locale("rus"));
                double radius;
       circle One;
        cout << "Введите радиус" << endl;
        cin >> radius;
        One.set_radius(radius);
        
        One.Show();
                system("PAUSE");
                return 0;
}
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
23.08.2011, 21:59     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #28
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
class circle_t {
        double radius_;
        double diametr_;
        double len_;
        double area_;
public:
        static const double pi = 3.1415926;
        circle_t(const double radius)
                :radius_(radius)
                ,diametr_(radius * 2)
                ,len_(pi * diametr_)
                ,area_(pi * (radius_ * radius_))
        {}
public:
        double diametr() const {return diametr_; }
        double length() const {return len_; }
        double area() const {return area_; }
        double radius() const {return radius_; }
};
....
        circle_t circl(1000);
        cout << circl.radius() << " "
               << circl.diametr() << " "
               << circl.length() << " "
               << circl.area();
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 22:00  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #29
Давайте всё таки лучше доделаем\изменим\переделаем мой последний вариант, чтобы каши не было в голове
lera8
23.08.2011, 22:00
  #30

Не по теме:

grizlik78,даже не знаю, обижать или нет )

grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
23.08.2011, 22:00     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #31
Цитата Сообщение от lera8 Посмотреть сообщение
grizlik78,даже не знаю, обижать или нет )
lera8, обижай!
lera8
23.08.2011, 22:02
  #32

Не по теме:

grizlik78, ой)) Извините) Обижаться хотела написать)

TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 22:04  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #33
Кто нибудь подскажет что не так ?
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
class circle
{
public:
    circle(double radius)
    {
    this->radius = radius; 
    }
    double printArea()
    {
        area = this->radius  * pi * 2;
        return area;
    }
 private:
        double radius; 
        double pi;
        double diameter; 
        double length; 
        double area; 
};
 
int main()
{       
        locale::global(locale("rus"));   
        double radius;
        double pi = 3.1415;
        cout << "Введите радиус" << endl;
        cin >> radius;
        circle One(radius);
 
        cout << One.printArea();
 
        system("PAUSE");
        return 0;
}
В классе написать static const double pi = 3.1415926;
не могу, выдаёт ошибку ( ms 2010 )
lera8
 Аватар для lera8
630 / 213 / 26
Регистрация: 03.11.2009
Сообщений: 488
23.08.2011, 22:05     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #34
TBIKC, а давайте вы уточните что вам всё таки нужно? каким должен быть класс, какие методы и члены должны быть в нём
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 22:07  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #35
Всё должно остаться как есть, в смысле что вычисляется только площадь,
При попытке ввода радиуса выводиться непонятная площадь ( не соответствующая )
Скопируйте посмотрите, пожалуйста
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
23.08.2011, 22:08     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #36
В классе:
C++
1
static const double pi;
За пределами класса, после его объявления:
C++
1
const double circle::pi = 3.14159265;
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 22:11  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #37
Learn.cpp(32): error C2655: circle:i: недопустимое определение или повторное объявление в текущей области видимости
1> Learn.cpp(17): см. объявление "circle:i"
1>Learn.cpp(32): error C2086: const double circle:i: переопределение
1> Learn.cpp(17): см. объявление "pi"

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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
class circle
{
public:
    circle(double radius)
    {
    this->radius = radius; 
    }
    double printArea()
    {
        area = this->radius  * pi * 2;
        return area;
    }
    static const double pi;
 private:
        double radius; 
        double diameter; 
        double length; 
        double area; 
};
 
int main()
{       
    locale::global(locale("rus"));   
        double radius;
    cout << "Введите радиус" << endl;
        cin >> radius;
        circle One(radius);
    const double circle::pi = 3.14159265;
    cout << One.printArea();
 
        system("PAUSE");
        return 0;
}
lera8
 Аватар для lera8
630 / 213 / 26
Регистрация: 03.11.2009
Сообщений: 488
23.08.2011, 22:11     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #38
TBIKC, потому что у вас значение pi-члена класса не устанавливается
напишите в вычисление площади вот так вот,зачем вам поле pi в классе?
C++
1
2
3
4
5
double printArea()
        {
                area = radius*radius  * 3.1415;
                return area;
        }
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
23.08.2011, 22:13     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #39
TBIKC, не, вот это
C++
1
const double circle::pi = 3.14159265;
должно быть не в main, а между main и классом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2011, 22:16     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 22:16  [ТС]     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга #40
ДА ДА ДА!! Грацио
Вот проблемная строчка была( ну точнее уже не проблемная )
area = this->radius * radius * 3.14;

Спасибо огромное, не могу нажать + спасибо ( лимит )

Добавлено через 50 секунд
Работает, спасибо, а почему так ?
Yandex
Объявления
23.08.2011, 22:16     Напишите программу, которая рассчитывает и печатает диаметр, длину окружности и площадь круга
Ответ Создать тему
Опции темы

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