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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ VS 2008 Проблема с конструктором копий http://www.cyberforum.ru/cpp-beginners/thread17951.html
Недавно получил от MS VS2008 и компилятор ругается на конструктор копий, может что исправили в этой версии? class SimpleCircle { public: SimpleCircle(); SimpleCircle(int); // Тут ошибка //...
C++ Подсчет площади и периметра треугольника В зависимости от выбора пользователя подсчитать площадь и периметр треугольника или прямоугольника.Подскажите пожалуйста, как именно это изобразить в программе. Как записываются формулы для подсчета... http://www.cyberforum.ru/cpp-beginners/thread17950.html
C++ Компилируется неверно
Пользователь вводит температуру. Ему показывают сообщение о состоянии организма. Например 39– труп. Вот, что я написала. Но какую-то информацию ввела неверно, компиллируется неверно.:'( Возможно,...
Найти все пары параллельных прямых,расстояние между которыми принадлежит заданному интервалу C++
Задача состоит в том,что нужно найти все пары параллельных прямых,расстояние между которыми принадлежит заданному интервалу пжалста....:'(
C++ Функция strcat http://www.cyberforum.ru/cpp-beginners/thread17916.html
Нужно написать прогу на C++ и Ассемблере...функцмя strcat(на ассемблере сделал а вот на C++ не могу).Если кто поможет буду очень признателен....а если ещё и с пояснением то огромное спасибо заранее(в...
C++ В массиве слов найти пару слов, из которых одно является обращением другого Дали задачку, вроде простая, а мыслей нет(( вопрос как организовать поиск слов)) ну собственно задание: В массиве слов найти пару слов, из которых одно является обращением другого подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.12.2008, 03:21
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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru