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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
safary
0 / 0 / 0
Регистрация: 07.12.2008
Сообщений: 1
#1

Строковые переменные: заменить цифры от 0 до 9 на слова - C++

11.12.2008, 00:32. Просмотров 2693. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста с лабой, буду очень благодарна за помощь.
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль","один",...,"девять", начиная каждое предложение с новой строки.

Добавлено через 14 часов 22 минуты 18 секунд
ЗЩа деньги кто нить сделает?

Добавлено через 2 часа 40 минут 28 секунд
задача решена, вот код:
Pascal
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
var 
 C: Char; 
begin 
 Assign(Input, 'input.txt'); 
 Reset(Input); 
 Assign(Output, 'output.txt'); 
 Rewrite(Output); 
 while not EOF do begin 
   while not EOLN do begin 
     Read(C); 
     case C of 
       '0': Write('ноль'); 
       '1': Write('один'); 
       '2': Write('два'); 
       '3': Write('три'); 
       '4': Write('четыре'); 
       '5': Write('пять'); 
       '6': Write('шесть'); 
       '7': Write('семь'); 
       '8': Write('восемь'); 
       '9': Write('девять'); 
     else 
       if C = '.' then 
         WriteLn('.') 
       else 
         Write(C); 
     end; 
   end; 
   WriteLn; 
   ReadLn; 
 end; 
 Close(Input); 
 Close(Output); 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2008, 00:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Строковые переменные: заменить цифры от 0 до 9 на слова (C++):

Строковые переменные: Найти все слова, в которых буква ''а'' входит не менее двух раз - C++
Дан текст. Найти все слова, в которых буква ''а'' входит не менее двух раз.

Заменить слова обозначающие цифры на цифры (от 1 до 9) - C++
Дорогие друзья, помогите! Нужно написать программу, заменяющую, в выбранном мной текстовом файле, слова, обозначающие цифры, на сами цифры...

Считать текст из файла и заменить цифры на слова - C++
Помогите пожалуйста, не понимаю как сделать: Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры...

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

Строковые переменные. - C++
Дано последовательность, что состоит из 1-30 слов, в каждом слове 1-5 букв, все слова разделены запятой, в конце точка. Напечатать все...

Строковые переменные - C++
Дали посмотреть код. Помогите, пожалуйста, разобраться со строковыми переменными. Тотальная путаница с LPCWSTR/const char/char. Программа...

1
accept
4831 / 3252 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
11.12.2008, 03:21 #2
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
#include <stdio.h>
#include <ctype.h>
 
#define MAXLINE  1000    /* максимальная длина строки */
 
/* считывает текст из файла и выводит его на экран,
   заменив цифры от 0 до 9 на слова, каждое предложение с новой строки */
main()
{
    char *printnumber(int c);
    FILE *fp;
    char line[MAXLINE], *p;
    char *fname = "file.txt";
    
    if ((fp = fopen(fname, "rb")) == NULL)
        return 1;
    while ((p = fgets(line, MAXLINE, fp)) != NULL)
        for ( ; *p != '\0'; p++)
            if (isdigit(*p))
                printf("%s", printnumber(*p));
            else if (*p == '.') {
                putchar(*p);
                putchar('\n');
                // раскомментируй, если надо убирать пробелы в начале
                /*
                if (isspace(*(p+1))) {
                    while (isspace(*++p))
                        ;
                    p--;
                }        
                */
            } else    
                putchar(*p);
    fclose(fp);
    return 0;
}
 
#define MAXWORD  100
 
/* printnumber:  выводит слово для цифры */
char *printnumber(int c)
{
    static char nword[MAXWORD];
    
    sprintf(nword, "%s",
        c == '0' ? "ноль"   : c == '1' ? "один"   : c == '2' ? "два"    :
        c == '3' ? "три"    : c == '4' ? "четыре" : c == '5' ? "пять"   :
        c == '6' ? "шесть"  : c == '7' ? "семь"   : c == '8' ? "восемь" :
        c == '9' ? "девять" : "");
    return nword[0] ? nword : NULL;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2008, 03:21
Привет! Вот еще темы с ответами:

Задача на строковые переменные в c++ - C++
Текст задачи: Найти самое длинное слово во введенной строке, вывести номер этого слова и номер его первого символа. Пример: ввод : аа...

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

Строковые переменные (символьные массивы) - C++
Создать две строковые переменные (символьные массивы), содержащие ваше имя и фамилию. Выполнить с ними с помощью строковых функций...

Слова состоят из цифр.заменить 0-ми те,которые состоят из повторов одной и той же цифры - C++
Слова состоят из цифр.заменить 0-ми те,которые состоят из повторов одной и той же цифры. помогите плз


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

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

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