Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Класс трекгольников 
:(
    Опции темы
sasha1212
Дата 12.12.2014, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 11.3.2014

Репутация: нет
Всего: нет



Нужно создать класс,описывающий треугольники.Найти площадь треугольника.Программа не работает,компилятор выдает ошибки.Помогите пожалуйста исправить ошибки

Код

#include <stdio.h>
#include <conio.h>
#include <math.h>
 
 
class Triangle             //
 Triangle::Triangle(const Triangle&){
private:  int stor1,stor2,stor3;   // стороны треугольника
 
public : Triangle()                          // Triangle::Triangle()// candidate expects 0 arguments, 3 provided
{
printf("Bbedite storoni treygolnika:\n");
scanf("%d %d %d",&stor1,&stor2,&stor3);
}
public: float ploshad()
         {
            
        float s,p;
        s=0;
        p=0;
             if(YesTriangle())  
                     {
                        p=(stor1+stor2+stor3)/2;
    s=sqrt(p * (p - stor1) * (p - stor2) * (p - stor3));//вычисление площади по формуле Герона
                     }
           else
           {
            printf("Triangle dont exist");
            s=-1;
           }
        return s;
         }
 
private: bool YesTriangle()
    {
        if(stor1+stor2>stor3 && stor1+stor3>stor2 && stor2+stor3>stor1)
                 return true;
        else
                 return false;         
    }
 
};
 
 
int main()
{
  int aa,bb,cc;
  float w;
  printf("Vvedite storoni :");
  scanf("%d %d %d",&aa,&bb,&cc);
  Triangle Triangle (aa,bb,cc);                  //no matching function for call to 'Triangle::Triangle(int&, int&, int&)'
                                                          // candidates are:
  w=ploshad();                      // 'ploshad' was not declared in this scope
  printf("Ploshad ravna %f",w);
  getch();
}

PM MAIL   Вверх
baldman88
Дата 12.12.2014, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 18.1.2009

Репутация: 1
Всего: 7



Во-первых у вас конструктор не принимает параметров, а вы ему передаете. Во-торых функция для поиска площади должна вызываться через имя экземпляра. Да и вообще как-то все печально. А если вместо числа введут букву или что-то еще? Использовать scanf в конструкторе не очень удачная идея.
Так, вроде, должно работать:
Код

#include <stdio.h>
#include <conio.h>
#include <math.h>
 
 
class Triangle
{
public:
    Triangle()
    {
        printf("Bbedite storoni treygolnika:\n");
        scanf("%d %d %d", &stor1, &stor2, &stor3);
    }

    float ploshad()
    {            
        float s, p;
        s = 0;
        p = 0;
        if (YesTriangle())  
        {
            p = (stor1 + stor2 + stor3)/2;
            s = sqrt(p * (p - stor1) * (p - stor2) * (p - stor3));
        }
        else
        {
            printf("Triangle dont exist");
            s = -1;
        }
        return s;
    }
 
private:
    int stor1, stor2, stor3;
 
    bool YesTriangle()
    {
        if (((stor1 + stor2) > stor3) &&
            ((stor1 + stor3) > stor2) &&
            ((stor2 + stor3) > stor1))
        {
            return true;
        }
        else
        {
            return false;         
        }
    }
};
 
 
int main()
{
    Triangle triangle;
    printf("Ploshad ravna %f", triangle.ploshad());
    getch();
    return 0;
}


PM MAIL   Вверх
sQu1rr
Дата 12.12.2014, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 3
Всего: 13



1. Вы плодите темы http://forum.vingrad.ru/forum/topic-381157.html
2. Вы мешаете транслит с английским
Код

class Triangle // английский
int stor1,stor2,stor3; // транслит
printf("Bbedite storoni treygolnika:\n"); // wtf
YesTriangle() // ДА! Треугольник
printf("Triangle dont exist"); // вроде английский, но doesn't а не dont

3. Ваше форматирование ужасное

Вообщем, займитесь полезными делами, выучите С++ по книгам хорошим, не знаю
PM MAIL Skype GTalk   Вверх
sasha1212
Дата 12.12.2014, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 11.3.2014

Репутация: нет
Всего: нет



baldman88, спасибо,теперь все нормально работает.
Знаю,что код ужасный,только учусь
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.