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

Не могу понять, почему? - C++

Восстановить пароль Регистрация
 
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
26.10.2013, 12:17     Не могу понять, почему? #1
Доброго времени суток=) Такая печаль. Создается класс Окружность с полями радиус, площадь и длина окружности. Нужно создать функции подсчета площади и окружности и функцию вывода информации об окружности. Функции считают правильно, но какие-то проблемы с выводом. Помогите, пожалуйста.
Вот код:
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
#include <iostream>
#include <math.h>
using namespace std;
class okr
{ 
protected: 
    int r; 
    float S,C;  
public:
 
float vichS (int r, float S);
float vichC (int r, float C);
float getS(){return S;};
float getC(){return C;};
int getr(){return r;};
void printokr();
};
 
float okr::vichS (int r, float S)
{
  S=3.14*r*r;
  return S;
}
 
float okr::vichC (int r, float C)
{
  C=2*3.14*r;
  return C;
}
void okr::printokr()
{
 cout<<"Радиус="<<getr()<<endl;
 cout<<"Площадь="<<getS()<<endl;
 cout<<"Длина="<<getC()<<endl;
}
 
 
void main ()
{
 setlocale (LC_ALL, "rus");
 int r;
 float S=0,C=0;
 cout<<"Введите радиус окружности"<<endl;
 cin>>r;
 okr ok;
 ok.vichS(r,S);
 ok.vichC(r,C);
 ok.printokr();
 system ("pause"); 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 12:17     Не могу понять, почему?
Посмотрите здесь:

Не могу понять почему... C++
C++ не могу понять почему не работает
ошибка не могу понять почему ! C++
не могу понять, почему не вычисляет C++
не могу понять,почему не идет C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
scotty
28 / 28 / 1
Регистрация: 09.09.2012
Сообщений: 131
26.10.2013, 12:32     Не могу понять, почему? #2
а зачем ты создал метод который вызывает другой метод\? выводи сразу переменные класса в одном просто методе класса.
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 12:33     Не могу понять, почему? #3
Всем привет... Помогите нужно написать уравнение. Написал но все равно не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <math.h>
#include <iostream.h>
#include <conio.h>
int main()
{
float s,t,y;
cout << (" vvod s:");
cin >>s;
cout << (" vvod t:");
cin >> t;
if (fabs(s)<1)
 {y=log(s+1)+t;} 
   else 
   {if (fabs(s)>1)
    {y=log(fabs(s));;}
       }
   cout << ("y=") <<(y);
  getch();
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.10.2013, 12:40     Не могу понять, почему? #4
Так-то лучше
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
#include <iostream>
#include <cmath>
using namespace std;
 
class Circle {
private:
    float r;
public:
    Circle(int r_);
    float getRadius();
    float getSquare();
    float getLength();
};
 
Circle::Circle(int r_) : r(r_) {}
 
float Circle::getRadius() {
    return r;
}
 
float Circle::getSquare() {
    return M_PI * pow(r, 2);
}
 
float Circle::getLength() {
    return 2 * M_PI * r;
}
 
int main() {
    setlocale(LC_ALL, "Russian");
    int r;
    cout << "Введите радиус окружности: ";
    cin >> r;
 
    Circle circle(r);
 
    cout << "Радиус=" << circle.getRadius() << endl;
    cout << "Окружность=" << circle.getLength() << endl;
    cout << "Площадь=" << circle.getSquare();
    cin.get();
}
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
26.10.2013, 12:40  [ТС]     Не могу понять, почему? #5
Цитата Сообщение от scotty Посмотреть сообщение
а зачем ты создал метод который вызывает другой метод\? выводи сразу переменные класса в одном просто методе класса.
Все, нашел ошибку=)
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 12:43     Не могу понять, почему? #6
А мне помочь можно?) Пожалуйста
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.10.2013, 12:45     Не могу понять, почему? #7
Цитата Сообщение от skihipon Посмотреть сообщение
Всем привет... Помогите нужно написать уравнение. Написал но все равно не работает
#include <math.h>
#include <iostream.h>
#include <conio.h>
int main()
{
float s,t,y;
cout << (" vvod s:");
cin >>s;
cout << (" vvod t:");
cin >> t;
if (fabs(s)<1)
{y=log(s+1)+t;}
else
{if (fabs(s)>1)
{y=log(fabs(s));;}
}
cout << ("y=") <<(y);
getch();
}
В чем заключается проблема?
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 12:51     Не могу понять, почему? #8
Цитата Сообщение от sovaz1997 Посмотреть сообщение
В чем заключается проблема?
пишет в visual ошибка где то в строке include вот лог
Add directive to 'stdafx.h' or rebuild precompiled header
1>c:\users\никита\documents\visual studio 2013\projects\consoleapplication10\consoleapplication10\consoleapplication10.cpp(2): warning C4627: '#include <iostream.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1>c:\users\никита\documents\visual studio 2013\projects\consoleapplication10\consoleapplication10\consoleapplication10.cpp(3): warning C4627: '#include <conio.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.10.2013, 12:54     Не могу понять, почему? #9
Я так понял, надо было добавить одну директиву:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <math.h>
#include <iostream.h>
#include <conio.h>
#include <stdafx.h>
int main()
{
    float s, t, y;
    cout << (" vvod s:");
    cin >> s;
    cout << (" vvod t:");
    cin >> t;
    if (fabs(s) < 1){
        y = log(s + 1) + t;
    }
    else {
        if (fabs(s) > 1){
            y = log(fabs(s));
        }
    }
    cout << ("y=") << (y);
    getch();
}
P.S. Привык форматировать код
scotty
28 / 28 / 1
Регистрация: 09.09.2012
Сообщений: 131
26.10.2013, 12:54     Не могу понять, почему? #10
ты походу создалне пустой проект а с хедером stdafx.h, а потом удалил его, верно?

P.S. Привык форматировать код
Тебе можно кидать просто код почитать, а в ответ получить уже более читабельный код?)
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 13:00     Не могу понять, почему? #11
не робит... да я создал новый проект, вставил код, больше ничего не трогал.
ссылка на уравнение
https://www.dropbox.com/s/jvdypsbv48...2022.04.15.png
15-ое уравнение
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.10.2013, 13:10     Не могу понять, почему? #12
Цитата Сообщение от scotty Посмотреть сообщение
ты походу создалне пустой проект а с хедером stdafx.h, а потом удалил его, верно?



Тебе можно кидать просто код почитать, а в ответ получить уже более читабельный код?)
Если исправляю ошибки, то форматирую код. Если код ужасен и трудно понять даже его смысл, то переписываю
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 13:12     Не могу понять, почему? #13
Цитата Сообщение от sovaz1997 Посмотреть сообщение
Если исправляю ошибки, то форматирую код. Если код ужасен и трудно понять даже его смысл, то переписываю
У вас ваша версия заработала?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.10.2013, 13:16     Не могу понять, почему? #14
Цитата Сообщение от skihipon Посмотреть сообщение
У вас ваша версия заработала?
Смотря о чем. У меня VS даже нет. Я просто посмотрел ошибку и подумал, как ее исправить)
Если об окружности, то работает
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
26.10.2013, 13:22     Не могу понять, почему? #15
Цитата Сообщение от sovaz1997 Посмотреть сообщение
Смотря о чем. У меня VS даже нет. Я просто посмотрел ошибку и подумал, как ее исправить)
Если об окружности, то работает
Ну я про свою у меня так и не заработало...
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
27.10.2013, 11:47  [ТС]     Не могу понять, почему? #16
Цитата Сообщение от skihipon Посмотреть сообщение
Всем привет... Помогите нужно написать уравнение. Написал но все равно не работает
#include <math.h>
#include <iostream.h>
#include <conio.h>
int main()
{
float s,t,y;
cout << (" vvod s:");
cin >>s;
cout << (" vvod t:");
cin >> t;
if (fabs(s)<1)
{y=log(s+1)+t;}
else
{if (fabs(s)>1)
{y=log(fabs(s));;}
}
cout << ("y=") <<(y);
getch();
}
Задание целиком обозначьте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2013, 14:08     Не могу понять, почему?
Еще ссылки по теме:

C++ Не могу понять почему не работает
Не могу понять почему C++
Не могу понять почему не запускается C++

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

Или воспользуйтесь поиском по форуму:
skihipon
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 10
29.10.2013, 14:08     Не могу понять, почему? #17
В итоге у меня получилось и работает вот это.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include “stdafx.h”
#include “math.h”
#include <iostream.h>
#include <conio.h>
Using namespace std;
int main()
{
float s,t,y;
cout << (" vvod s:");
cin >>s;
cout << (" vvod t:");
cin >> t;
if (fabs(s)<1)
 {y=log(s+1)+t;} 
   else 
   {if (fabs(s)>1)
    {y=log(fabs(s));;}
       }
   cout << ("y=") <<(y);
}
теперь можете помочт убрать if с помощью команды switch
Yandex
Объявления
29.10.2013, 14:08     Не могу понять, почему?
Ответ Создать тему
Опции темы

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