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

switch есть небольшие затруднения - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
25.11.2009, 00:01     switch есть небольшие затруднения #1
Есть программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <iostream.h>
int main()
{
        char *ch;
   cout<<"Enter ab,asd,voro or n"<<endl;
   cin>>ch;
 
   switch (*ch)
      {
         case 'ab':cout<<"YES"<<endl;break;
         case 'asd':cout<<"YES"<<endl;break;
         case 'voro':cout<<"YES"<<endl;break;
         case 'n':cout<<"YES"<<endl;break;
         default:cout<<"NO!"<<endl;
      }
   system ("pause");
   return 0;
}
Когда отслеживаю переменную ch все нормально,но когда доходит до свича,всегда переходит на default,даже если по условию должно подходить,в чем дело и как с этим бороться??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2009, 00:01     switch есть небольшие затруднения
Посмотрите здесь:

C++ Затруднения с итерацией и подсчетом количеста функций
Затруднения с Wise Installer"ом C++
C++ Затруднения в программе
Затруднения по динамическим переменным C++
Затруднения в составлении программы с условными операторами if.else.switch C++
Затруднения с условным оператором switch ( типы данных) C++
Затруднения в составлении программы с условными операторами C++
C++ затруднения с ShowMessage
Затруднения с ответом по теоретической части C++
Затруднения с запуском программы в среде Турбо Паскаль C++
Затруднения с одномерным массивом( максимальное значение) C++
C++ Затруднения с циклом do-while

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
25.11.2009, 00:11     switch есть небольшие затруднения #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <iostream.h>
int main()
{
        char *ch;
   cout<<"Enter ab,asd,voro or n"<<endl;
   cin>>ch;
 
   switch (ch)
      {
         case "ab":cout<<"YES"<<endl;break;
         case "asd":cout<<"YES"<<endl;break;
         case "voro":cout<<"YES"<<endl;break;
         case "n":cout<<"YES"<<endl;break;
         default:cout<<"NO!"<<endl;
      }
   system ("pause");
   return 0;
}
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
25.11.2009, 00:15  [ТС]     switch есть небольшие затруднения #3
Цитата Сообщение от M128K145 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <iostream.h>
int main()
{
        char *ch;
   cout<<"Enter ab,asd,voro or n"<<endl;
   cin>>ch;
 
   switch (ch)
      {
         case "ab":cout<<"YES"<<endl;break;
         case "asd":cout<<"YES"<<endl;break;
         case "voro":cout<<"YES"<<endl;break;
         case "n":cout<<"YES"<<endl;break;
         default:cout<<"NO!"<<endl;
      }
   system ("pause");
   return 0;
}
Пробывал так,компилятор выдает ошибку на строчке switch (ch)
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
25.11.2009, 04:25     switch есть небольшие затруднения #4
попробуй так, перед свитчем
ch=&ch
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
25.11.2009, 04:46     switch есть небольшие затруднения #5
А ну конечно.
[C++ Error] Unit1.cpp(13): E2383 Switch selection expression must be of integral type


Так что, насколько я знаю, char переменную переключателем не переключишь
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.11.2009, 04:51     switch есть небольшие затруднения #6
C
1
2
3
4
    switch (*ch) {
    case 'a' : 
        cout << "YES" << endl;
        break;
там целое значение должно стоять

C
1
2
3
   char *ch;
   cout << "Enter ab,asd,voro or n" << endl;
   cin >> ch;
память не выделил

чтобы не переделываеть на char c;
сделай строку string и выбирай вариант через if'ы
Yandex
Объявления
25.11.2009, 04:51     switch есть небольшие затруднения
Ответ Создать тему
Опции темы

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