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

Помогите дописать часть программы. - C++

Восстановить пароль Регистрация
 
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 21:25     Помогите дописать часть программы. #1
Привет всем еще раз)) Вот условие задачи:
Написать программу, выводящую на экран площадь прямоугольника, если известны длины его сторон. Основная программа запрашивает длины сторон, передает их в функцию и выводит результат или сообщение об ошибке. Функция определяет и возвращает площадь или -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
#include <iostream>
#include <math.h>
using namespace std;
 
 void func(int a, int b, int c, int p)
  { cout << "\n Ploschad' treugol'nika: ";
    cout << sqrt(p*(p-a)*(p-b)*(p-c)) << "\n";
  }
 
int main(void)
 { int a; //сторона a
   int b; //сторона b
   int c; //сторона с
   int p; //полупериметр треугольника
   cout << "Vvedite storonu a:";
   cin >> a;
   cout << "Vvedite storonu b:";
   cin >> b;
   cout << "Vvedite storonu c:";
   cin >> c;
   p = (a + b +c)/2;
   func(a, b, c, p );
   system("pause");
}
осталось только дописать кусочек программы, который выводит сообщения об ошибке) (Это когда хотя бы одна из сторон отрицательна)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
16.10.2011, 21:29     Помогите дописать часть программы. #2
че то ты в условии пишешь найти площадь прямоугольника, в задаче ищешь площадь треуголника
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 21:32  [ТС]     Помогите дописать часть программы. #3
fort-_-minor, ну так и есть...мне осталось исключить отрицательные стороны.
FtarG
 Аватар для FtarG
128 / 128 / 6
Регистрация: 02.11.2010
Сообщений: 316
16.10.2011, 21:33     Помогите дописать часть программы. #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
#include <iostream>
#include <math.h>
using namespace std;
 
 int func(int a, int b, int c, int p)
  { 
    if(a > 0 && b > 0 && c > 0 && p > 0)
    {
        cout << "\n Ploschad' treugol'nika: ";
        cout << sqrt(p*(p-a)*(p-b)*(p-c)) << "\n";
    }
    else
        return -1;
  }
 
int main(void)
 { int a; //сторона a
   int b; //сторона b
   int c; //сторона с
   int p; //полупериметр треугольника
   cout << "Vvedite storonu a:";
   cin >> a;
   cout << "Vvedite storonu b:";
   cin >> b;
   cout << "Vvedite storonu c:";
   cin >> c;
   p = (a + b +c)/2;
   if(func(a, b, c, p ) == -1)
   {
      cout << "\n Vvedeni nevernie parametri";
   }
   system("pause");
}
только вот код у тебя и задание не очень то согласуются =)
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 21:35  [ТС]     Помогите дописать часть программы. #5
FtarG, почему это не согласуются?)
FtarG
 Аватар для FtarG
128 / 128 / 6
Регистрация: 02.11.2010
Сообщений: 316
16.10.2011, 21:38     Помогите дописать часть программы. #6
Цитата Сообщение от fort-_-minor Посмотреть сообщение
че то ты в условии пишешь найти площадь прямоугольника, в задаче ищешь площадь треуголника
За меня уже сказали =)

Добавлено через 1 минуту
Цитата Сообщение от Вася1q Посмотреть сообщение
Функция определяет и возвращает площадь или -1, если введены неверные данные.
Плюс функция у тебя не возвращает площадь, а на экран ее выводит, так что по условию задачи она void не может быть...
Но это поправить не проблема =)
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 21:41  [ТС]     Помогите дописать часть программы. #7
FtarG, ну тогда помоги исправить пожалуйста)
FtarG
 Аватар для FtarG
128 / 128 / 6
Регистрация: 02.11.2010
Сообщений: 316
16.10.2011, 21:50     Помогите дописать часть программы. #8
компилятора под рукой нет, но вроде так:
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 <iostream>
#include <math.h>
using namespace std;
 
 double func(int a, int b, int c)
  {
    double p; //полупериметр треугольника
    p = (a + b +c)/2;
    if(a > 0 && b > 0 && c > 0 && p > 0)
        return sqrt(p*(p-a)*(p-b)*(p-c)) << "\n";
    else
        return -1.0;
  }
 
int main(void)
 { int a; //сторона a
   int b; //сторона b
   int c; //сторона с
   double result;
   cout << "Vvedite storonu a:";
   cin >> a;
   cout << "Vvedite storonu b:";
   cin >> b;
   cout << "Vvedite storonu c:";
   cin >> c;
   result = func(a, b, c );
   if(result == -1.0)
   {
      cout << "\n Vvedeni nevernie parametri";
   }
   else
   {
      cout << "\n Ploschad' treugol'nika: ";
      cout << result;
   }
   system("pause");
}
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 21:56  [ТС]     Помогите дописать часть программы. #9
Ах..ну да площадь ПРЯМОУГОЛЬНИКА)) это же еще легче))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
using namespace std;
 
 void func(int a, int b)
  { cout << "\nPloschad' pryamougol'nika: ";
    cout << a*b << "\n";
  }
 
int main(void)
 { int a; //сторона a
   int b; //сторона b
   cout << "Vvedite storonu a:";
   cin >> a;
   cout << "Vvedite storonu b:";
   cin >> b;
   func(a, b);
   system("pause");
}
помогите теперь тут исключить неверные данные
FtarG
 Аватар для FtarG
128 / 128 / 6
Регистрация: 02.11.2010
Сообщений: 316
16.10.2011, 22:02     Помогите дописать часть программы. #10
Эх, Василий! Ленитесь, все есть в коде выше...
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
#include <iostream>
#include <math.h>
using namespace std;
 
int func(int a, int b)
{
   if(a > 0 && b > 0) return a*b;
   else return -1;
}
 
int main(void)
{ 
   int a; //сторона a
   int b; //сторона b
   int result;
   cout << "Vvedite storonu a:";
   cin >> a;
   cout << "Vvedite storonu b:";
   cin >> b;
   result = func(a, b);
   if(result != -1)
   {
      cout << "\nPloschad' pryamougol'nika: ";
      cout << result << "\n";
   }
   else cout << "\nParametri nevernie!";
   system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2011, 22:09     Помогите дописать часть программы.
Еще ссылки по теме:

C++ Помогите дописать игру
C++ Помогите дописать программу на использование структур
Помогите дописать программу C++

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

Или воспользуйтесь поиском по форуму:
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.10.2011, 22:09  [ТС]     Помогите дописать часть программы. #11
FtarG, Большое вам спасибо)))
Yandex
Объявления
16.10.2011, 22:09     Помогите дописать часть программы.
Ответ Создать тему
Опции темы

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