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

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

Войти
Регистрация
Восстановить пароль
 
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
#1

проверка на int - C++

17.10.2012, 15:52. Просмотров 1138. Ответов 4
Метки нет (Все метки)

добрый день!
не работает проверка на int . подскажите в чем проблема?

C++
1
2
3
4
5
6
7
bool bFlag;
    do {    
        cout<<"Enter an integer and a word:"<<endl;
        cin>>number9>>word3;
        if (!(bFlag=cin.good())){cin.clear();cin.ignore(cin.rdbuf()->in_avail());} 
    }while(!(isAlphaString(word3) && bFlag));
    cout<<"you entered"<<endl<<number9<<" "<<word3<<endl;
или
C++
1
2
3
4
5
6
7
8
9
10
11
bool bFlag;
    do {    
        cout<<"Enter an integer and a word:"<<endl;
        cin>>number9>>word3;
        //if (!(bFlag=cin.good())){cin.clear();cin.ignore(cin.rdbuf()->in_avail());} 
       if (!(bFlag=cin.good())){
        cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');}
    }while(!(isAlphaString(word3) && bFlag));
    cout<<"you entered"<<endl<<number9<<" "<<word3<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 15:52     проверка на int
Посмотрите здесь:

Проверка на Int - C++
Не знаю как реализовать проверку на ввод только Int c возможностью исправления(т.е. пока не будет введен Int будет выскакивать сообщение с...

Проверка на int - C++
int main(void) { int vop; setlocale(LC_ALL, &quot;Russian&quot;); int mas1, mas2, mas3, outmas; int ke1, ke2, ke3; do { ...

Проверка соответствия типу int - C++
Привет всем Вот кусок кода int kolvoChel=0; int m=0; int w=0; int k=0; cout &lt;&lt; &quot;Vvedite kol-vo mugchin v semie:...

Проверка арифметического переполнения для int - C++
Есть задача (из книги Лафоре ООП в С++, задача 4, глава 8): Создайте класс Int, основанный на упражнении 1 из главы 6 . Перегрузите...

Проверка на NULL строки типа Int - C++
Добрый день! в С++ можно сказать второй день Нужно после совершения действий выводить данные что было изменено и на что. ...

Try/catch. Проверка на ввод букв в int - C++
Как сделать проверку на ввод букв в переменную типа int? Хочу это реализовать через try/catch, но никак не могу разобраться как это...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
17.10.2012, 16:26     проверка на int #2
вот как пример
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main(){
    int number;
    while(cin >> number){
        cout << "U've entered :" << number << '\n';
    }
    return 0;
}
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
17.10.2012, 21:25  [ТС]     проверка на int #3
я могу написать отдельно проверку, проблема в том, что я не могу совместить ее с другой проверкой на ввод только букв в слове...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
cout<<"enter one integer:"<<endl;
cin>>number1;
if( cin.good())
    {
               cout<<"You entered the number:"<<number1<<endl;
               cout<<endl;
               cin.ignore(10, '\n');
               break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
return 0;
}
п.с. как в отрывке кода выше
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.10.2012, 21:55     проверка на int #4
letnjaja, вот небольшая проверка на правильный ввод числа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    int n;
    cout << "Enter int: "; 
    while (!(cin >> n))                
    {
        cin.clear();                     
        while ( cin.get() != '\n' ) ;    
        cout << "Wrong! Enter again: ";
    }   
    cout<<"You entered: "<<n<<endl;
    system("pause");
    return 0;
}
Напишите конкретно что вам нужно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 22:10     проверка на int
Еще ссылки по теме:

Ошибка:unresolved external 'My<int>::My<int>(int)' unresolved external 'My<int>::~My<int>' - C++
есть 3 файла. файл inc.h: ... template &lt;class T&gt; class My { int m_size; T *m_data; public: My(int value); ~My(); ...

Работа с массивом - Invalid types 'int[int]' for array subscript - C++
Добрый день. Данный код выдает ошибку invalid types 'int' for array subscript в функции в строке cout &lt;&lt;dm; Не понимаю в чем ошибка....

error C2664: InputMatrixCurrent: невозможно преобразовать параметр 1 из 'int [5][5]' в 'int' - C++
Помогите поправить код, а то выдаёт ошибки #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; void...

Правильное объявление переменной с точки зрения стиля [int *a vs int* a] - C++
И всё таки, как корректней объявлять переменные? 1. int* a, int&amp; a, int** a или 2. int *a, int &amp;a, int **a ?

Error С2664. Параметр 1 не может быть преобразован из 'int' в 'int [][10]' - C++
Добрый день! Компилятор &quot;ругается&quot; на описание функции. Как устранить данную проблему самому не знаю. Заранее благодарю за помощь! ...

Ошибка - перегруженность pow(int,int) неосуществима. Как исправить? - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; struct point { int x,y,z; }; double dlina(point a,point b) { ...


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

Или воспользуйтесь поиском по форуму:
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
17.10.2012, 22:10  [ТС]     проверка на int #5
в последнем вводе (enter integer and word)
если я ввожу букву,вместо числа и слово, он на это не ругается, кароче не работает проверка на число
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include<iostream>
#include <iomanip> // vivod treh to4ek posle zapjatoj
#include <ctype.h>
#include <stdio.h>
#include <string>
 
//////////////////////////////////////////////////
bool isAlphaString (std::string &str);///////////////////////////////////////bool is AlphaString (std::string &str); //na proverku slova
 
using namespace std;
 
int main()
 
{
    int number1,number2,number3,number4,number5,number6,number7,number8;
    float real,real1;
    char simbol,character;
    string word,word2,word3;
    char number9;
    
    while(true)
        {
//enter one integer
cout<<"enter one integer:"<<endl;
cin>>number1;
if( cin.good())
    {
               cout<<"You entered the number:"<<number1<<endl;
               cout<<endl;
               cin.ignore(10, '\n');
               break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
//enter four integers
while(true)
{
cout<<"enter four integers:"<<endl;
 
cin>>number2>>number3>>number4>>number5;
 
if( cin.good())
    {
               cout<<"You entered the numbers:"<<number2<<" "<<number3<<" "<<number4<<" "<<number5<<endl;
               cout<<endl;
               cin.ignore(10, '\n');
               break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
//enter one integer and one real number
while(true)
{
cout<<"enter one integer and one real number:"<<endl;
cin>>number6;
cin>>real;
if( cin.good())
    {
              cout<<"The real number is:"<<endl;
              std::cout<<std::fixed<<std::setprecision(3)<<real<<endl;
                                         cout<<"he integer is:"<<number6<<endl;
                                         cout<<endl;
               cin.ignore(10, '\n');
                   break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
//enter one real and one integer
 
while(true)
{
cout<<"enter one real and one integer number:"<<endl;
cin>>number7;
cin>>real1;
if( cin.good())
    {
               cout<<"The real number is:"<<endl;
               std::cout<<std::fixed<<std::setprecision(3)<<real1<<endl;
                                         cout<<"he integer is:"<<number7<<endl;
                                         cout<<endl;
               cin.ignore(10, '\n');
                   break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
  
  //enter a character
cout<<"enter simbol:"<<endl;
cin>>simbol;
while (true)
{
if(isalpha(simbol))
    {
        cout<<"You entered: "<<simbol<<endl<<endl;
        break;
    }
    else
    {
        cout<<"Error!!! Not simbol.\nEnter again: ";
        cin>>simbol;
    }
}
//
 
//funkcija na proverku vvedeno li slovo
//enter a word
//////////////////////////////////////////////////////////////
    do{
    cout<<"Enter word:"<<endl;
    cin>>word;
    }while(!isAlphaString(word)); 
    cout<<"you entered: "<<endl;
    cout<<word<<endl;    
//////////////////////////////////////////////////////////////
 //enter an character and a word:
         do {
             cout<<"Enter character and a word:"<<endl;
             cin>>character>>word2;
             }
             while((!isAlphaString(word2))||(!isalpha(character)));
           
             cout<<"you entered:"<<endl;
             cout<<character<<" "<<word2;
             cout<<endl;
              
/////////////////////////////////////////////////////////////////////
 
bool bFlag;
    do {    
        cout<<"Enter an integer and a word:"<<endl;
        cin>>number9>>word3;
      /*  if (!(bFlag=cin.good())){cin.clear();cin.ignore(cin.rdbuf()->in_avail());}*/
 
       if (!(bFlag=cin.good())){
        cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');}*/
     
    }while(!(isAlphaString(word3) && bFlag));
    cout<<"you entered"<<endl<<number9<<" "<<word3<<endl;
 
  system ("pause");
  return 0;
}
bool isAlphaString (std::string &str)
{
    for (unsigned int i = 0; i < str.length(); i++)
      if (!isalpha(str[i]))
        return false;
    return true;
}
Yandex
Объявления
17.10.2012, 22:10     проверка на int
Ответ Создать тему
Опции темы

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