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

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

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

Передача параметров функциям. Можно ли изменить этот параметр внутри функции - C++

17.03.2014, 02:00. Просмотров 278. Ответов 2
Метки нет (Все метки)

Доброго времени суток, господа знатоки.В универе препод задал сделать проверку входных данных на ошибку.Я полазил по форумам и нашел вот такой вариант:
C++
1
2
3
4
5
6
double number;
    while ((cin >> number).fail() || cin.get() != '\n')//цикл который повторяется пока не будет присвоено значение переменной number
    {
        cin.clear();
                cin.sync();
         }
Но потом меня посетила идея написать функцию что б не нужно было каждый раз писать код написанный выше.Но столкнулся с проблемой.Если я правильно понимаю то когда мы передаем параметры функции то используются не сами параметры, а их копии, как я понял нельзя изменять параметр который я передаю функции в самой функции.Возможно использование указателей решит мою проблему на данный момент я написал такую функцию:
C++
1
2
3
4
5
6
7
8
9
10
double vertification()//описание функции vertification
{
    double number;
    while ((cin >> number).fail() || cin.get() != '\n')//цикл который повторяется пока не будет присвоено значение переменной number
    {
        cin.clear();
        cin.sync();
    }
    return number;
}
Возможно вы могли б помочь написать ее так что б если я напишу vertification(x) то функция записывала б значение в х сразу и без промежуточный переменных. Заранее спасибо за помощь)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 02:00     Передача параметров функциям. Можно ли изменить этот параметр внутри функции
Посмотрите здесь:

Как можно изменить параметр шаблона (template)? - C++
есть такие классы: class abstract { public: virtual int method() = 0; // Допустим }; class A: public abstract {

Передача функции как параметр шаблона - C++
Хочу передавать в шаблон любую функцию без параметров и вызывать ее из него. Как это сделать? Не работает, но примерно так должно...

Передача параметров функции - C++
Добрый день! Помогите, пожалуйста с передачей параметров по функциям. Как использовать функцию check2 в функции...

Передача параметров функции - C++
доброго времени суток:) есть программа реализующая метод градиентного спуска. но да это неважно есть функция Norm. значение этой...

Передача параметров в функции - C++
Здравствуйте Помогите, пожалуйста, разобраться с передачей параметров. Задание : создать класс "Треугольник", определить углы и тип...

Передача параметров функции - C++
Не могу передать значение переменной функции. По идее все правильно, но она берет только последнее значение, а ещё может зациклиться. ...

Передача параметров функции в main() - C++
Вот у меня есть две функции, которые в дальнейшем нужно вызвать в void main (). int Chislo(int *ar, int razmer) void Set_card(int...

Передача размерности массива как параметр из одной функции в другую. - C++
Вообщем написал программу. Всё работает как надо, кроме одного, никак не могу сделать чтобы размерность массива, которая вводится в "main"...

Передача параметров функции с пoмощью указателя - C++
Всем доброго времени суток, есть обычная функция, возвращающая сумму цифр числа: int sumOfNum(int N) { int sum = 0; while(N >...

Передача параметров во виртуальные функции, перегрузка - C++
нужна помощь. имеется абстрактный класс Base, объекты которого будут храниться в контейнере, который я сам реализовал. наследники Base...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2014, 03:06     Передача параметров функциям. Можно ли изменить этот параметр внутри функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
void vertification(double& number);
...
void vertification(double& number) //определение функции vertification
{
    while ((cin >> number).fail() || cin.get() != '\n')//цикл который повторяется пока не будет присвоено значение переменной number
    {
        cin.clear();
        cin.sync();
        // тут сообщение об ошибке и указание на повторный ввод
    }
}
Добавлено через 42 секунды
Цитата Сообщение от alsav22 Посмотреть сообщение
cin.sync();
Не сработает в Linux. Можно заменить на:
C++
1
 while (cin.get() != '\n');
или
C++
1
cin.ignore(numeric_limits<streamsize>::max(), '\n');
pro100skif
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 41
17.03.2014, 03:56  [ТС]     Передача параметров функциям. Можно ли изменить этот параметр внутри функции #3
Спасибо за помощь.
Yandex
Объявления
17.03.2014, 03:56     Передача параметров функциям. Можно ли изменить этот параметр внутри функции
Ответ Создать тему
Опции темы

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