Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 1 / 2
Регистрация: 29.09.2018
Сообщений: 30
1

Вычисление параметров треугольника

29.09.2018, 21:49. Показов 2320. Ответов 12

Author24 — интернет-сервис помощи студентам
Всем привет! Вобщем задали сделать код программы, но когда доходит до case, то не соображу как делать. Прошу помочь, заранее спасибо.
Вот условие - Пусть элементами прямоугольного равнобедренного треугольника являются: катет a; гипотенуза b; высота, опущенная из вершины прямого угла на гипотенузу h; площадь S. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2018, 21:49
Ответы с готовыми решениями:

Расчёт всех параметров треугольника
Задаются 2 стороны и угол между ними. По этим данным надо посчитать все параметры. Проблема:...

Вычисление параметров треугольника
Толком фортран не знаю...надо другу помочь...помогите, пожалуйста

Функция: вычисление площади произвольного треугольника по заданным трем сторонам треугольника
Написать функцию, вычисляющую площадь произвольного треугольника по заданным трем сторонам...

Задача расчет параметров треугольника
Помогите решить задачу в Excel . Сама задача на фотографии.

12
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
29.09.2018, 22:10 2
Цитата Сообщение от Porthack Посмотреть сообщение
когда доходит до case,
Видимо, какие-то наброски кода у вас есть... Так чтож не поделиться?
1
5 / 4 / 4
Регистрация: 29.05.2018
Сообщений: 24
29.09.2018, 22:47 3
Лучший ответ Сообщение было отмечено Porthack как решение

Решение

Ну, если меня не подводят школьные знания, то как-то так
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
#include <iostream>
#include <conio.h>
#include <cmath>
 
using namespace std;
 
void enter(float c, float h, float a, float s){
    cout << "Катеты: " << c << "\nГипотенуза: " << h << "\nВысота: " << a << "\nПлощадь: " << s;
}
 
void calculation(char c, int sz){
    int cath, hyp, alt, squ;
    switch(sz){
        case 'c': {
            cath = sz;
            squ = (cath * cath) / 2;
            alt = sqrt((cath * cath) / 2);
            hyp = 2 * alt;
            break;
        }
        case 'h':{
            hyp = sz;
            alt = hyp / 2;
            cath = sqrt(2 * alt * alt);
            squ = (cath * cath) / 2;
            break;
        }
        case 'a':{
            alt = sz;
            cath = sqrt(2 * alt * alt);
            squ = (cath * cath) / 2;
            hyp = 2 * alt;
            break;
        }
        case 's':{
            squ = sz;
            cath = sqrt(2 * squ);
            alt = sqrt((cath * cath) / 2);
            hyp = 2 * alt;
            break;
        }
    }
    enter(cath, hyp, alt, squ);
}
int main()
{
    setlocale(LC_ALL, "rus");
    char c;
    float size_;
    cout << "Введите компонент: "; c = _getche();
    cout << "\nВведите размер: "; cin >> size_;
    calculation(c, size_);
}
Единственное, вычисляет не с десятичной точкой, не знаю, как это решить...
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
29.09.2018, 23:19 4
Цитата Сообщение от ReturnYou Посмотреть сообщение
вычисляет не с десятичной точкой, не знаю, как это решить...
Объяви переменные как float. А лучше - double. А о float - забудь. Навсегда.
1
5 / 4 / 4
Регистрация: 29.05.2018
Сообщений: 24
29.09.2018, 23:23 5
Байт, с double та же ситуация, я в смысле, что числа выводятся в виде 4.47e+1 и подобные
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
29.09.2018, 23:35 6
Цитата Сообщение от ReturnYou Посмотреть сообщение
числа выводятся в виде 4.47e+1 и подобные
Есть у cout какие-то модификаторы. Точно не знаю какие. Честно. Не пользуюсь. Но ты пошукай...
1
5 / 3 / 2
Регистрация: 23.10.2016
Сообщений: 45
30.09.2018, 00:40 7
Эм я не волшебник, только учусь, но...
1)Сменить все float на double, и проследить чтобы нигде double в int не мутировал.
2) int cath, hyp, alt, squ; не знаю как у вас, но у меня компилятор возмущался почему данные обьекты используются,но не обьявленны. Я поменял на double cath(0), hyp(0), alt(0), squ(0);
3)
calculation(c, size_);
void calculation(char c, int sz)
switch(sz)
Если непонятно-ты перепутал кажись местами ЧИСЛОВОЕ ЗНАЧЕНИЕ ПАРАМЕТРА ТРЕУГОЛЬНИКА и CHAR ОБОЗНАЧАЮЩИЙ ВЫБРАННЫЙ ПАРАМЕТР.

После этого вроде должно наступить счастье.
0
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
30.09.2018, 01:48 8
Цитата Сообщение от Байт Посмотреть сообщение
А о float - забудь. Навсегда.
Почему?
0
5 / 4 / 4
Регистрация: 29.05.2018
Сообщений: 24
30.09.2018, 07:11 9
sobran, упсссс... точняк, под вечер делал, голова не варила нормально
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
30.09.2018, 08:25 10
ReturnYou, Вашу программу надо слегка модифицировать.
Проще всего это сделать, если параметры треугольника будут глобальными:
C++
1
2
3
4
5
6
7
8
9
double cath, hyp, alt, squ; // глобальные параметры треугольника
 
void out() { // имеет смысл переименовать, т.к. enter - это ввод, а тут - вывод
    cout << "Катеты: " << cath << "\nГипотенуза: " << hyp << "\nВысота: " << alt << "\nПлощадь: " << squ;
}
 
void calculation(char c, int sz) {
    switch (sz) {
.....
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.09.2018, 10:27 11
Цитата Сообщение от New man Посмотреть сообщение
Сообщение от Байт
А о float - забудь. Навсегда.
Почему?
1. Очень невелика точность
2.Все функции пакета math работают с double. В итоге
C++
1
2
float a, b; 
b = sqrt*a);
приводит к двукратному преобразованию типов.
Из преимуществ - копеечная экономия памяти. И та съедается выравниваем.
0
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
01.10.2018, 00:01 12
Байт, ну, я работаю почти всегда с UnrealEngine, а там своя математическая библиотека, которая оперирует только с float, так что у меня проблем с преобразованиями нет
0
2 / 1 / 2
Регистрация: 29.09.2018
Сообщений: 30
24.10.2018, 21:56  [ТС] 13
Всем спасибо за помощь.
0
24.10.2018, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2018, 21:56
Помогаю со студенческими работами здесь

Задача расчет параметров треугольника
Помогите решить задачу в Access. Сама задача на фотографии.

Определение указанных параметров треугольника
Помогите решить задачи: 1. Составить программу для определения указанных ниже параметров...

Создать модуль определения параметров треугольника
Ребят, помогите с модулем пожалуйсто. Создать модуль Triangle, который можно использовать в разных...

Вывести значения неизвестных параметров данного треугольника
Помогите решить пожалуйста на Eclipse эту задачу (использую оператор Case) Элементы...

Написать класс для вычисления следующих параметров прямоугольного треугольника
2. Написать класс для вычисления следующих параметров прямоугольного треугольника: • гипотенузы;...

Составить блок-схему алгоритма и программу вычисления недостающих параметров треугольника
Рассматривается треугольник АВС, для которого определен следующий набор характерных параметров:...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru