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

Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. - C++

Восстановить пароль Регистрация
 
JjTer
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
09.02.2014, 04:32     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. #1
В общем суть задачи такова:
Дан равнобедренный треугольник с катетом - a, гиппотенузой - b, высотой - h и площадью - s, и, нужно составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника.

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

Вот примерно что я накидал, знаю что со switch сделал что-то не совсем то, и скорее всего всё очень коряво, но учу си лишь неделю)

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
#include <cstdlib>
#include <iostream>
#include <iostream.h>
#include "math.h"
 
 
using namespace std;
 
int main(int argc, char *argv[])
{
    float a,b,h,s,o;
    cout<<"\n a="; cin>>a;
    cout<<"\n b="; cin>>b;
    cout<<"\n h="; cin>>h;
    cout<<"\n s="; cin>>s;
    cout<<"\n vvedite o"; cin>>o;
switch (o) {
case 'a': {
     b=a*pow(2,1./3); cout<<b;
     h=(a*pow(2,1./3))/2; cout<<h;
     s=(2*pow(a,2))/4; cout<<s;break;
}
case 'b': {
     a=b/(pow(2,1./2)); cout<<a;
     h=(1./2)*b; cout<<h;
     s=(pow(b,2))/4; cout<<s;break;
}
case 'h': {
     b=2*h; cout<<h;
     a=h*pow(2,1./2); cout<<a;
     s=pow(h,2); cout<<s;break;
}
case 's': {
     b=(pow(s,1./2))/2; cout<<b; 
     h=(pow(s,1./2)); cout<<h;
     a=pow((s/2),1./2); cout<<a; break;
}
       
}
    system("PAUSE >> void");
    return EXIT_SUCCESS;
}
больше всего напрягает вот эта строчка
C++
1
2
cout<<"\n vvedite o"; cin>>o;
switch (o) {
Ибо не знаю как толком её сделать, прошу помощи тут, спасибо за понимание.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 04:32     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника.
Посмотрите здесь:

Составить программу, которая вычисляет количество элементов одномерного массива Х, состоящего из 15 вещественных чисел, которые равняются по значению C++
C++ Составить программу, которая находит номер элемента, значение которого меньше всего откланяется от среднего значения всех элементов
C++ Напечать число, которое меньше максимального элемента,но больше всех остальных элементов
C++ Структура: Разработать программу, которая по заданному значению параметра St находит соответствующий элемент массива
C++ Массив: Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
azbest
 Аватар для azbest
36 / 36 / 7
Регистрация: 12.03.2013
Сообщений: 141
09.02.2014, 04:55     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <cstdlib>
#include <iostream>
#include <iostream>
#include "math.h"
 
 
 
using namespace std;
 
int main()
{
    setlocale( LC_ALL,"Russian" );  //установка русских шрифтов
    char o;                         //символьная переменная для выбора
    // Твоя ошибка была в том что в свич нельзя подставлять неперечисляемые типы данных
    float x;  //достаточно одной переменной
    cout << "Выберите один из вариантов (a,b,h,s) ";
    cin >> o;
 
switch (o) {
case 'a': {
     cout << "Введите значение а = ";
     cin >> x;
     cout << "b= " << x*pow(2,1./3) << endl;
     cout << "h= " << (x*pow(2,1./3))/2 << endl;
     cout << "s= " << (2*pow(x,2))/4 << endl;
     break;
}
case 'b': {
     cout << "Введите значение b = ";
     cin >> x;
     cout << "a= " << x/(pow(2,1./2)) << endl;
     cout << "h= " << (1./2)*x << endl;
     cout << "s= " << (pow(x,2))/4 << endl;
     break;
}
 
// тут остальные .....
 
default: cout << "Некорректный ввод" << endl; //если пользователь введет что-то что не описано вариантами выбора (например "u")
}
    system("PAUSE >> void");
    return EXIT_SUCCESS;
}
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
09.02.2014, 05:02     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. #3
Выражение проверки в операторе switch должно иметь целочисленный тип, а у тебя переменная o объявляется в программе, как float, и потом, ты пытаешься сравнить значение float со значением const char, что в принципе в языке С++ невозможно. Вывод: объявить переменную o типа char
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
09.02.2014, 05:02     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. #4
Выражение проверки в операторе switch должно иметь целочисленный тип, а у тебя переменная o объявляется в программе, как float, и потом, ты пытаешься сравнить значение float со значением const char, что в принципе в языке С++ невозможно. Вывод: объявить переменную o типа char
JjTer
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
09.02.2014, 15:36  [ТС]     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. #5
Цитата Сообщение от azbest Посмотреть сообщение
C++
1
2
#include <cstdlib>
    setlocale( LC_ALL,"Russian" );  //установка русских шрифтов
Вместо русских шрифтов, кроказябра какая-то
Yandex
Объявления
09.02.2014, 15:36     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника.
Ответ Создать тему
Опции темы

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