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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
stalex
4 / 4 / 0
Регистрация: 08.09.2009
Сообщений: 90
#1

условие с char - C++

06.01.2012, 11:44. Просмотров 2018. Ответов 15
Метки нет (Все метки)

если введен символ а должна выводиться одна строка, если введен символ в должна выводиться другая строка, у меня выводится все в любом случае, нипойму почему.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "std_lib_facilities.h"
int main()
{   
    char letter = ' ';
    cout <<"\nPress letter (a or b ): ";
    cin >>letter;   
 
    if (letter = 'a')
    {
        cout << "letter = A " <<"\n";
    }
    if (letter = 'b')
    {
        cout << "letter = B " <<"\n";
    }
    keep_window_open();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 11:44     условие с char
Посмотрите здесь:

условие с использованием char - C++
Не получается разобраться с условием #include &lt;iostream&gt; #define p 5 using namespace std; int main() { struct PRICE { ...

В чем отличие char* s от char *s - C++
В чем отличие char* str; от char *str; ?

conversion from ‘char’ to ‘const char*’ - C++
Всем добрый вечер! Я хочу выполнить команду is.open(file_name, ios::binary); но функция open требует тип const char file_name, а...

Char *(UTF-8) -> char *(ANSI) - C++
Есть строка в кодировке UTF-8(если не ошибаюсь) типа char * Вот так ее я вижу в MSVC++10 - комментарии(оригинал - комментарии)...

Преобразование char[256] в char* - C++
Как преобразовать char в char*?

Копирование char* в массив char[i]* - C++
Друзья, не бейте, искал, то что нашел - не помогло. Использую WinAPI, но это не суть важно сейчас. Весь код под спойлером у меня есть...

Массив char в переменную char - C++
Допустим, имеется заполненный массив char Massiv, и есть переменная char buff. Как массив передать в переменную?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberobot
15 / 15 / 1
Регистрация: 01.09.2011
Сообщений: 66
06.01.2012, 11:49     условие с char #2
может во втором if заменить на else if
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "std_lib_facilities.h"
int main()
{       
        char letter = ' ';
        cout <<"\nPress letter (a or b ): ";
        cin >>letter;   
 
        if (letter = 'a')
        {
                cout << "letter = A " <<"\n";
        }
        else if (letter = 'b')
        {
                cout << "letter = B " <<"\n";
        };
        keep_window_open();
        return 0;
}
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.01.2012, 11:49     условие с char #3
= - присваивание,
операция сравнения - ==.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.01.2012, 11:49     условие с char #4
Цитата Сообщение от stalex Посмотреть сообщение
if (letter = 'a')
if(letter == 'a')
cyberobot
15 / 15 / 1
Регистрация: 01.09.2011
Сообщений: 66
06.01.2012, 11:51     условие с char #5
точно, я просто перепутал = и ==
stalex
4 / 4 / 0
Регистрация: 08.09.2009
Сообщений: 90
06.01.2012, 12:01  [ТС]     условие с char #6
спасибо, ответившим.
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
07.01.2012, 02:41     условие с char #7
Учимся писать красиво.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#include "std_lib_facilities.h"
int main()
{       
        char letter;
        cout <<"\nPress letter (a or b ): ";
        cin >>letter;   
 
        switch(letter)
        {
                case 'a':
                cout << "letter = A \n";
                case 'b':
                cout << "letter = B \n";
        }
        keep_window_open();
        return 0;
}
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.01.2012, 09:21     условие с char #8
kisssko, Даже если закрыть глаза на std_lib_facilities.h ваш код все равно не корректен.
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
07.01.2012, 09:24     условие с char #9
kisssko, break забыли
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
07.01.2012, 18:51     условие с char #10
Цитата Сообщение от Dekio Посмотреть сообщение
kisssko, break забыли
Не забыли, он там не нужен!

PS: А, да. просто поспешил. Сперва хотел сделать примерно так.

C++
1
2
3
4
5
6
        switch(letter)
        {
                case 'a':
                case 'b':
                printf("letter=%c",toupper(letter));
        }
Но потом изменил.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.01.2012, 18:57     условие с char #11
Цитата Сообщение от kisssko Посмотреть сообщение
Не забыли, он там не нужен!
Как бэ специфика сишного switch'а, каждый кейс должен завершаться break'ом.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.01.2012, 19:03     условие с char #12
C++
1
2
3
4
5
6
switch(letter)
{
    case 'a':
    case 'b':
    printf("letter=%c",toupper(letter));
}
От души
Но все равно условию не соответствует.
Цитата Сообщение от stalex Посмотреть сообщение
если введен символ а должна выводиться одна строка, если введен символ в должна выводиться другая строка
Нигде не сказано, что эта строка должна быть letter%c. Или ей подобная.
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
07.01.2012, 19:58     условие с char #13
Цитата Сообщение от kazak Посмотреть сообщение
Как бэ специфика сишного switch'а, каждый кейс должен завершаться break'ом.
Вовсе и не должен. break служит для выхода из тела switch, иначе будет выполняться код всех кейсов до конца. Иногда именно это и бывает нужно.

Типичный пример: (сорри за офтопик)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch(uMsg)
{
    case WM_COMMAND:
    switch(LOWORD(wParam))
    {
        case IDOK: // Обработчик кнопки "OK"
 
            // Применяем настройки
            // break тут не нужен
 
        case IDCANCEL: // Обработчик кнопки "Отмена"
        ShowWindow(hwndDlg, SW_HIDE); // Прячем диалог
    }
    return TRUE;
}
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
07.01.2012, 20:02     условие с char #14
kisssko, тем не менее, switch здесь не нужен.
Не стоит доказывать свою неправоту.
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
07.01.2012, 21:11     условие с char #15
Цитата Сообщение от Dekio Посмотреть сообщение
kisssko, тем не менее, switch здесь не нужен.
Не стоит доказывать свою неправоту.
Обоснуйте, пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2012, 21:13     условие с char
Еще ссылки по теме:

Разница между new char[] и new char[]() - C++
Доброго времени суток. Подскажите пожалуйста разницу, между следующим кодом: char* ch = new char; и char* ch = new...

E2034 Cannot convert 'char' to 'char *' - C++
Добрый день всем! Помогите плз исправить ошибку. Не понимаю чего она происходит. Вообщем, нужно все елементы строки text запихнуть в...

Как перевести из char** в char*? - C++
Первый символ каждой строчки char** нужно проверить на условие, как это сделать? Наверное всё очень просто, но ответ на форуме и за его...

Невозможно преобразовать char* в char - C++
Как исправить ошибку?

Cannot convert parameter 1 from 'char' to 'char []' - C++
#include &lt;iostream&gt; using namespace std; const int MAX=20; class base { public: virtual char sry(char str, char s)=0; }; ...


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

Или воспользуйтесь поиском по форуму:
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
07.01.2012, 21:13     условие с char #16
Конструкции if за глаза хватит. Не надо строить велосипеды. Которые тем более не корректно работают
Yandex
Объявления
07.01.2012, 21:13     условие с char
Ответ Создать тему
Опции темы

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