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

Переписать программу используя пользовательские функции - C++

Восстановить пароль Регистрация
 
fogfog
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 22
18.09.2013, 18:47     Переписать программу используя пользовательские функции #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
#include <tchar.h>
#include <iostream>
#include <math.h>
#include <windows.h>
#include <vcl.h>
using namespace std;
void main(void)
{
 double y1,y2,y3=1,res=0,s;
 for (double x=-2; x<=-1.5; x=x+0.001)
 {
     y1=pow(x,2)+4*x+5;
     s=(y1-y3)*0.001;
     res=res+s;
 }
  for (double x=-1.5; x<=-1; x=x+0.001)
 {
     y2=pow(x,2)+2*x+2;
     s=(y2-y3)*0.001;
     res=res+s;
 }
  cout<<"S = "<<res<<endl;
  system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
18.09.2013, 18:49     Переписать программу используя пользовательские функции #2
Цитата Сообщение от fogfog Посмотреть сообщение
Переписать программу используя пользовательские функции
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 <tchar.h>
#include <iostream>
#include <math.h>
#include <windows.h>
#include <vcl.h>
using namespace std;
 
void foo(){
   std::cout<<"пользовательская функция"<<std::endl;
}
 
void main(void)
{
 foo();
 double y1,y2,y3=1,res=0,s;
 for (double x=-2; x<=-1.5; x=x+0.001)
 {
     y1=pow(x,2)+4*x+5;
     s=(y1-y3)*0.001;
     res=res+s;
 }
  for (double x=-1.5; x<=-1; x=x+0.001)
 {
     y2=pow(x,2)+2*x+2;
     s=(y2-y3)*0.001;
     res=res+s;
 }
  cout<<"S = "<<res<<endl;
  system("pause");
}
Raali
18.09.2013, 18:52
  #3

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
void foo(){
* *std::cout<<"пользовательская функция"<<std::endl;
}
забыл подписать - какой вопрос такой и ответ)

fogfog
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 22
15.10.2013, 11:17  [ТС]     Переписать программу используя пользовательские функции #4
ошибка при компелировании на void, как исправить?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
15.10.2013, 11:21     Переписать программу используя пользовательские функции #5
int main
fogfog
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 22
15.10.2013, 11:35  [ТС]     Переписать программу используя пользовательские функции #6
тоже самое(
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
15.10.2013, 11:48     Переписать программу используя пользовательские функции #7
Я так понимаю нужно что-то типо этого:

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
#include <tchar.h>
#include <iostream>
#include <math.h>
#include <windows.h>
 
using namespace std;
 
void func_one(double &res)
{
    for( double x = -2; x <= -1.5; x += 0.001)
    {
        double y = pow(x,2) + 4*x + 5;
        res += (y - 1) * 0.001;
    }
}
 
void func_two(double &res)
{
    for (double x = -1.5; x <= -1; x += 0.001)
    {
        double y = pow(x,2) + 2*x + 2;
        res += (y-1)*0.001;
    }
}
 
void main(void)
{
    double res = 0;
    func_one(res);
    func_two(res);
    cout<<"S = "<<res<<endl;
    system("pause");
}
Код рабочий, тестил все ок! Немного комментов:

1) void func_one( double &res )
это знак '&' означает что мы передаем ОБЪЕКТ res, то есть не его ЗНАЧЕНИЕ, а именно объект! Все изменения какие произойдут с ОБЪЕКТОМ в функции func_one() останутся и в функции main()

P.S. а вообще совет на будущее: ВСЕГДА таким образом и стройте ваши приложения (это принцип ООП называется)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
15.10.2013, 18:49     Переписать программу используя пользовательские функции #8
Цитата Сообщение от rpsv Посмотреть сообщение
то есть не его ЗНАЧЕНИЕ, а именно объект!
ССЫЛКУ, то бишь загримированный Киркоров указатель
Цитата Сообщение от rpsv Посмотреть сообщение
C++
1
2
3
#include <tchar.h>//Это не надо
#include <windows.h>//Это тоже
//P.S. для system есть cstdlib
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 21:48     Переписать программу используя пользовательские функции
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
15.10.2013, 21:48     Переписать программу используя пользовательские функции #9
Croessmah, ну с заголовками я не запаривался))

А разве не так:
C++
1
2
3
4
5
6
7
8
//
// Указатель
//
int* x;
//
// Ссылка на ОБЪЕКТ
//
int* y = &x
Yandex
Объявления
15.10.2013, 21:48     Переписать программу используя пользовательские функции
Ответ Создать тему
Опции темы

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