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

Сообщить одной функции другую - C++

Восстановить пароль Регистрация
 
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
28.04.2013, 00:50     Сообщить одной функции другую #1
Экспериментирую с функциями, вот решил написать две функции. одна для расчета другая для вывода. Вопрос гду ошибка. Или так просто нельзя делать?
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
#include <iostream>
using namespace std;
double vklad,stavka,srok;
double output(double *result){
    double c;
    cout << "Ведите сумму вклада: ";
    cin >> vklad;
    cout << "Введите процент ставки: ";
    cin >> stavka;
    cout << "Срок ставки:";
    cin >> srok;
    c=result(vklad,stavka,srok);
    return c;
}
double result(double,double,double){
    double c = (vklad*(stavka/100/365)*srok);
    return c;   
}
 
 
int main(){
    setlocale(LC_ALL, "Russian");
    double result();
    cout << output(*result);
    result(vklad,stavka,srok);
 
    system("PAUSE >> void");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.04.2013, 01:02     Сообщить одной функции другую #2
можно , но как правило сначало объявляют портатип функции , а в конце программы делают реализацию функции , а вы пытаетесь исползовать double result в double output когда о первой не чего не известно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
28.04.2013, 01:06     Сообщить одной функции другую #3
okman, в функцию нужно передавать переменные, которые являются/меняются совместно с результатом работы другой функции. Указатели на функции пишутся не так и здесь они не нужны.
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.04.2013, 01:07     Сообщить одной функции другую #4
и вообще код очень кривой и наверника милион ошибок
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
28.04.2013, 01:16     Сообщить одной функции другую #5
Думаю, ТС хотел что-то подобное:
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
#include <iostream>
#include <clocale>
#include <cstdlib>
 
using namespace std;
 
double result(double vkl, double st, double sr)
{
    return vkl * (st/36500.0) * sr;
}
 
double output()
{
    double vklad, stavka, srok;
    cout << "Ведите сумму вклада: ";
    cin >> vklad;
    cout << "Введите процент ставки: ";
    cin >> stavka;
    cout << "Срок ставки: ";
    cin >> srok;
    return result(vklad, stavka, srok);
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    std::cout << "Результат: " << output();
    system("PAUSE >> void");
    return 0;
}
Хотя ввод/вывод из функций я бы убрал.
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
28.04.2013, 01:16  [ТС]     Сообщить одной функции другую #6
Цитата Сообщение от Игорь с++ Посмотреть сообщение
и вообще код очень кривой и наверника милион ошибок
Спасибо что не сомневаешься во мне, но там их три)
Можешь исправить программу чтобы она работала?)
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
28.04.2013, 01:20     Сообщить одной функции другую #7
Цитата Сообщение от okman Посмотреть сообщение
double result(double,double,double){
ну а имена параметрам кто давать будет?
откуда функция знает что такое
Цитата Сообщение от okman Посмотреть сообщение
vklad*(stavka/100/365)*srok);
stavka? srok? vklad?
Цитата Сообщение от okman Посмотреть сообщение
double result();
что возвращает функция? где имя переменной?
и в объявлении у тебя три параметра а вызываешь без них
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
28.04.2013, 01:59  [ТС]     Сообщить одной функции другую #8
Цитата Сообщение от MrGluck Посмотреть сообщение
Думаю, ТС хотел что-то подобное:
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
#include <iostream>
#include <clocale>
#include <cstdlib>
 
using namespace std;
 
double result(double vkl, double st, double sr)
{
    return vkl * (st/36500.0) * sr;
}
 
double output()
{
    double vklad, stavka, srok;
    cout << "Ведите сумму вклада: ";
    cin >> vklad;
    cout << "Введите процент ставки: ";
    cin >> stavka;
    cout << "Срок ставки: ";
    cin >> srok;
    return result(vklad, stavka, srok);
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    std::cout << "Результат: " << output();
    system("PAUSE >> void");
    return 0;
}
Хотя ввод/вывод из функций я бы убрал.
Спасибо за помощь, изначально хотел так написать но не знал что можно, спасибо)

Добавлено через 37 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
ну а имена параметрам кто давать будет?
откуда функция знает что такое

stavka? srok? vklad?

что возвращает функция? где имя переменной?
и в объявлении у тебя три параметра а вызываешь без них
Я уже исправил программу, а вот если я захочу одной функции другую передать, как мне это сделать?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
28.04.2013, 02:46     Сообщить одной функции другую #9
okman, существуют указатели на функцию, но я на 99% уверен, что вам не это необходимо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 03:54     Сообщить одной функции другую
Еще ссылки по теме:

C++ Как передать массив из одной функции в другую?
C++ Как передать значение из одной функции в другую?
Перенос динамического массива из одной функции в другую C++

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

Или воспользуйтесь поиском по форуму:
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
28.04.2013, 03:54     Сообщить одной функции другую #10
Цитата Сообщение от okman Посмотреть сообщение
одной функции другую передать
Результат передать? Тогда просто вызови функцию в вызове функции X( Y, sum(A) );
Yandex
Объявления
28.04.2013, 03:54     Сообщить одной функции другую
Ответ Создать тему
Опции темы

Текущее время: 18:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru