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

видимо путаюсь в типах данных - C++

Восстановить пароль Регистрация
 
Razzeeyy
 Аватар для Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
06.03.2011, 01:05     видимо путаюсь в типах данных #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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <ctype.h>
#include <clocale>
 
using namespace std;
 
int main ()
{
    setlocale (LC_ALL,"Russian");
    do
    {
    char choice;
    char r;
    cout<<"введите ваш символ: ";
    cin>>choice;
 
    if (choice == "exit")
        {
        return 1;
        }
    if (choice == "quit")
        {
        return 1;
        }
    if (islower(choice))
        {
        cout<<choice;
        cout<<" - строчная буква."<<endl;
        }
    else if (isupper(choice))
        {
        cout<<choice;
        cout<<" - заглавная буква."<<endl;
        }
    else
        {
        cout<<"буква не распознана.\nвозможно вы ввели цифру или символ."<<endl;
        cout<<"к сожалению распознание русских букв не поддерживается. :-("<<endl;
        }
    cout<<"еще символ? (yes/no): ";
    cin>>r;
    if (r!="yes")
        {
        cout<<"Пока!";
        }
    }
    while (r=="yes");
    return 0;
}
мне интересно почему не проходят проверки (ругается на синтаксис, видно я как то напутал с типами данных)
Код
if (choice == "exit")
Код
if (choice == "quit")
Код
if (r!="yes")
Юзаю IDE Eclipse.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2011, 01:05     видимо путаюсь в типах данных
Посмотрите здесь:

C++ Вычислить значение выражения при различных вещественных типах данны
C++ Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s.
C++ Вычислить значение выражения при различных вещественных типах данных
Опишите промежутки чисел и символов при разных типах C++
Вроде-бы все просто, но путаюсь с константыми методами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.03.2011, 01:13     видимо путаюсь в типах данных #2
Цитата Сообщение от Razzeeyy Посмотреть сообщение
Юзаю IDE Eclipse.
Нужно книгу по С++ юзать...
C++
1
2
3
char choice;
...
choice == "quit"
Ты пытаешься сравнить символ с адресом...
В choice ты больше 1-го символа не запишешь..
используй std::string, или делай проверки по типу choice == 'q'
Razzeeyy
 Аватар для Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
06.03.2011, 01:22  [ТС]     видимо путаюсь в типах данных #3
Код
используй std::string
Спасибо большое! Книжки не люблю сильно зачитывать... мне на практике по набитым синякам учится приятнее
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.03.2011, 01:28     видимо путаюсь в типах данных #4
Цитата Сообщение от Razzeeyy Посмотреть сообщение
Книжки не люблю сильно зачитывать
Без этого ни как..
Razzeeyy
 Аватар для Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
06.03.2011, 01:54  [ТС]     видимо путаюсь в типах данных #5
теперь использую string , теперь стала проблемма с islower(choice) и isupper(choice). На сколько я понял надо бы сконвертировать из string в char ? Как это сделать.

Оффтоп: да, каюсь, книжки надо почитать. Можете посоветовать какую(желательно чтобы и без излишних подробностей, но суть уловить.)?
Yandex
Объявления
06.03.2011, 01:54     видимо путаюсь в типах данных
Ответ Создать тему
Опции темы

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