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

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

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

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

17.10.2012, 15:52. Просмотров 1166. Ответов 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;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 15:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос проверка на int (C++):

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include &lt;iostream&gt; using...

Проверка на 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 c возможностью исправления(т.е. пока не будет введен Int будет выскакивать сообщение с...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
17.10.2012, 16:26 #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;
}
0
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
17.10.2012, 21:25  [ТС] #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;
}
п.с. как в отрывке кода выше
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.10.2012, 21:55 #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;
}
Напишите конкретно что вам нужно.
0
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
17.10.2012, 22:10  [ТС] #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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 22:10
Привет! Вот еще темы с ответами:

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

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)' - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #define row 5 #define col 5 using namespace...

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

int main() и int _tmain(int argc, _TCHAR* argv[]) - C++
При создании нового консольного приложения Microsoft Visual С++ 2010 Express создает начальный шаблон #include &quot;stdafx.h&quot; int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.10.2012, 22:10
Ответ Создать тему
Опции темы

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