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

Оператор switch

31.05.2011, 22:11. Просмотров 862. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 22:11
Ответы с готовыми решениями:

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

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

Оператор switch
целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры...

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

С++.Оператор switch.
Не могу избавиться от ошибки в программном коде. #include &lt;iostream&gt; #include...

8
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 22:17 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;
}
0
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
31.05.2011, 22:29  [ТС] 3
Nursik77, все равно не считает...
выдает при любом вводимом значении
http://s2.ipicture.ru/uploads/20110531/2T6adjGt.png
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 22:38 4
Интересно, но у меня ваш код работает.
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
31.05.2011, 22:40 5
рiece something, у тебя переменная k имеет тип int, а потому если введёшь в консоли 1 (и enter), то в переменную запишется 1. Но в case'ах у тебя char'овские величины. А '1' и 1 - это две разные вещи
0
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
31.05.2011, 23:47  [ТС] 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
0
grrrrr
45 / 45 / 13
Регистрация: 21.04.2009
Сообщений: 265
01.06.2011, 00:10 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";
0
CJ_Sashok
Живу от Клика до Клика
34 / 34 / 5
Регистрация: 01.06.2010
Сообщений: 157
01.06.2011, 01:42 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;
}
0
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
01.06.2011, 09:06  [ТС] 9
grrrrr, работает. и ваша, CJ_Sashok, тоже. В принципе и моя заработала, когда я
Цитата Сообщение от рiece something Посмотреть сообщение
cout << "V=" << v << endl;
за фигурные скобки вынесла.
Большое всем спасибо.

Только, если я ввожу другое значение (не 0,1 или 3) пишет, что решений нет, но все равно выдает решение по последней формуле.
0
01.06.2011, 09:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2011, 09:06

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

Оператор Switch
Нужно помощь с этим оператором может быть где-то направильно написал ??? со...

Оператор switch
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату ...


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

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

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