14 / 14 / 2
Регистрация: 21.10.2012
Сообщений: 140
1

Фильтр (ispunct)

16.11.2012, 21:53. Показов 1396. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++ (Qt)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream> 
#include <string.h> 
#include <stdio.h>
 
using namespace std; 
 
const int MAXLEN = 256;
 
void filt(char *string, int key)
{
    int i, j;
 
    for (i = 0; i < strlen(string); i++)
    {
        switch(key)
        {
            case 1:
                if ((string[i] >= 65 && string[i] <= 90) || (string[i] >= 100 && string[i] <= 122))
                    cout << " ";
                else 
                    cout << string[i];
                break;
            case 2:
                if (string[i] >= 128 && string[i] <= 175)
                    cout << " ";
                else
                    cout << string[i];
                break;
            case 3:
                if (ispunct (*string)) // вопрос по этой функции
                    cout << " ";
                else
                    cout << string[i];
                break;
            case 4:
                if (string[i] >= 48 && string[i] <= 57)
                    cout << " ";
                else
                    cout << string[i];
                break;
        }
 
        
    }
}
 
 
int main() 
{ 
    setlocale (LC_ALL, "RUS");
    char string[MAXLEN]; 
    int min, max;
    int key;
    int flag;
    
    cout << "Введите текст: ";
    gets(string);
 
    cout << endl << "Выберите фильтр" << endl << "1. Символы латинского алфавита" << endl << "2. Символы кириллицы" << endl << "3. Смволы пунктуаци" << endl << "4. Цифры" << endl << ">>> ";
    cin >> key;
    filt(string, key);
}
прога хорошо работает с латиницей и цифрами... Нашел заметку про функцию ispunct - которая если я правильно понял должна фильтровать пунктуацию... Но когда ввожу строку без пунктуации и выбираю фильтр пунктуация -- выбивает ошибку... А когда строка содершит пунктуационные знаки чистит всю строку... Может я не правильно использую данную функцию?

Добавлено через 2 часа 36 минут
Пока отставлю в сторону эту функцию)) напишу по другому))
C++ (Qt)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream> 
#include <string.h> 
#include <stdio.h>
 
using namespace std; 
 
const int MAXLEN = 256;
 
void filt(char *string, int key)
{
    int i;
 
    for (i = 0; i < strlen(string); i++)
    {
        switch(key)
        {
            case 1:
                if ((string[i] >= 65 && string[i] <= 90) || (string[i] >= 100 && string[i] <= 122))
                    cout << " ";
                else 
                    cout << string[i];
                break;
            case 2:
                if (string[i] >= 128 && string[i] <= 175)
                    cout << " ";
                else
                    cout << string[i];
                break;
            case 3:
                if (string[i] == '!' || string[i] == ':' || string[i] == '.' || string[i] == ',' || string[i] == '-' || string[i] ==';' || string[i] =='?')
                    cout << " ";
                else
                    cout << string[i];
                break;
            case 4:
                if (string[i] >= 48 && string[i] <= 57)
                    cout << " ";
                else
                    cout << string[i];
                break;
            case 5:
                exit(0);
        }
    }
}
 
int main() 
{ 
    setlocale (LC_ALL, "RUS");
    char string[MAXLEN]; 
    char newstring[MAXLEN] = {0};
    int key;
 
    cout << "Введите текст: ";
    gets(string);
do
{
    cout << endl << "Выберите фильтр" << endl << "1. Символы латинского алфавита" << endl << "2. Символы кириллицы" << endl << "3. Смволы пунктуаци" << endl << "4. Цифры" << endl <<  "5. Выход" << endl << ">>> ";
    cin >> key;
    filt(string, key);
}
while (key != 5);
}
А как вот сделать чтобы когда я сделал фильтр введенного текста --- можно было бы добавить еще один фильтр?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 21:53
Ответы с готовыми решениями:

Реализация ispunct при использовании потоков
Дана программа-переводчик с англ. на русский. Проблема в том, что при вводе текста со знаками...

Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр
Здравствуйте! Есть простая таблица и созданная форма. Идея в том, чтобы ставя галки осуществлять...

фильтр
Как сделать фильтры для дома. Есть верстка и js objects. А не приходит в голову как сделать фильтр...

Фильтр
public class My_class extends MovieClip { var glow:GlowFilter = new GlowFilter(); glow.color =...

0
16.11.2012, 21:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 21:53
Помогаю со студенческими работами здесь

Фильтр
Доброго времени суток всем) Люди нужно убрать с выпадающего списка (в фильтре) категории которые не...

Фильтр
привет Всем! кто подскажет В Лоусе есть фильтр на отправку файлов. Например с почты на почту...

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

фильтр?
есть одно предположение..возможно паранойя, но все же. есть пакет сайтов в работе. и вот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru