Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-=ЮрА=-
Заблокирован
Автор FAQ
#1

Сканер текста - C++

16.03.2010, 13:02. Просмотров 658. Ответов 1
Метки нет (Все метки)

Алла, это код С в консоли для 6-й студии
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
есть таблица, допустим 
1 - хлеб
2 - соль
3 - вода
необходим сканер текста: 
если в тексе он находи 1, 
то её он заменяет на слово "хлеб" и т.д      
*/
#include <windows.h>
#include <stdio.h>
 
//Ввод текстового блока до того
//как не будет введён символ chEnd
//Возвращаеміе функцией значения :
//  char * str - Строка с текстом
//  int   sLen - Число символов в строке
char * enter_string(char * str, char chEnd, int &sLen);
//Функция заменяет в строке str символ smove на строку srpl
char * replace_char(char * str, char ch, char * srpl);
//Выделяем память под наш текстовый блок
char * str = (char *)malloc(sizeof(char));
int sLen = -1;
//Хэш таблица
char * sHash[] = {"hleb","sol'","voda"};
int A_SHIFT = 48; //Сдвиг для символов чисел в ANSCI - кодировке
 
void main()
{
    printf("\tEner input string\r\n");
    //Вводим строку до нажатия Enter
    str = enter_string(str, '\n', sLen);
    //Последовательно заменяем символы 
    //'1','2','3' 
    //на соответствующие значения из таблицы sHash
    for(int i = 0; i < 3; i++)
        str = replace_char(str, (char)(i + A_SHIFT + 1), sHash[i]);
    printf("\tString after raplacing\r\n%s",str);
    printf("\r\nPress NUM1 to enter new string\r\n");
    str = enter_string(str, '\n', sLen);
    if(str[0] == '1')
        main();
}
 
char * enter_string(char * str, char chEnd, int &sLen)
{
    sLen = 0;
    while((str[sLen] = getchar()) != chEnd)
    {
        sLen++;
        str = (char *)realloc(str,(1 + sLen)*sizeof(char));
    }
    str[sLen] = '\0';
    return str;
}
 
char * replace_char(char * str, char ch, char * srepl)
{
    if(str && srepl)
    {
        int i = 0, j = 0, k = 0;
        int n = strlen(srepl);
        int m = strlen(str);
        char * chBuf = strrchr(str,ch);
        while(chBuf)
        {
            i = m - strlen(chBuf) - 1;
            str = (char *)realloc(str,m + n);
            memmove(&str[i - 1 + n],&str[i],m - i + 1);
            str[m + n] = '\0';
            if(0 < i)
                i++;
            for(j = 0; j < n; j++)
                str[i + j] = srepl[j];
            m = strlen(str);
            chBuf = strrchr(str,ch);
        }
    }
    return str;
}
0
Миниатюры
Сканер текста  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2010, 13:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сканер текста (C++):

Построить лексический сканер, который выделял бы из текста входной программы, написанной на языке С все ключевые слова - C++
Помогите построить лексический сканер, который выделял бы из текста входной программы, написанной на языке С++ все, содержащиеся в ней,...

Лексический сканер - C++
Лексический сканер должен учитывать области видимости и кодировать их по-разному. Содержание задания: Разработать программу лексического...

Написать самый простой антивирусный сканер, который сможет найти вирус, записанный в автозагрузку - C++
Всем привет, пишу практическую работу по информационной безопасности, необходимо написать самый простой антивирусный сканер, который сможет...

как сделать вывод текста, результата и продолжение текста - C++
#include &lt;iostream&gt; using namespace std; int main() { int win; cout&lt;&lt;&quot;Введите цифру\n&quot;; cin &gt;&gt; win; ...

Проверьте правильность текста программы проверки текста заклинаний. - C++
на вход программе подается текст заклинания, состоящего не более, чем из 200 символов, заканчивающийся точкой (другие точки во входных...

Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста. - C++
Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста.

1
ISergey
16.03.2010, 13:05     Сканер текста
  #2

Не по теме:

-=ЮрА=-, Ну ты даешь... ( ответ в новой теме что-то новое.. )

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2010, 13:05
Привет! Вот еще темы с ответами:

Выводит адрес текста, вместо самого текста - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; int vvodfaila(0); char...

Форматирование текста и изменение цвета текста в консоли - C++
Подскажите пожалуйста, как форматировать текст в консоли, а также как менять его цвет

Структура "Сканер". Нужны советы профессионалов по программе - C++
Программа ПОЧТИ работает, очень все сырое, код мне кажется мог быть и короче. Прошу Вас, эксперты, указать явные недоработки и как было бы...

Структура "Цветной планшетный сканер", функции и файлы - C++
Здравствуйте:) Пожалуйста, помогите решить задачу Для хранения данных о цветных планшетных сканерах описать структуру вида: struct...


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

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

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