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

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

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

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

18.11.2012, 14:54. Просмотров 297. Ответов 2
Метки нет (Все метки)

Задача весьма проста, необходима для тренировки. Я должен использовать оператор свитч таким образом, что после ввода определенного символа он добавляет +1 определенной переменной. Вот код:
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
#include <iostream>
using namespace std;
enum {a, b, c, d};
int main()
{
    char ch;
    cout<<"Please, enter a symbol A-D: ";
    int a_grade,b_grade;
    int c_grade,d_grade;
    a_grade=b_grade=0;
    c_grade=d_grade=0;
    cin>>ch;
    while(ch>=a && ch<=d)   {
    switch(ch)  {
        case a: a_grade++;
            cout<<"a_grade!";
            break;
        case b: b_grade++;
            cout<<"b_grade!";
            break;
        case c: c_grade++;
            cout<<"c_grade!";
            break;
        case d: d_grade++;
            cout<<"d_grade!";
            break;
    }
    cin>>ch;
    }
    cout<<a_grade<<"\n"<<b_grade<<"\n";
    cout<<c_grade<<"\n"<<d_grade<<"\n";
    system("pause");
    return 0;
}
программа запускается, я ввожу букву, но она мне просто выдает нули и заканчивает работу. Почему, объясните? где моя ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 14:54     оператор switch
Посмотрите здесь:

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

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

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

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

Оператор 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 в других случаях. ...

Оператор switch - C++
Ниже приведены три примера (1 и 2 работают, а 3 почему-то не работает). Говорит, что пропуск инициализации? Почему тогда 1 и 2 работают, а...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pavell
14 / 14 / 0
Регистрация: 13.11.2012
Сообщений: 28
18.11.2012, 14:57     оператор switch #2
кавычки добавить
C++
1
2
3
4
switch(ch)  {
        case 'a': a_grade++;
            cout<<"a_grade!";
            break;
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
18.11.2012, 15:01     оператор switch #3
Цитата Сообщение от Noobass Посмотреть сообщение
enum {a, b, c, d};
А это зачем? Из-за этого компилятор пропустил ошибку. Убери

Цитата Сообщение от Noobass Посмотреть сообщение
C++
1
2
3
4
5
while(ch>=a && ch<=d) * {
   switch(ch)* {
      case a: a_grade++;
                   cout<<"a_grade!";
                    break;
Правильно
C++
1
2
3
4
5
while(ch>='a' && ch<='d') * {
    switch(ch)* {
                    case 'a': a_grade++;
                                  cout<<"a_grade!";
                                  break;
Ответ Создать тему
Опции темы

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