Форум программистов, компьютерный форум 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
18.04.2010, 17:23     Проверка ввода
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void enter(float&);
 
void main(){        
    float x = 2;
    enter(x);
    cout << endl << x << endl;
    system("pause");
}
 
void enter(float &X){
    int i = 0;
    char c = 0, x[10];
    x[0] = 'x';
        
        while(c != 13){
                c = getch();
        if(c == 8){
                        if(x[i] != 'x'){
                                cout << "\b \b";
                                x[(i--)-1] /= 10;
                }
                        if(i == 0)
                x[i] = 'x';
                }
                if(c >= '0' && c <= '9'){
                        x[i] = c;
                        cout << x[i];
                        i++;
                }
    }
 
        if(x[0] != 'x')
        X = atof(x);
}
теперь все, как просили, ничего не жмем, х остается таким, как был прежде)
для проверки в ф-ции main() пишем х, чтобы убедится в том, какое именно значение х остается после ввода, прежнее или введенное и обработанное ф-цией)

p.s. спасибо вам, Morfiy, благодаря вашим замечаниям ф-ция стала лучше)
 
Текущее время: 00:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru