Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

Проверка строки на символ

10.04.2014, 19:02. Просмотров 676. Ответов 11
Метки нет (Все метки)

Ретбятууу, че то не допирает до меня один метод
я завожу переменную int n;
какое мне поставить условие, чтобы проверить введенное число на возможную букву
т.е. если пользователь вместо цифры введет букву?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 19:02
Ответы с готовыми решениями:

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_»
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры...

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым
я написал код но не могу разобраться. вот дано :...

Найти символ первой строки, который первым не совпал с одним из символов второй строки. Вывести слово, в которое входит этот символ
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить...

Создать функцию, которая на вход получает строку символов и один символ, функция печатает те слова строки, в которых встречается этот символ.
Здраствуйте, вы не могли б мне помоч, у меня проблема з задачей, в коде...

Проверка ввода. Символ 'а' (rus)
В функции main присутствует проверка: for(;;){ cout << "Введите...

11
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:05 #2
RayPas, насколько я понимаю, выведется ошибка, если вы впишете вместо числа букву. Заведите символьный массив, например string tipa_number; и проверяйте, что бы каждый символ был >= '0' и <= '9'.
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
10.04.2014, 19:14  [ТС] #3
TenGen, мне еще надо сгенерировать исключение, я же должен в catch char ловить?
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:17 #4
RayPas, если у вас будет в строке храниться введенное потенциальное число, то у вас никаких ошибок не будет, ваша программа убедится в некорректности и может просто затребовать данные заново.
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
10.04.2014, 19:18  [ТС] #5
TenGen, и еще, я не понял, мне какую переменную проверять на это условие? мою n?

Добавлено через 43 секунды
TenGen, да мне это нужно обязательно - сгенерировать исключение
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:22 #6
Лучший ответ Сообщение было отмечено RayPas как решение

Решение

RayPas, вы считали в string tipa_stroka; число и затем в цикле проверяете каждый символ этой строки. Если они являются числами, то и сама строка является числом. Можете перевести ее в числовой формат и спокойно использовать. Насчет исключения пока думаю)
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
10.04.2014, 19:38  [ТС] #7
TenGen, всё! спасибо за идею, сделал исключение т.о.
C++
1
2
3
4
5
6
7
8
9
10
11
cin>>numb_flight;
                        int len1 = numb_flight.length();
                        for (int i(0); i<len1; i++)
                        if ((numb_flight[i] >= '0') && (numb_flight[i] <= '9')) {
                            Numb_flight=numb_flight;}
                        else throw 'a';
                }
                catch (char ch ) {
                                    cout << "Incorrect! Try again! "<<endl;
                                    exit;
                }
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:41 #8
RayPas, возможно еще лучше будет заменить
C++
1
2
3
if ((numb_flight[i] >= '0') && (numb_flight[i] <= '9')) {
                            Numb_flight=numb_flight;}
                        else throw 'a';
на
C++
1
if ((numb_flight[i] < '0') || (numb_flight[i] > '9')) throw 'a';
Рад, что смог помочь
1
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
10.04.2014, 19:44  [ТС] #9
TenGen, а на открытие файла не подскажите какие исключения обрабатывать?
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:47 #10
RayPas, если я правильно понял вас, то там ошибка открытия файла в основном (типа файла не существует)
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
10.04.2014, 19:55  [ТС] #11
TenGen, на NULL проверять? и какое исключение ловить?
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 20:04 #12
Лучший ответ Сообщение было отмечено RayPas как решение

Решение

RayPas, file.open("text.txt"); if (!file) вызываем исключение, что файла не существует; библиотекой fstream пользовались? Если нет, вот тут по ссылке рассказано http://kvodo.ru/urok-10-1-rabota-s-tekstovyimi-faylami-v-c.html
1
10.04.2014, 20:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 20:04

(Ошибка)Находим первый символ строки 1,который не совпадает ни с одним символом из строки 2
Данный кусок программы не выполняет должной функции.Вроде бы всё правильно, но...

Как переместить символ окончания строки /0 в конец строки?
Это мне нужно сделать, чтоб не появлялись кракозябры. Причем сделать для всех...

Проверка на то, что введено число, а не символ не работает
Уходит в бесконечный цикл! Если введен символ, вместо цифр. Как исправить?...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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