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

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

Войти
Регистрация
Восстановить пароль
 
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
#1

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

31.05.2011, 22:11. Просмотров 830. Ответов 8
Метки нет (Все метки)

Возникла проблема. Не хочет высчитываться "v". Что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h>
#include <math.h>
 
main ()
{
    int k;
    double v, x=0.73, y=0.4, t=2.6, e=0.1;
    cout << "Vvedite znachenie K" << endl;
    cin >> k;
    switch (k)
    {
    case '0': v=x+pow(t,2); break;   
    case '1': v=(x+y)/(1-x*y); break;
    case '3': v=sin(x)+e; break;
cout << "V=" << v << endl;
}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 22:11     Оператор switch
Посмотрите здесь:

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

Оператор Switch - C++
Нужно помощь с этим оператором может быть где-то направильно написал ??? со всеми функциями ответ выходет не верно, &quot;res&quot; - не меняет свое...

оператор switch - C++
С++ начала учить недавно, и многое не понимаю... задачи решаю только по-аналогии.. Задача Составить структурную схему алгоритма и...

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

Оператор switch - C++
Помогите переправить задачу на оператор switch, пож-та. Я написал с предусловием, но как быть со switch'ом не знаю. Вот код с...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 22:17     Оператор switch #2
C++
1
2
3
4
5
6
7
8
9
...
        {
        case '0': v=x+pow(t,2); break;   
        case '1': v=(x+y)/(1-x*y); break;
        case '3': v=sin(x)+e; break;
        }
cout << "V=" << v << endl;
return 0;
}
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
31.05.2011, 22:29  [ТС]     Оператор switch #3
Nursik77, все равно не считает...
выдает при любом вводимом значении
http://s2.ipicture.ru/uploads/20110531/2T6adjGt.png
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 22:38     Оператор switch #4
Интересно, но у меня ваш код работает.
Evg
Эксперт CАвтор FAQ
17545 / 5783 / 370
Регистрация: 30.03.2009
Сообщений: 15,928
Записей в блоге: 26
31.05.2011, 22:40     Оператор switch #5
рiece something, у тебя переменная k имеет тип int, а потому если введёшь в консоли 1 (и enter), то в переменную запишется 1. Но в case'ах у тебя char'овские величины. А '1' и 1 - это две разные вещи
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
31.05.2011, 23:47  [ТС]     Оператор switch #6
Цитата Сообщение от Evg Посмотреть сообщение
Но в case'ах у тебя char'овские величины. А '1' и 1 - это две разные вещи
Как это?
И кстати, поменяла int на char та же проблема.
и еще выдает такой warning:
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\111\111.cpp(19) : warning C4715: 'main' : not all control paths return a value
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
01.06.2011, 00:10     Оператор switch #7
а так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
     int k;
        double v=0.0, x=0.73, y=0.4, t=2.6, e=0.1;
        std::cout << "Vvedite znachenie K\n";
        std::cin >> k;
        switch (k)
        {
           case 0: 
               v=x+pow(t,2); break;   
           case 1: 
               v=(x+y)/(1-x*y); break;
           case 3: 
               v=sin(x)+e; break;
    
           default: std::cout << "error! enter 0, 1 or 3\n"; 
        }
        
        std::cout << "V=" << v << "\n";
CJ_Sashok
Живу от Клика до Клика
34 / 34 / 5
Регистрация: 01.06.2010
Сообщений: 157
01.06.2011, 01:42     Оператор switch #8
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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main ()
{
        int k;
        double v, x=0.73, y=0.4, t=2.6, e=0.1;
        cout << "Vvedite znachenie K" << endl;
        cin >> k;
        switch (k){
        case 0:
            v=x+pow(t,2);
                break;   
        case 1: 
            v=(x+y)/(1-x*y); 
            break;
        case 3: 
            v=sin(x)+e; 
            break;
}
        cout << "V=" << v << endl;
        _getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2011, 09:06     Оператор switch
Еще ссылки по теме:

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

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

Оператор switch - C++
Дан номер телевизионного канала. Вывести на экран наиболее популярные программы этого канала

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


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

Или воспользуйтесь поиском по форуму:
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
01.06.2011, 09:06  [ТС]     Оператор switch #9
grrrrr, работает. и ваша, CJ_Sashok, тоже. В принципе и моя заработала, когда я
Цитата Сообщение от рiece something Посмотреть сообщение
cout << "V=" << v << endl;
за фигурные скобки вынесла.
Большое всем спасибо.

Только, если я ввожу другое значение (не 0,1 или 3) пишет, что решений нет, но все равно выдает решение по последней формуле.
Yandex
Объявления
01.06.2011, 09:06     Оператор switch
Ответ Создать тему
Опции темы

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