Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
JjTer
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
1

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

09.02.2014, 04:32. Просмотров 986. Ответов 4
Метки нет (Все метки)

В общем суть задачи такова:
Дан равнобедренный треугольник с катетом - 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) {
Ибо не знаю как толком её сделать, прошу помощи тут, спасибо за понимание.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 04:32
Ответы с готовыми решениями:

По первой букве элемента и его значению найти значения остальных элементов треугольника (используя switch)
Дан прямоугольный равнобедренный треугольник. Его элементами являются: катет,...

Составить программу, которая находит номер элемента, значение которого меньше всего откланяется от среднего значения всех элементов
Дан линейный массив А, что состоит из N действительных чисел. Составить...

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

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

Написать программу бинарного поиска элемента массива равного заданному значению
Помогите написать программу бинарного поиска элемента массива равного заданному...

4
azbest
41 / 41 / 18
Регистрация: 12.03.2013
Сообщений: 148
09.02.2014, 04:55 2
Лучший ответ Сообщение было отмечено JjTer как решение

Решение

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;
}
1
vovacreme
61 / 61 / 33
Регистрация: 14.01.2014
Сообщений: 145
09.02.2014, 05:02 3
Выражение проверки в операторе switch должно иметь целочисленный тип, а у тебя переменная o объявляется в программе, как float, и потом, ты пытаешься сравнить значение float со значением const char, что в принципе в языке С++ невозможно. Вывод: объявить переменную o типа char
1
vovacreme
61 / 61 / 33
Регистрация: 14.01.2014
Сообщений: 145
09.02.2014, 05:02 4
Выражение проверки в операторе switch должно иметь целочисленный тип, а у тебя переменная o объявляется в программе, как float, и потом, ты пытаешься сравнить значение float со значением const char, что в принципе в языке С++ невозможно. Вывод: объявить переменную o типа char
0
JjTer
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
09.02.2014, 15:36  [ТС] 5
Цитата Сообщение от azbest Посмотреть сообщение
C++
1
2
#include <cstdlib>
    setlocale( LC_ALL,"Russian" );  //установка русских шрифтов
Вместо русских шрифтов, кроказябра какая-то
0
09.02.2014, 15:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 15:36

Составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца
Задача 2 Составить программу, которая по данному числу (1-12) выводит название...

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

Массив: Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению.
Вставка в вектор новых элементов 1)Заменить последний из отрицательных...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru