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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
JjTer
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
#1

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

09.02.2014, 04:32. Просмотров 771. Ответов 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) {
Ибо не знаю как толком её сделать, прошу помощи тут, спасибо за понимание.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 04:32     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника.
Посмотрите здесь:
C++ По первой букве элемента и его значению найти значения остальных элементов треугольника (используя switch)
C++ Составить программу, которая находит номер элемента, значение которого меньше всего откланяется от среднего значения всех элементов
C++ Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве
Составить программу, которая вычисляет количество элементов одномерного массива Х, состоящего из 15 вещественных чисел, которые равняются по значению C++
C++ Написать программу бинарного поиска элемента массива равного заданному значению
C++ Составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца
C++ Структура: Разработать программу, которая по заданному значению параметра St находит соответствующий элемент массива
C++ Массив: Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению.
C++ Напечать число, которое меньше максимального элемента,но больше всех остальных элементов
C++ Задача через функцию (составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца)
Составить программу, которая превращает неупорядоченные массивы В [16] и С [20] по заданному алгоритму. C++
Составить программу, которая определяет углы треугольника со сторонами а, b, с C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
azbest
41 / 41 / 8
Регистрация: 12.03.2013
Сообщений: 148
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     Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника.
Ответ Создать тему
Опции темы

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