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

При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
11.01.2012, 09:49     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #1
Помогите написать программу для выполнения следующих действий. При вводе в строку цифр буквы выдается сообщение «Это не цифра».
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 09:49     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как?
Посмотрите здесь:

C++ Функция, которая при вводе натурального числа выводит количество цифр в нем и их сумму
Ввод чисел, при вводе нуля - вывод количества цифр, идущих по порядку C++
Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая, что выводится: буква или цифра. C++
C++ Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал
C++ Как при вводе не переносить двоеточие на новую строку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ruslan_abel
 Аватар для ruslan_abel
33 / 33 / 4
Регистрация: 06.05.2011
Сообщений: 91
11.01.2012, 10:24     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #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
#include <iostream>
#include <limits>
 
using namespace std;
 
int main()
{
    setlocale( 0, "rus" );
    cout << "Введите число: ";
    int number;
    if ( !( cin >> number ) )
    {
        cout << "Это не цифра!" << endl;
        // очистка потока ввода
        cin.clear();
        cin.ignore( numeric_limits<streamsize>::max(), '\n' );
    }
    else
    {
        cout << "Вы ввели число: " << number << endl;
    }
 
    //system( "PAUSE" );
 
    return 0;
}
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
11.01.2012, 10:36  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #3
Не работает.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.01.2012, 10:40     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #4
все там работает. не надо грязи
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
11.01.2012, 10:45  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #5
ну у кого то может и работает,а у меня нет.
ruslan_abel
 Аватар для ruslan_abel
33 / 33 / 4
Регистрация: 06.05.2011
Сообщений: 91
11.01.2012, 15:37     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #6
AnnaKom, какая ошибка, скажите хотя бы и какой компилятор?
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
11.01.2012, 15:39  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #7
все заработало
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.01.2012, 15:42     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #8
C
1
2
3
4
5
6
7
8
9
char s[BUFSIZ];
int i;
 
for ( i = 0 ; i < BUFSIZ ; ++i )
{
    s[i] = getc (stdin);
    if ( !isdigit(s[i]) )
        printf ("Error");
}
Добавлено через 38 секунд
Хотя все равно будет буферизация, поэтому лучше getchar ()
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
12.01.2012, 13:45  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #9
Помогите написать программу для выполнения следующих действий. При вводе в строку цифр буквы выдается сообщение «Это не цифра».

 Комментарий модератора 
Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.01.2012, 14:21     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #10
Так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
  
int main ()
{
   std::string s;
   char c;
 
   while ( (c = std::cin.get ()) != '\n' )
       if ( !isdigit (c) )
           std::cout << " No dig " << std::endl;
       else
           s.push_back(c);
 
   std::cout << s << std::endl;
   std::system("pause");
   return 0;
}
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
12.01.2012, 14:26  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #11
не совсем...надо чтобы сражу же при вводе символа появлялось сообщение
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.01.2012, 14:33     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #12
Цитата Сообщение от AnnaKom Посмотреть сообщение
надо чтобы сражу же при вводе символа появлялось сообщение
А признак окончания ввода?
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
12.01.2012, 14:37     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #13
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
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
int main ()
{
    setlocale(LC_ALL, "");
    char ch;
    string str;
    do
    {
        if(isdigit((ch = _getche())))
        {
            str = str + ch;
        }
        else
            cout << endl << "Не цифра!" << endl;
    }
    while (ch != 'e'); // Пока не нажата английская e (end)
    cout << "Не цифра!" << endl;
    cout << str << endl;
    system("pause");
}
AnnaKom
 Аватар для AnnaKom
1 / 1 / 0
Регистрация: 11.01.2012
Сообщений: 22
12.01.2012, 14:41  [ТС]     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #14
объясняю как поняла я:вводим например 12345р...и как только ввели р выводится сообщение,после нажимаем любую клавишу и все...конец программы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2012, 16:24     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как?
Еще ссылки по теме:

Обрезать строку при вводе через fgets C++
C++ При вводе пропускает первую строку
Ошибка в коде. При первом вводе буквы, вводить приходится два раза C++

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

Или воспользуйтесь поиском по форуму:
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
12.01.2012, 16:24     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как? #15
ну можно попробывать чере оператор getch(); правдо не знаю как он там на С++ я Си програмирую
Yandex
Объявления
12.01.2012, 16:24     При вводе в строку цифр буквы выдается сообщение «Это не цифра».как?
Ответ Создать тему
Опции темы

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