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

Передать данные из одной функции в другую и т.д. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
Simplik
0 / 0 / 0
Регистрация: 01.10.2011
Сообщений: 8
01.10.2011, 12:18     Передать данные из одной функции в другую и т.д. #1
Добрый день, подскажите пожалуйста, как передать данные из одной функции в другую, уже весь мозг себе вынес.
Вообщем есть 3 функции, в первой вводим данные, вторая занимается подсчётами тех данных, которые мы вводим в первой, третья выводит результаты работы второй.



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
40
41
42
#include <stdlib.h>
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
char* DosStr(char* src);
 
int vvod (int *ai, int *aj)   // Функция ввода данных
{
    std::cout << DosStr("\nНАЧНЁМ ВВОД ДАННЫХ");
    std::cout << DosStr("ВВедите первое число- ");
    cin >> *aj;
    std::cout << DosStr("ВВедите второе число- ");
    cin >> *ai;
    return 0;
}
int arifmetika (int *ai, int *aj) // Функция подсчёта 
{   
    *ai + *aj                // допустим хочу сложить эти два числа
    return 0;
}
 
int vivod (int *ai, int *aj) // Функция вывода
{                        // хочу вывести сумму *aj и *ai
    return 0;
}
 
int main()
{ 
int i=5, j=4;
                   
    arifmetika (&i, &j);    //  сложить i и j    
    vivod (&i, &j);        //  вывести сумму    
    cin.get();
}
 
char* DosStr(char* src)
{
    static char buf[1024];
    CharToOem(src, buf);
    return buf;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2011, 12:18     Передать данные из одной функции в другую и т.д.
Посмотрите здесь:

C++ можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
C++ Сообщить одной функции другую
как переменную из одной функции передать в другую? C++
Как передать массив из одной функции в другую C++
Как передать значение переменной из одной функции в другую функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bretba
 Аватар для bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
01.10.2011, 12:37     Передать данные из одной функции в другую и т.д. #2
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
#include <conio.h>
#include <iostream>
using namespace std;
void vvod(int *a,int *b)
{
    cout<<"vvedite 1 4islo\n";
    cin>>*a;
    cout<<"vvedite 2 4islo\n";
    cin>>*b;
}
 
int pods4et(int a,int b)
{
    int c=a+b;
return c;
}
 
void main()
{
int a;
int b;
vvod(&a,&b);
cout<<"resulbtat: "<<pods4et(a,b);
_getch();
}
не вижу смысла заводить функцию вывода..
Simplik
0 / 0 / 0
Регистрация: 01.10.2011
Сообщений: 8
01.10.2011, 12:48  [ТС]     Передать данные из одной функции в другую и т.д. #3
Цитата Сообщение от bretba Посмотреть сообщение
не вижу смысла заводить функцию вывода..
Ну просто мне надо будет передавать массив данных на вывод, для одной функции, а потом используя данные подсчитанные в первой функции, занести в следующую. А потом вывести результат для первой и для второй.

Вообщем ввели данные в функцию, она передала данные(массив, вернее указатель на массив из float) в другую функцию, там подсчитала, и потом результат обеих функций (2 указателя на массив из float) надо вывести.
bretba
 Аватар для bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
01.10.2011, 12:51     Передать данные из одной функции в другую и т.д. #4
я не понял совсем какие два массива она выведет?исходный и который получился чтоли?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 12:55     Передать данные из одной функции в другую и т.д. #5
Цитата Сообщение от Simplik Посмотреть сообщение
как передать данные из одной функции в другую
Ты уже сам всё правильно написал! Именно так, через указатель, и передаются изменяемые данные.
Только для массивов тебе ещё придётся размерность передавать.
Simplik
0 / 0 / 0
Регистрация: 01.10.2011
Сообщений: 8
01.10.2011, 13:16  [ТС]     Передать данные из одной функции в другую и т.д. #6
Надо было сразу описывать проблему глобально...тупанул.
Функция ввода - ввели данные, передали во вторую.
Вторая функция - подсчитала данные, взяла некоторые данные из функции ввода.
Третья функция - взяла некоторые данные из второй и произвела свои арифметические вычисления.
Функция вывода - вывела результаты работы второй и третьей.

Добавлено через 18 минут
Вот сама программа, без использования функций я её написал, без красивостей, но работает, как надо. Надо её оформить в виде функций. Функция ввода, вывода, расчётов.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
#include <iomanip>
#include <windows.h>
 
int   main()
{
cout.precision( 3 );
cout.setf( ios::fixed );
cout.width( 7 );
int p,i=0;
float trt[10];
float out[10];           
int n,tn,tk,tm,um,uin;
float aa,b,del,t,u;
 
n = 4; tn = 1; tk = 7; tm = 4; um = 6, uin = 3;    // Данные которые надо будет вводить
t = 1;
               // ВХОДНЫЕ - один массив
u = 6;
del = (tk-tn)/(n-1);        // арифметические операции
aa = um/(tm-tn);            // арифметические операции
b = um/(tk-tm);             // арифметические операции
  i=0;
  for(i=0;i<4;i++)
                   { if (t>4) { cout <<  "\n t= " << t;
                  
                        u = b*(tk-t);
                        trt[i] = u;
                        cout << " vnodnie = " << u;
                               }
                     else {
                             cout << "\n t= " << t;
                        u = aa*(t-tn);
                        trt[i] = u;
                        cout << " vnodnie= " << u;
                          }
                             t = t + del;
                   }
                    //ВЫХОДНЫЕ - другой массив
cout <<"\n \n";
float uin2;
      i=0;
      for(i=0;i<4;i++)
                   { if (trt[i]<uin) { cout <<  "\n t= " << t;
                                      out[i] = 4;
                          cout << "  vihodnie = " << out[i];                 
                                      }
                     else {
                             cout << "\n t= " << t;
                             out[i] = (trt[i]-1)*(trt[i]-1);
                          cout << "  vihodnie = " << out[i];
                          }
                   }   
 
cin.get();            
}
Результат работы программы
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 13:18     Передать данные из одной функции в другую и т.д. #7
Передавай в функции ДВА массива. В одном входные данные во втором будут выходные ПОСЛЕ возврата из функции.
Simplik
0 / 0 / 0
Регистрация: 01.10.2011
Сообщений: 8
01.10.2011, 13:59  [ТС]     Передать данные из одной функции в другую и т.д. #8
Вывод через функции сделал, всё работает. Но как передать данные из функции vvod в функцию raschet?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void vvod  (float &n,  float &tn)
{ 
  cout << "vvod";
  cin >> n;
  cout << "vvod";
  cin >> tn;
}
 
void raschet  (float &n,  float &tn)
{ 
  float rezultat1 = n * tn; // и как это передать в вывод?
  float rezultat2 = n - tn; // и как это передать в вывод?
}
 
void vivod (float *n, float *tn)
{
  cout << n << " " << tn;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 14:11     Передать данные из одной функции в другую и т.д.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 14:11     Передать данные из одной функции в другую и т.д. #9
Передавай в расчёт те же переменные, которые передаёшь во ввод.
Если не понятно, почему так, почитай про ссылки про указатели, станет понятнее.
Yandex
Объявления
01.10.2011, 14:11     Передать данные из одной функции в другую и т.д.
Ответ Создать тему
Опции темы

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