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

Как вывести буквы, цифры на экран? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
21.07.2011, 18:46     Как вывести буквы, цифры на экран? #1
как написать чтоб по введенному с клавиатуры символу прога понимала что это,цифра,знак или буква?
Может с помощью <<cin ? И как тогда задать єти символы? Буду очень благодарен за маленький пример
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.07.2011, 18:48     Как вывести буквы, цифры на экран? #2
Цитата Сообщение от Axiles1305 Посмотреть сообщение
цифра,знак или буква
isdigit(), ispunct(), isalpha()
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
21.07.2011, 18:56  [ТС]     Как вывести буквы, цифры на экран? #3
Спасибо конечно, но я не знаю что это за команды.А с помощю cin, cout, if,else - это мона сделать?
Чтоб ввести например 5 cout<<введите число, а прога писала мне что это цыфра
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
21.07.2011, 18:58     Как вывести буквы, цифры на экран? #4
Цитата Сообщение от Axiles1305 Посмотреть сообщение
Спасибо конечно, но я не знаю что это за команды.
Обращатсья к поисковикам не пробовали?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.07.2011, 19:10     Как вывести буквы, цифры на экран? #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
 
int main(){
    std::locale::global(std::locale(""));
    int a;
    std::cout<<"Введите что-нибудь: ";
    std::cin>>a;
    if(!cin.rdstate())
        std::cout<<"Вы ввели цифру!\n";
    else std::cout<<"Вы ввели не цифру\n";
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.07.2011, 22:29     Как вывести буквы, цифры на экран? #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cctype>
 
using namespace std;
 
int main(){
    char a;
    
    cout << "Enter some symbol and press enter: ";
    a = cin.get();
    cout << "Is some " << ( isalpha(a) ? "letter" : isdigit(a) ? "digit" : isspace(a) ? "space" : "other" ) << endl;
    return 0;
}
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
22.07.2011, 12:52  [ТС]     Как вывести буквы, цифры на экран? #7
Цитата Сообщение от neske Посмотреть сообщение
Обращатсья к поисковикам не пробовали?
Пробовал! Но у меня минимальный уровень знаний. Несколько лекций токо было, выучили:
#include<iostream>
using namespace std;
void main()
{}
и еще операт: cout,if,else,cin и на последней лекции switch.
Я думаю написать прогу с помощю cout,if,else,cin просто не знаю как задать диапозон например букв их же много.
int a=0,1,2,3,4,5,6,7,8,9;
cout<<"Введите что-нибудь: ";
cin>>a;

if !=0....9
cout<<"Вы ввели цифру!\n";
else
cout<<"Вы ввели не цифру\n";

Если например пользователь захочет ввести любой символ или букву, то как надо написать чтоб прога знала что єто ціфра или чо то другое?
Большое спасибо!
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.07.2011, 12:59     Как вывести буквы, цифры на экран? #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
 
int main()
{
    std::locale::global(std::locale(""));
    char c;
    std::cout << "Введите что-нибудь: ";
    std::cin >> c;
    if (c >= '0' && '9' <= c)
        std::cout << "Вы ввели цифру!\n";
    else if ((c >= 'a' && 'z' <= c) || (c >= 'A' && 'Z' <= c))
        std::cout << "Вы ввели букву\n";
    else
        std::cout << "Вы ввели символ\n";
    system("pause");
    return 0;
}
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
22.07.2011, 14:12     Как вывести буквы, цифры на экран? #9
2 Axiles1305
Тебе же easybudda и Maxwe11 все написали

Такое:
C++
1
int a=0,1,2,3,4,5,6,7,8,9;
Даже не скомпилируется.

а вот так:
C++
1
if (c >= '0' && '9' <= c)
все работает.
CoffeeSamurai
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 19
22.07.2011, 14:33     Как вывести буквы, цифры на экран? #10
Можно сделать простой проверкой ASCII кодов введённых символов, и если проверять нужно несколько раз то использовать это как функцию. К примеру:

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
#include<iostream>
using namespace std;
 
void test(char str)         // Проверка на введённый символ
{
// Проверка на все знаки
    if(str > 32 && str < 48) cout << "Это знак.\n";
    if(str > 57 && str < 65) cout << "Это знак.\n";
    if(str > 90 && str < 97) cout << "Это знак.\n";
    if(str > 122 && str < 127) cout << "Это знак.\n";
//Проверка на цифру
    if(str > 47 && str < 58) cout << "Это цифра.\n";
//Проверка на буквы
    if(str > 64 && str < 91) cout << "Это буква.\n";
    if(str > 96 && str < 123) cout << "Это буква.\n"; 
}
 
int main()
{
    char symbol;
    do {
        cout << "-> ";
        cin >> symbol;
        test(symbol);
    } while(symbol != 48); //Пока не будет введён нуль
    return 0;
}
А если нужно чтобы потом это была цифра то просто перевести из типа char в int.
C++
1
2
        int a;
        a = symbol-48;
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
22.07.2011, 14:36     Как вывести буквы, цифры на экран? #11
CoffeeSamurai, напоминаю, что все это - только для кода ASCII.
Skjame
 Аватар для Skjame
26 / 16 / 3
Регистрация: 20.12.2010
Сообщений: 88
22.07.2011, 14:41     Как вывести буквы, цифры на экран? #12
вынос мозга, самое удобное как ето можно сделать ето юзая isdigit() и т.п.
в чём проблема прочитай man по ним и будешь более прокаченый чем остальные кто слушал ети лекции, в чём проблема?
тем более easybudda уже написал всё.
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
22.07.2011, 15:02     Как вывести буквы, цифры на экран? #13
В примере Maxwe11 строки
C++
1
if (c >= '0' && '9' <= c)
C++
1
else if ((c >= 'a' && 'z' <= c) || (c >= 'A' && 'Z' <= c))
нужно поменять на строки
C++
1
if ( c >= '0' && c <= '9' )
C++
1
else if ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) )
или на такие строки
C++
1
if ( c >= '0' && '9' >= c )
C++
1
else if ( ( c >= 'a' && 'z' >= c ) || ( c >= 'A' && 'Z' >= c ) )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2011, 17:03     Как вывести буквы, цифры на экран?
Еще ссылки по теме:

Массив. Вывести на экран числа имеющие 2 одинаковые цифры C++
C++ Вывести цифры, буквы и разделители, находящиеся в строке
Вывести на экран нечетные цифры C++

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

Или воспользуйтесь поиском по форуму:
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
22.07.2011, 17:03  [ТС]     Как вывести буквы, цифры на экран? #14
Всем огромное спасибо !!!
Yandex
Объявления
22.07.2011, 17:03     Как вывести буквы, цифры на экран?
Ответ Создать тему
Опции темы

Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru