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

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

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

не могу разобраться со switch. - C++

17.04.2012, 13:21. Просмотров 318. Ответов 5
Метки нет (Все метки)

мне надо переделать программу через 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
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main ()
 
{
float y, t, a ;
cout << "a=" ;
cin>> a ;
cout << "t=" ;
cin>> t ;
int h;
h=a;
switch(h);
        {
        case a<t:
        y=sin(t-1)+2 ;
        break;
        default:
        y=e+4 ;
        break;
        }
cout<<"y="<<y;
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 13:21     не могу разобраться со switch.
Посмотрите здесь:

C++ Помогите разобраться с switch
Не могу разобраться с задачей C++
C++ Помогите пожалуйста разобраться с Switch case
Не могу понять как написать в switch - если значение не действительно C++
С циклом for не могу разобраться C++
не могу разобраться с вектором C++
Не могу разобраться со строками C++
C++ Не могу разобраться с NetBeans C++
C++ Не могу разобраться с кодом
C++ Не могу разобраться с ошибкой
Не могу разобраться с циклом C++
Не могу победить switch C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
17.04.2012, 13:32     не могу разобраться со switch. #2
Цитата Сообщение от Nac Посмотреть сообщение
switch(h);
У switch есть тело. Зачем тут точка с запятой?
Цитата Сообщение от Nac Посмотреть сообщение
case a<t:
В case должна быть константа.
Цитата Сообщение от Nac Посмотреть сообщение
y=e+4 ;
Что такое e ?
Nac
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 5
17.04.2012, 13:56  [ТС]     не могу разобраться со switch. #3
Цитата Сообщение от lazybiz Посмотреть сообщение
У switch есть тело. Зачем тут точка с запятой?
тут косяк понятен, исправил.
Цитата Сообщение от lazybiz Посмотреть сообщение
В case должна быть константа.
и как мне переделать что бы смысл остался, просто надо что бы при a<t решался один пример, а в другом случае другой.
Цитата Сообщение от lazybiz Посмотреть сообщение
Что такое e ?
я если честно не знаю, через if , else программа работает, не спрашивая про e.
если щас разберусь с case то можно сказать что сделал, e найду где ни будь и подставлю в пример.
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
17.04.2012, 14:01     не могу разобраться со switch. #4
Цитата Сообщение от Nac Посмотреть сообщение
и как мне переделать что бы смысл остался, просто надо что бы при a<t решался один пример, а в другом случае другой.
Для такого случая есть if и else.
Nac
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 5
17.04.2012, 14:04  [ТС]     не могу разобраться со switch. #5
Цитата Сообщение от lazybiz Посмотреть сообщение
Для такого случая есть if и else.
проблема в том что мне надо переделать через switch, через if и else делалось. могу скинуть текст программы которую нужно переделать через switch.
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
17.04.2012, 14:09     не могу разобраться со switch. #6
Держи, но это извращение.
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
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
using namespace std;
 
int main ()
{
    int h;
    float y, t, a, e = 2.7182818284f;
 
    cout << "a = ";
    cin >> a;
    cout << "t = ";
    cin >> t;
 
    h = a < t;
    switch ( h ) {
        case 1:
            y = sin( t - 1 ) + 2;
            break;
 
        default:
            y = e + 4;
            break;
    }
    cout << "y = " << y;
    getch();
}
Yandex
Объявления
17.04.2012, 14:09     не могу разобраться со switch.
Ответ Создать тему
Опции темы

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