C проверка на число
Автор Николай Фидченко задал вопрос в разделе Другие языки и технологии
C++ Проверка правильности ввода данных. и получил лучший ответ
Ответ от Connection terminated[гуру]
cin.getline(c, 50); вместо cin>>c попробуй.
т. к. ты указал только одну переменную, cin и читает один параметр ввода, оставляя остальные в буффере.
Ответ от Ѐамиль Насибуллин[гуру]
Есть несколько вариантов (код писать не буду, т. к. С++ не знаю, объясню только логику) , итак:
1) Можно сделать запрет на ввод любых символов кроме цифр, запятой или точки. А запятую или точку чтоб можно было ввести не более одного раза. Т. е. эдакая проверка, срабатывающая на ввод символа, и отображающего только в случае если он разрешен. Тогда и пробел даже не введёшь.
2) Можно брать только первое число, если введены несколько через пробел. Т. е. написано вот для пользователя "введите число", пользователь вводит несколько чисел, программа берет только первое, а на остальные забивает, вот и всё.
3) Самое простое - сделай ввод числа не через текстовое поле, а через ползунок, который пользователь выставляет в нужное положение. Таким образом, и минимум-максимум строго ограничены, и число будет строго одним
Есть несколько вариантов (код писать не буду, т. к. С++ не знаю, объясню только логику) , итак:
1) Можно сделать запрет на ввод любых символов кроме цифр, запятой или точки. А запятую или точку чтоб можно было ввести не более одного раза. Т. е. эдакая проверка, срабатывающая на ввод символа, и отображающего только в случае если он разрешен. Тогда и пробел даже не введёшь.
2) Можно брать только первое число, если введены несколько через пробел. Т. е. написано вот для пользователя "введите число", пользователь вводит несколько чисел, программа берет только первое, а на остальные забивает, вот и всё.
3) Самое простое - сделай ввод числа не через текстовое поле, а через ползунок, который пользователь выставляет в нужное положение. Таким образом, и минимум-максимум строго ограничены, и число будет строго одним
Ответ от Serg Serg[гуру]
полная херня
полная херня
Ответ от Ўрий-17[гуру]
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
char c,s[3]={0,0,0};
int k=0;
for(;;)
{
while(!kbhit()); c=getch();
if(!c) c=getch();
if(c==13) if(atoi(s)) break;
if(c==0x08) if(k) s[--k]=0,cout<<" ";
if(k < 2)
{
if(k)
{
if(s[0]==48) if(c>=49&&c<57) s[k++]=c;
if(s[0]==49) if(c>=48&&c<57) s[k++]=c;
if(s[0]==50) if(c==48) s[k++]=c;
}
else
if(c >= 48&&c < 57) s[k++]=c;
cout << '
' << s;
}
}
k=atoi(s);
cout << "
Введён вариант № " << k << endl;
}
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
char c,s[3]={0,0,0};
int k=0;
for(;;)
{
while(!kbhit()); c=getch();
if(!c) c=getch();
if(c==13) if(atoi(s)) break;
if(c==0x08) if(k) s[--k]=0,cout<<" ";
if(k < 2)
{
if(k)
{
if(s[0]==48) if(c>=49&&c<57) s[k++]=c;
if(s[0]==49) if(c>=48&&c<57) s[k++]=c;
if(s[0]==50) if(c==48) s[k++]=c;
}
else
if(c >= 48&&c < 57) s[k++]=c;
cout << '
' << s;
}
}
k=atoi(s);
cout << "
Введён вариант № " << k << endl;
}
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: C++ Проверка правильности ввода данных.
спросили в Интернет
Не могу зайти на некоторые сайты, что делать? (соединение сброшено)
внимательно, не торопясь и по порядку:
1-
В 99 процентах случаев блокирование доступа к
подробнее...
Не могу зайти на некоторые сайты, что делать? (соединение сброшено)
внимательно, не торопясь и по порядку:
1-
В 99 процентах случаев блокирование доступа к
подробнее...
Проверка чисел на простые и если они простые просуммировать их.Язык C#
Программу писать долго.
Алгоритм:
сумма=0
принимаем число, все простые меньше
подробнее...
спросили в Интернет
На данный момент проводятся технические работы. Извините за неудобства. что за фигня? в одноклассниках и в контакте!
позвони этой девочке и все дела.. .
если идут технические работы, тут нечем
подробнее...
На данный момент проводятся технические работы. Извините за неудобства. что за фигня? в одноклассниках и в контакте!
позвони этой девочке и все дела.. .
если идут технические работы, тут нечем
подробнее...
Касперский блокирует интернет. Что сделать?
всё верно, с тебя идёт спам, вот Каспер и блокирует трафик, одноклассники, вконтакте, другие сайты
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
Линейный блочный код, коды Хеминга, Порождающая матрица и Проверочная матрица.
Я не особый спец по этому вопросу, особенно в теории, но решение задачи о поиске позиции ошибки
подробнее...
Помогите написать проверку на вводимое число в C#
Показывайте код.
Вообще есть TryParse
Scanf? точно С#?
Если всё-таки C#,
подробнее...
Проверка на простое число
курить решето эратосфена, или например вот:
есть более мозго**ные методы, но подозреваю
подробнее...
почему я не могу изменить файл hosts в папке system 32?
Чтобы его редактировать - нужны права администратора. Для этого загрузите систему в безопасном
подробнее...
спросили в C++
Помогите сделать лабораторную работу по теме \"Одномерные массивы\" [C++]
Разве это C++?
Вот C++ =)
Блок-схема не нужна. т. к. при использовании С++ STL библиотек
подробнее...
Помогите сделать лабораторную работу по теме \"Одномерные массивы\" [C++]
Разве это C++?
Вот C++ =)
Блок-схема не нужна. т. к. при использовании С++ STL библиотек
подробнее...
спросили в Bell Media
Помогите решить в c++ методом половинного деления
#include <iostream>
#include <iomanip>
#include <string>
using
подробнее...
Помогите решить в c++ методом половинного деления
#include <iostream>
#include <iomanip>
#include <string>
using
подробнее...
C++ Функция проверки числа на простоту
В функции 🙂
Во первых считает она в цикле неправильно.
for(i=num-1; i<1; --i) // тут
подробнее...
спросили в EMI
что означают полоски и цифры на штрих-коде??? и для чего он нужен
#yaimg17801#Первые 2-3 цифры кода означают принадлежность к различным региональным отделениям EAN
подробнее...
что означают полоски и цифры на штрих-коде??? и для чего он нужен
#yaimg17801#Первые 2-3 цифры кода означают принадлежность к различным региональным отделениям EAN
подробнее...