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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
michal3003
1 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 116
#1

С++.Оператор switch. - C++

05.09.2010, 16:04. Просмотров 2532. Ответов 22
Метки нет (Все метки)

Не могу избавиться от ошибки в программном коде.
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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{   short х;
    int a,b,k,c1,c2;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"k=";
    cin>>k;
    cout<<"c1=";
    cin>>c1;
    cout<<"c2=";
    cin>>c2;
    a*x^2+(b-k)*x+(c1-c2)=0;
    switch (x){
    case 0:
    cout<<"Net tochek peresechenia"<<endl;
    break;
    case 1:
    cout<<"Odna tochka peresechenia"<<endl;
    break;
    case 2:
    cout<<"Dve tochki peresechenia"<<endl;
    default:cout<<"Error!\n";
    }
    getch();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2010, 16:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С++.Оператор switch. (C++):

Оператор switch - C++
Возникла проблема. Не хочет высчитываться &quot;v&quot;. Что не так? #include &lt;iostream.h&gt; #include &lt;math.h&gt; main () { int k; double...

оператор switch - C++
КАк сделать чтобы при выборе неправильного ответа во втрой switch программа не в ходила int main(){ char v1; cout &lt;&lt;&quot;Pervui...

Оператор switch и while - C++
Для целого числа к от 1 до 99 напечатать фразу «Мне к лет», учитывая при этом, что при некоторых значениях к слово «лет» надо заменить...

оператор Switch???? - C++
Люди добрые помогите что здесь не так не пойму #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;iostream&gt; using namespace std; ...

оператор switch - C++
Задача весьма проста, необходима для тренировки. Я должен использовать оператор свитч таким образом, что после ввода определенного символа...

Оператор switch - C++
Сделать с помощью оператора switch: a*pow(x+7)-b когда x&lt;5 &amp;&amp; b!=0; (x-c*d)/a*x когда x&gt;5 &amp;&amp; b==0; x/c в других случаях. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.09.2010, 18:58 #16
Цитата Сообщение от Kastaneda Посмотреть сообщение
What is it?
Копипаста
Цитата Сообщение от "Структура и интерпретация компьютерных программ"
Традиционно компьютерные программы организованы как однонаправленные вычисления, выполняющие вычисления над указанными аргументами и получающие указанные значения. С другой стороны, часто системы приходится моделировать в виде отношений между величинами. Например, математическая модель механической структуры может включать информацию, что деформация d металлического стержня связана уравнением dAE = F L с приложенной к нему силой F , его длиной L, поперечным сечением A и модулем упругости E. Такое уравнение не является однонаправленным. Имея любые четыре величины, мы можем вычислить пятую. Однако при переводе уравнения на традиционный компьютерный язык нам придется выбрать величину, которая вычисляется на основе остальных четырех, так что процедура для вычисления площади A не может быть использована для вычисления деформации d, хотя вычисление A и d основаны на одном и том же уравнении.

В этом разделе мы набросаем эскиз языка, который позволит нам работать в терминах самих отношений. Минимальными составляющими этого языка будут служить элементарные ограничения (primitive constraints), которые говорят, что между величинами существуют определенные связи.

По сути, мы задаем отношение между объектами-величинами в виде элементарных ограничений. Приведу примеры из книги. Допустим, есть некоторая операция (элементарное ограничение) multiplier, которая принимает три объекта x, y, z, и связывает их следующим отношением: x * y = z. Теперь, если задать два любых объекта из этого отношения, то вычислится третий объект. То есть, если задать x и z, то вычислится y, если задать x и y, то вычислится z и т.д. С помощью комбинации элементарных ограничений можно составлять более сложные выражения. К примеру, перевод из градусов по Цельсию в градусы по Фаренгейту: 9 * С = 5 * (F - 32). Задавая С, мы вычисляем F, и наоборот. Таким же способом можно было бы решить уравнение ТС.
Вот вроде то же самое на Википедии
1
Kastaneda
05.09.2010, 19:03
  #17

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
По сути, мы задаем отношение...
Ну суть то понятна, а вот как это програмно реализовать?) Ладно, меня на гугле не банят, поищу)))

0
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
05.09.2010, 19:07 #18
Походу как-то так. Мог недомудрить

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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{ 
   short x=2;
   int a,b,k,c1,c2;
   cout<<"a=";
   cin>>a;
   cout<<"b=";
   cin>>b;
   cout<<"k=";
   cin>>k;
   cout<<"c1=";
   cin>>c1;
   cout<<"c2=";
   cin>>c2;
   double newb=b-k;
   int newc=c1-c2;
   x=(pow(newb, 2.0)-4*(a*newc));
   x=(x==0)?1:(x>0)?2:0;
   switch (x)
   {
      case 0:
         cout<<"Net tochek peresechenia"<<endl;
      break;   
      case 1:
         cout<<"Odna tochka peresechenia"<<endl;
      break;
      case 2:
         cout<<"Dve tochki peresechenia"<<endl;
         break;
      default:
         cout<<"Error!\n";
   }
   getch();
   return 0;
}
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.09.2010, 19:09 #19
Kastaneda, в книге примеры реализованы на языке Scheme (если надо, могу привести код, но лучше почитай саму книжку). Реализация на С/С++ будет отличаться, т.к. С/С++ не является функциональным языком программирования. Я думаю, нужно смотреть в сторону ссылок/указателей
0
Брайан
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 7
05.09.2010, 19:15 #20
Я так думаю, что товарищу необходимо найти кол-во точек пересечения параболы y=ax^2+bx+c с прямой y=k*x+c2. Так вот, у квадратного уравнения ДВА корня (поэтому switch (x) не поможет), и всё, что нужно сделать - это посчитать дискриминант D=(b-k)^2 - 4*a*(c1-c2). Если он больше нуля, то две точки пересечения, если равен нулю, то одна, а если меньше нуля, то точек пересечения нет.
0
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
05.09.2010, 19:18 #21
Брайан, Ну это уже сделано. Почему switch то вдруг не поможет?) Вполне)
1
Kastaneda
06.09.2010, 11:16
  #22

Не по теме:

Цитата Сообщение от Брайан Посмотреть сообщение
Я так думаю, что товарищу необходимо найти кол-во точек пересечения параболы y=ax^2+bx+c с прямой y=k*x+c2. Так вот, у квадратного уравнения ДВА корня (поэтому switch (x) не поможет), и всё, что нужно сделать - это посчитать дискриминант D=(b-k)^2 - 4*a*(c1-c2). Если он больше нуля, то две точки пересечения, если равен нулю, то одна, а если меньше нуля, то точек пересечения нет.
Что собственно и написал камрад Lavroff, а суть задания мы еще вчера выяснили)))

1
Брайан
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 7
06.09.2010, 17:39 #23
Switch не поможет, если искать корни непосредственно. Я лично не знаю, как в C++ проверить принадлежность числа к мнимым числам и вообще с ними работать. А с дискриминантом, конечно, всё сработает. Да, я не посмотрел в код, написанный Lavroff'ым, поэтому и отписался)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2010, 17:39
Привет! Вот еще темы с ответами:

Cи++. Оператор switch. - C++
У меня такой вопрос. Есть задача: с 1 января 1990 года по некоторый день прошло n месяцев, определить название месяца текущего. Ну как...

Оператор switch - C++
целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры на английском языке (0 — &quot;zero&quot;, 1 — &quot;one&quot;, 2 — &quot;two&quot;, ...)....

Оператор switch C++ - C++
Помогите с кодом, пожалуйста. На скрине задание.

Оператор switch C++ - C++
Вместо вывода на экран отрицательных значений, работает default. Так же при вводе двухзначного числа выводит первую цифру этого же числа....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.09.2010, 17:39
Ответ Создать тему
Опции темы

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