С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
#1

Как проверить на ввод данных? - C++

05.04.2011, 18:58. Просмотров 1014. Ответов 11
Метки нет (Все метки)

То есть например: я ввожу число (1,2,3,4,5,6,7,8,9) то программа работает дальше,а если я ввожу букву (на англ языке) то программа просит чтоб мы ввели заново... вот как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2011, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как проверить на ввод данных? (C++):

Как правильно заменить ввод данных простой на ввод с клавиатуры? - C++
#include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Как организовать ввод данных? - C++
пишу программу, использующую класс множество, елементы которого надо вводить с клавиатуры. Надо использовать динамический список. ...

Как наложить ограничения на ввод данных? - C++
как наложить ограничения на ввод данных? (чтобы не было 1 и 0)

Как реализовать ввод данных в матрицу? - C++
Дана матрица 5*4. Как сделать,что если пользователь допустим ввёл 16 значений остальные дополнить как "ооооо".?

Как завершить ввод данных с клавиатуры - C++
Всем доброго времени суток. Я изучать С начал недавно.Изучаю при помощи "Язык программирования С++.Вводный курс." Скажите как...

Как прекратить ввод данных из консоли - C++
Программа должна считывать пары точек (x, y), но заранее не известно количество пар. Как сделать так, чтобы ввод прекратился после ввода...

11
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.04.2011, 19:02 #2
Один из вариантов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include <limits>
 
int main(){
  for(;;){
    int t = 0;
    std::cin >> t;
    std::ios_base::io_state i = std::cin.rdstate();
    if(i & std::ios::failbit){
      std::cout<<"Only integer\n";
      std::cin.clear();
      std::cin.sync();
      continue;
    }
  }
  return 0;
}
1
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
05.04.2011, 19:10  [ТС] #3
эмм спс, но можно как нить по короче, ато у меня такую проверку надо устраивать раз так 9...
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.04.2011, 19:12 #4
Nabster, Пихаеш этот код в функцию и когда надо - вызываеш ее.
0
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
05.04.2011, 19:12  [ТС] #5
т.е можно как нить в новой переменной перечислить типа эта переменная может принимать от А до Z и от а до z. а потом просто проверить в if()
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.04.2011, 19:13 #6
Nabster, Вам нужно на Си ?
0
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
05.04.2011, 19:16  [ТС] #7
Цитата Сообщение от asics Посмотреть сообщение
Nabster, Пихаеш этот код в функцию и когда надо - вызываеш ее.
ну так то да

Добавлено через 2 минуты
Цитата Сообщение от asics Посмотреть сообщение
Nabster, Вам нужно на Си ?
желательно
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.04.2011, 19:18 #8
Цитата Сообщение от Nabster Посмотреть сообщение
желательно
Такую информацию надо постить в первом своем сообщение.Мой вариант на С++, так что - не пойдет.
0
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
05.04.2011, 19:26  [ТС] #9
Цитата Сообщение от asics Посмотреть сообщение
Такую информацию надо постить в первом своем сообщение.Мой вариант на С++, так что - не пойдет.
окей босс. буду знать

Добавлено через 8 минут
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
//добавление в базу
void abitur::add()
{
    
 struct abiturienti x;
 cout<<"Vvedite dannie novogo abiturienta: "<<endl;
 cout<<n+1<<".";
 
 cout<<"Familia: ";
 cin>>x.fam;
 cout<<"Adress: ";
 cin>>x.adres;
 cout<<"Ocenka po matematike: ";
 do{cin>>x.matan;while(x.matan<1){cout<<"Ocenka ne mojet bit` otricatel`noi ili ravnoi <0>! Vvedite zanovo!"<<endl;break;}}while(x.matan<1);
 cout<<"Ocenka po fizike: ";
 do{cin>>x.fizika;while(x.fizika<1){cout<<"Ocenka ne mojet bit` otricatel`noi ili ravnoi <0>! Vvedite zanovo!"<<endl;break;}}while(x.fizika<1);
 cout<<"Ocenka po russkomy: ";
 do{cin>>x.rus;while(x.rus<1){cout<<"Ocenka ne mojet bit` otricatel`noi ili ravnoi <0>! Vvedite zanovo!"<<endl;break;}}while(x.rus<1);
 cout<<"SRBALL= "<<double (x.matan+x.rus+x.fizika)/3<<endl<<"Izmenyaetcya sam!";
 x.srball=double (x.matan+x.rus+x.fizika)/3;
 cout<<endl;
 a[n]=x;
 n=n+1;
 cout<<"Zapisi dobavleni."<<endl;
 return;
 system("pause");
}
вот часть проги. здесь я добавляю в базу. когда я ввожу оценки по математике, русскому, физике я проверяю только на отрицательность и ноль. ну собственно как реализовать проверку на ввод символов?
0
asics
05.04.2011, 19:27
  #10

Не по теме:

Цитата Сообщение от Nabster Посмотреть сообщение
окей босс
Если это сарказм, то он здесь неуместен.

0
Nabster
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 20
05.04.2011, 19:29  [ТС] #11
Цитата Сообщение от asics Посмотреть сообщение

Не по теме:


Если это сарказм, то он здесь неуместен.

Не по теме:

нет не сарказм....

0
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
05.04.2011, 19:36 #12
особо не заморачиваясь
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int get_number(const char * prompt){
    int n;
    
    while ( printf("%s", prompt) && scanf("%d", &n) != 1 ){
        //fpurge(stdin); *NIX вариант
        fflush(stdin);
        printf("Wrong input!\n");
    }
    
    return n;
}
 
int main(void){
    int a, b;
    
    a = get_number("First number: ");
    b = get_number("Second number: ");
    printf("%d + %d = %d\n", a, b, a + b);
    
    return 0;
}
1
05.04.2011, 19:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2011, 19:36
Привет! Вот еще темы с ответами:

Как ограничить ввод типа данных? - C++
как сделать так чтобы при использовании оператора cin можно было ограничить тип ввода данных. а именно чтобы при вводе символов в выдавала...

Потоковый ввод и ввод данных. Работа с числами - C++
Ввести с экрана два нат. числа. Найти частное первого на второе и определить, встречается ли среду его дробной части цифра 3( рассматривать...

Ввод данных как с клавиатуры, так и с помощью ДПСЧ - C++
Нужно переделать програму что бы матрицу можно было вводить как и с клавиатуры, так и &quot;random&quot;. И сделать меню для просмотра матрици,...

Как сделать ввод данных двумерного массива с файла? - C++
Дан двумерный массив, надо сделать ввод и вывод данных в файле. Что бы данные вводились с файла и выводились в файл. ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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