Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2015, 00:47   #1
ЕКатерина4545
Новичок
Джуниор
 
Регистрация: 14.12.2015
Сообщений: 1
Вопрос Проверка на правильность введении строки(С++)

привет) Я использую программу Visual Studio. И при написании курсовой работы использовала эту проверка на правильность вводимости языка. Но почему то если я в консоли вбиваю данные на русском языке,то она у меня вылетает, а если ввожу английский,то программа не ругается. Мне не нужно переписывать код, я бы хотела узнать в чем именно ошибка в моем коде и как ее можно исправить. Ниже скриншот ошибки,который выдает программа. Надеюсь на скорый ответ)

Код:
int check_string(string token)
{
    int i = 0;
    const char *str = token.c_str();
    while (str[i])
    {
        if(isalpha(str[i])||str[i]>='А'&&str[i]<='я'||str[i]=='-'&&i>0)i++;
        else
        {

            cout << "Ошибка ввода!" << endl;
            return 1;
        }
    }
    if(!strlen(str))
    {
        cout << "Вы не указали данные!" << endl;
        return 1;
    }

    return 0;
}
Изображения
Тип файла: jpg 83GhecTszDs.jpg (111.2 Кб, 134 просмотров)

Последний раз редактировалось Stilet; 14.12.2015 в 12:51.
ЕКатерина4545 вне форума Ответить с цитированием
Старый 14.12.2015, 06:19   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

А прочитать доку не судьба? Если у вас есть широкие символы, то и спользуйте широкую версию. Если нужно с локалью, то соответствующие функции.
p51x вне форума Ответить с цитированием
Старый 14.12.2015, 12:53   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
const char *str = token.c_str();
А зачем это? token жеж можно использовать как массив.
Ты пошаговку, я так понимаю не делала?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на правильность SweetyGirl Помощь студентам 17 12.04.2015 13:41
Проверка на правильность Mr_M Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.04.2014 23:17
Проверка на правильность ввода значения archiolidius Общие вопросы C/C++ 1 14.02.2012 22:39
Проверка на правильность ввода в Edit Claster Помощь студентам 1 05.04.2011 13:27
Проверка строки на правильность данных haros Microsoft Office Excel 10 28.02.2009 16:39