Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200

Cctype

25.10.2010, 14:24. Показов 3704. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ку, как правильно использовать функцию "isalpha ()" с pointer
если можно с примером.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2010, 14:24
Ответы с готовыми решениями:

Использование cctype
1. Напишите программу, которая читает клавиатурный ввод до символа @ и повторяет его, за исключением десятичных цифр, преобразуя каждую...

Функции <cctype>
Подскажите никак не пойму почему break в цикле не срабатывает (( Нужно вводить числовые значения в массив , либо пока он не заполниться...

Аналог функции isalpha() (<cctype>)
Здравствуйте) Я так понял, функция isalpha() не работает с русскими буквами(?), пришлось написать свою версию для работы с русскими...

15
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
25.10.2010, 14:27
кликни
1
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
25.10.2010, 14:30
C
1
2
3
4
5
6
char string[] = "example";
char *ptr = &string[1];
 
if(isalpha(*ptr)) {
    // ...
}
1
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 17:04  [ТС]
Можно пример по нагляднее?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 17:07
C++
1
2
3
4
5
6
char ch;
cin>>ch;
char* ptr=&ch;
if(isalpha(*ptr)){
// если ввели букву, то...
}
1
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 17:10  [ТС]
а чтоб целое слово вывел надо его по циклу прогнать?
он у меня только одну букву выводит.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 17:16
Цитата Сообщение от Hardcore Посмотреть сообщение
он у меня только одну букву выводит.
Кто он?
Можно через указатель, если строка заканчивается символом '\0'
C++
1
cout<<ptr;
Добавлено через 23 секунды
выведет все слово.
0
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 17:22  [ТС]
он это мой компилятор) условно .
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main () {
    char ch;
cin>>ch;
char* ptr=&ch;
if(isalpha(*ptr)){
cout<<ptr;
}
return 0;
}
выводит это:
fgfg[]fgvh
f╠╠╠╠H■ Для продолжения нажмите любую клавишу . . .
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 17:53
Странно, должен был вывести адрес! Так он букву не покажет, подобная конструкция работает только для строки:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main () {
        char ch[80];
cin>>ch;
char* ptr=ch;
cout<<ptr;
return 0;
}
вот так выведет введенное слово.
0
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 18:19  [ТС]
ввел это.
1234sdfghj[
вывел это.
1234sdfghj[
Для продолжения нажмите любую клавишу . . .
что то у тя не то.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 18:22
Цитата Сообщение от Hardcore Посмотреть сообщение
ввел это.
1234sdfghj[
вывел это.
1234sdfghj[
Для продолжения нажмите любую клавишу . . .
что то у тя не то.
Цитата Сообщение от Kastaneda Посмотреть сообщение
вот так выведет введенное слово.
и в чем тут не то?
0
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 18:48  [ТС]
ты забыл isalpha;

Добавлено через 1 минуту
я забыл уточнить тебе. isalpha как фильтр. он должен оставить только буквы убрав всё остальное.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 18:57
Цитата Сообщение от Hardcore Посмотреть сообщение
я забыл уточнить тебе. isalpha как фильтр. он должен оставить только буквы убрав всё остальное.
Вот это поворот событий)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main () {
char ch[80];
cin>>ch;
char* ptr=ch;
int len=strlen(ptr);
for(int i=0;i<len;i++)
   if(isalpha(ptr[i])){
      cout<<ptr[i];
}
cout<<endl;
system("pause");
return 0;
}
1
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 19:13  [ТС]
Спасибо большое. А можно теперь с подробными коментами. Я тут всего не понял.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.10.2010, 19:24
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main () {
char ch[80];// массив из 80 символов (байт)
cin>>ch;// вводим
char* ptr=ch;//создаем указатель на массив
int len=strlen(ptr);// len равна длине введенной строки (ф-ция strlen())
for(int i=0;i<len;i++)// перебираем все символы в строке
   if(isalpha(ptr[i])){// если символ - буква
      cout<<ptr[i];// выводим
}
cout<<endl;// переход на следующую строку
system("pause");//press any key
return 0;// ноль в виндовз, что б знал, что все в порядке
}
Добавлено через 1 минуту
и еще вот
0
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
25.10.2010, 19:34  [ТС]
Вопрос. Почему ты не использовал cctype библиотеку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2010, 19:34
Помогаю со студенческими работами здесь

Написать программу с использованием функции cctype
Программа, которая читает клавиатурный ввод до символа @ и повторяет его, за исключением десятичных цифр, преобразуя каждую букву...

Непонятны разные функции библиотеки cctype
Код #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cctype&gt; void strcount(const std::string &amp; str); int main() { ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru