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

Проверка ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вводить название фигуры, выводить формулу для вычисления площади этой фигуры http://www.cyberforum.ru/cpp-beginners/thread117808.html
Вводить название фигуры (треугольник, квадрат, ромб, прямоугольник) выводить формулу для вычисления площади этой фигуры.
C++ Выбор Ввести первую букву названия реки. Вывести справку о его длину и количество притоков. http://www.cyberforum.ru/cpp-beginners/thread117807.html
C++ Глобальная переменная
Никогда с таким не сталкивался... В общем: Надо обьявить глобальный масив в одной функции, но чтобы его видели все другие функции. Вне функции обьявить нельзя. А что делать?
C++ C++: класс матрица. Действия с ними
Вечер добрый. Делаю следующую лабу - уже забадался... Суть: сделать класс "матрица". В объекте "матрица" должны быть перегружены операторы +, -, *, /. Записать в файл. Реализовать метод "детерминант". Вот то, что вышло. Оно работает. #include <iostream.h> #include <conio.h> #include <math.h> class matrix { // клас матриця
C++ Команда выбора http://www.cyberforum.ru/cpp-beginners/thread117784.html
Заданы три действительных числа. Выберите из них те, которые принадлежат промежутке (-4,8).
C++ хэш-функция Здрасти. Почитал тут про хэш-ф-ии, и был приведен пример: hashVal=(hashVal*128+key)%tableSize; А Что означает величина 128? И почиму она именно 128? подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
17.04.2010, 16:00     Проверка ввода
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main(){
    int i = 0;
    float X;
    char c = 0, x[10];
 
    while(c != 13){
        c = getch();
        if(c == 8){
            cout << "\b \b";
            x[(i--)-1] /= 10;
        }
        if(c >= '0' && c <= '9'){
            x[i] = c;
            cout << x[i];
            i++;
        }
    }
 
    X = atof(x);
    cout << endl << X << endl;
 
    system("pause");
}
вот простенький пример, правда нельзя вводить отрицательные числа и числа с плавающей точкой, но это можно доделать
13 - ASCII код Enter
8 - ASCII код Backspace
сначала мы просто проверяем нажатую клавишу на совпадение с диапазоном кодов клавиш, которые мы разрешили вводить (0 - 9)
если совпадает записываем в массив типа char и выводим на экран, если нет - ниче не делаем, при нажатии backspace удаляем символ из массива и затираем символ на экране, после нажатия Enter мы переводим массив символов в число и теперь есть готовое число типа int
 
Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru