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

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

Войти
Регистрация
Восстановить пароль
 
 
Алена_Коваленко
Заблокирован
#1

Switch - C++

23.02.2014, 00:33. Просмотров 533. Ответов 16
Метки нет (Все метки)

Ошибка в 19 строке:
Код
 n cannot appear in a constant-expression
(потому что n это переменная?).
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
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL , "Russian");
    const double x=0.5, a=4.3, y=2.6, d=0.3;
    int n;
    double v;
    bool f=true;
    cout << "Ââåäèòå n (äîñòóïГ*ûå Г§Г*Г*Г·ГҐГ*ГЁГї: 1,2,5)"<<endl;
    cin >> n;
    
    switch (n)
    {
           case n=2: v=1.5*x+9*x*x+1.25; break;
           case n=5: v=d+a*(sin(x)*180/PI);break;
           case n=1: v=(a-x+y)/d;break;
           default:  cout << "ГЌГҐГІ ðåøåГ*ГЁГї";
                     f=false;
           if (f) cout << "Г‡Г*Г*Г·ГҐГ*ГЁГҐ v="<<v;
    }
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 00:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Switch (C++):

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

While{switch{switch{break;}}} break выходит из while - C++
В общем необходимо конструкцию switch запускать в цикле, в каждом case X: стоит свой break;, да бы выполнился один case, а не все. Проблема...

Switch case внутри switch case - C++
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл while, внутри которого у меня switch...

Switch - C++
Определить порядковый номер того дня високосного года, который имеет заданую дату и месяц. В программе воспользоваться командой &quot;switch&quot;. ...

switch - C++
switch (k) { case 1 : printf(rus(&quot;Выход\n&quot;)); break; case 2 : printf(rus(&quot;Загрузить\n&quot;)); break; case 3 :...

switch - C++
5. как пользоваться switch()

16
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 319
Записей в блоге: 1
23.02.2014, 00:34 #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
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL , "Russian");
    const double x=0.5, a=4.3, y=2.6, d=0.3;
    int n;
    double v;
    bool f=true;
    const int PI=3.14;
    cout << "Введите n (доступные значения: 1,2,5)"<<endl;
    cin >> n;
    
    switch (n)
    {
           case 2: v=1.5*x+9*x*x+1.25; break;
           case 5: v=d+a*(sin(x)*180/PI);break;
           case 1: v=(a-x+y)/d;break;
           default:  cout << "Нет решения";
                     f=false;
           if (f) cout << "Значение v="<<v;
    }
    _getch();
    return 0;
}
0
Алена_Коваленко
Заблокирован
23.02.2014, 00:37  [ТС] #3
Цитата Сообщение от Miwa123 Посмотреть сообщение
const int PI=3.14;
У меня если добавить эту строчку, то появляется ошибка.
И Пи нужно обязательно прописывать?

И почему пишется int если 3,14 это не целое число.
0
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 319
Записей в блоге: 1
23.02.2014, 00:38 #4
Уберите ее и замените PI на 3.14
0
S_el
2125 / 1652 / 311
Регистрация: 15.12.2013
Сообщений: 6,483
23.02.2014, 00:40 #5
Цитата Сообщение от Алена_Коваленко Посмотреть сообщение
У меня если добавить эту строчку, то появляется ошибка.
Какая ошибка?
0
Алена_Коваленко
Заблокирован
23.02.2014, 00:43  [ТС] #6
S_el, converting to int from double

Добавлено через 1 минуту
Цитата Сообщение от Miwa123 Посмотреть сообщение
Уберите ее и замените PI на 3.14
Заменила, ошибка та же.
0
S_el
2125 / 1652 / 311
Регистрация: 15.12.2013
Сообщений: 6,483
23.02.2014, 00:43 #7
Ну естественно,это-же int а вы его как double хотите...
0
Алена_Коваленко
Заблокирован
23.02.2014, 00:44  [ТС] #8
S_el, в смысле?
0
S_el
2125 / 1652 / 311
Регистрация: 15.12.2013
Сообщений: 6,483
23.02.2014, 00:46 #9
Цитата Сообщение от Алена_Коваленко Посмотреть сообщение
S_el, в смысле?
В прямом.int-целочисленное.
0
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 319
Записей в блоге: 1
23.02.2014, 00:47 #10
C++
1
const double PI=3.14;
извиняюсь. тупанул я
0
Алена_Коваленко
Заблокирован
23.02.2014, 00:48  [ТС] #11
S_el, я поняла что int это целочисленное. Имею ввиду кого я хочу как double.

Добавлено через 1 минуту
Цитата Сообщение от Miwa123 Посмотреть сообщение
const double PI=3.14;
Бывает))) Но на 19 строку значение Pi не влияет же....)
0
S_el
2125 / 1652 / 311
Регистрация: 15.12.2013
Сообщений: 6,483
23.02.2014, 00:51 #12
Цитата Сообщение от Алена_Коваленко Посмотреть сообщение
S_el, я поняла что int это целочисленное. Имею ввиду кого я хочу как double.
int.
0
Алена_Коваленко
Заблокирован
23.02.2014, 00:54  [ТС] #13
S_el, это наверно уже выглядит глупо, но я не понимаю
0
S_el
2125 / 1652 / 311
Регистрация: 15.12.2013
Сообщений: 6,483
23.02.2014, 00:57 #14
Цитата Сообщение от Алена_Коваленко Посмотреть сообщение
это наверно уже выглядит глупо, но я не понимаю
Уже не актуально,но все равно объясню,в первом варианте кода PI было объявлено как int,а вы хотели туда поместить double.

Добавлено через 38 секунд
А зачем вам 12,13,23,24 строчки кода?
0
Алена_Коваленко
Заблокирован
23.02.2014, 01:03  [ТС] #15
S_el, действительно, 12 не нужна.
13,23,24 при вводе неправильных значений чтоб не выводилась строка Значение v.
0
23.02.2014, 01:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2014, 01:03
Привет! Вот еще темы с ответами:

Switch C++ - C++
Всем привет К примеру есть (на Дэлфи): Case a of 1..5: begin ..... end; т.е. сработает на числах от 1 до 5. нужно эту же запись...

switch - C++
Помогите!!

switch - C++
swith(n) { case 1: { return 0; // Надо ли в этом случае писать break ? // В каких случаях работа будет нарушена ? } }

switch - C++
switch(user_selection){ case 1: mainMenu.switchMenu(user_selection); break; case 2: mainMenu.switchMenu(user_selection); break; case...


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

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

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