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

Лаба по Символьной информации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Произвести выравнивание по правому краю введенного текста http://www.cyberforum.ru/cpp-beginners/thread203665.html
помогите пожалуйста!!!! срочно надо!! задача №1. Произвести выравнивание по правому краю введенного текста, для чего к каждой строке применить функцию WIDE(str,k), которая равномерно вставляет...
C++ В массиве B(n) каждый элемент,кроме первого, заменить суммой всех предедущих элементов Доброго времени суток,прошу помочь мне в решении нескольких задач. Задача № 1 В массиве B(n) каждый элемент,кроме первого, заменить суммой всех предедущих элементов Задача № 2 Дан двумерный... http://www.cyberforum.ru/cpp-beginners/thread203649.html
Местонахождение точки C++
Ввести координаты (х,у) вершин многоугольника (за часовой стрелкой), и координаты отдельной точки. Найти место нахождение етой точки (Внутри многоугольника, снаружи, или на ребре). Язык С. Можна...
C++ Не получается разобраться Visual C++
Привет всем помогите пожалуйста кто может у меня такая проблема не могу решить задачи по C++ Работа со строками. В строке, содержащей последовательность слов, найти конец предложения,...
C++ Кто может помочь с Лабой на С++,я не могу написать(( http://www.cyberforum.ru/cpp-beginners/thread203636.html
Тема Операторы ВЫбора вариант 4. Для целого числа k от 1 до 99 напечатать фразу «мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» следует заменить на слово «год» или «года»....
C++ вычислить выражение Здравствуйте! Если есть у вас свободное время помогите с прогой. Заранее спасибо! подробнее

Показать сообщение отдельно
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.12.2010, 12:06
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <ctype.h>
 
int main(void)
{
    int ch;
 
    while ((ch = getchar()) != EOF && toupper(ch) != 'Q')
        if (isdigit(ch))
            printf("digit" "\n");
        else if (ispunct(ch))
            printf("punctuation" "\n");
        else if (isalpha(ch))
            printf("letter: %d" "\n", tolower(ch) - 'a' + 1);
        else
            printf("unknown" "\n");
    
    return 0;
}
Код
[guest@localhost tests]$ ./t
lkjasdf1239487!@#$jk
letter: 12
letter: 11
letter: 10
letter: 1
letter: 19
letter: 4
letter: 6
digit
digit
digit
digit
digit
digit
digit
punctuation
punctuation
punctuation
punctuation
letter: 10
letter: 11
unknown
Q
[guest@localhost tests]$
Добавлено через 1 минуту
Цитата Сообщение от Kastaneda
Странно, у меня были случаи, что так не работало.
если сделать несколько if'ов, не будет работать
тут один if ... else if ... else ...
тело цикла (и не только цикла), если содержит один оператор, может не заключаться в фигурные скобки

Цитата Сообщение от Kastaneda
помимо прочего всегда выводится unknown.
что-то не верится, что прямо всегда
может выводиться, когда пытаешься русские буквы вводить
но цифры и знаки должны срабатывать нормально
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru