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

Разнести весь код из main по отдельным функциям - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ OpenIM - не работает распараллеливание циклов http://www.cyberforum.ru/cpp-beginners/thread1103602.html
void Multiplication(int a, int b) { int c; int i; int j; int count(0); omp_set_num_threads(count); #pragma omp parallel #pragma omp for firstprivate(j) lastprivate(i) for(i = 0; i < 5; i+=1) // i = ряд матрицы a
C++ Переполнение include Здравствуйте! Такой вопрос есть класс Program и класс Universe, в классе Program я подключаю(#include) Universe.cpp, а в классе Universe подключаю(#include) Program.cpp. Вылезает ошибка, поразмыслив я понял что это вполне логично происходит какой-то закольцованный #include как от этого избавиться? Пробовал #pragma once не помогло( С++ токо начал копать, так что извините если слишком банальный... http://www.cyberforum.ru/cpp-beginners/thread1103600.html
Почему отказались от #ifndef? C++
Всем привет, Лафоре пишет, что от использовании директивы #ifndef стали отказываться в пользу #if !defined(). Может кто-нибудь объяснить почему?
C++ Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе
Доброго времени! Написал на днях тетрис (в консоле) с использованием, кажется это называется WinApi. В цикле вызывается функция отрисовки фигуры, которая в свою очередь вызывает п\п отрисовки кубика. Удаление его осуществляется той же функцией только закрашивает поверх отрисованного цветом фона (так как не знаю возможно ли просто удалить нарисованное). Все классно работает до...
C++ Автоматизированное тестирование ПО http://www.cyberforum.ru/cpp-beginners/thread1103575.html
Доброго времени суток! Даже незнаю, в правильный ли раздел форума обращаюсь...Есть ли здесь информация, про автоматизированное тестирование программ. Примеры написания тестов для программ?
C++ Обращение к свойству класса в динамической памяти Здравствуйте! Возникла проблема с обращением к свойству класса, расположенному в динамической памяти. Пойду по порядку. Создаю вот такой класс: class Number { private: double *num; public: Number() {num = new double;} ~Number() {} подробнее

Показать сообщение отдельно
Spect
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 75
23.02.2014, 19:06     Разнести весь код из main по отдельным функциям
Нужно что-бы все вычисления проводились через функции.
Как мне перенести вычисления, a1,a2,a3,b1... и так далее, из мэйна в отдельную функцию?
Если код можно как-то упростить, тоже пишите!
Буду очень признателен за помощь.

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
 
using namespace std;
void R0(double);
 
void if2(double, double, double, double, double, double, double, double, double, double, double,double,double,double,double,double,double,double,double,double);
bool if1(double, double, double, double, double, double, bool);
 
void R0(double r)
{
    while (r<0)
    {
        cout<<"\nРадиус меньше нуля - ошибка!\nВведите радиус повторно\n";
        cin>>r;
    }
 
    while (r==0)
    {
        cout<<"\nРадиус равен нулю - ошибка!\nВведите радиус повторно\n";
        cin>>r;
    }
}
 
void if2(double x, double y, double x1, double y1, double x2, double y2, double x3, double y3, double R1, double R2, double R3, double y4,double y5,double y6,double a1,double a2,double a3,double b1,double b2,double b3)
{
    
    if ((pow((x-x1),2)+pow((y-y1),2) <= pow(R1,2) || pow((x-x2),2)+pow((y-y2),2) <= pow(R2,2) || pow((x-x3),2)+pow((y-y3),2) <= pow(R3,2)) || ((y>y4)&&(y>y5)&&(y<y6)))
        cout<<"\nДанная точка принадлежит заданной области"<<endl;  
    else cout<<"\nДанная точка не принадлежит заданной области"<<endl;
}
 
 
 
bool if1(double x1, double y1, double x2, double y2, double x3, double y3, bool f)
{
    if (((x2-x1)*(y3-y1) - (y2-y1)*(x3-x1))==0)
    {
        cout<<"\nОшибка.Центры окружностей лежат на одной прямой!\nВведите их повторно\n"<<endl;
        return true;
    }
    else return false;
}
 
 
 
int main()
{
    setlocale(LC_ALL,"Russian"); 
    bool f=true;
    double x,y,x1,y1,x2,y2,x3,y3,R1,R2,R3,a1,b1,y4,a2,b2,a3,b3,y5,y6;
    
    do
    {
    cout<<"Введите координаты центра первой окружности х1,у1:\n";cin>>x1>>y1;
    cout<<"Введите радиус данной окружности:";cin>>R1;
    R0(R1);
    cout<<"Введите координаты центра второй окружности х2,у2:\n";cin>>x2>>y2;
    cout<<"Введите радиус данной окружности:"; cin>>R2;
    R0(R2);
    cout<<"Введите координаты центра третьей окружности х3,у3:\n";cin>>x3>>y3;
    cout<<"Введите радиус данной окружности:"; cin>>R3;
    R0(R3);
    f= if1(x1, y1, x2, y2, x3, y3,f);
    }
    while (f);
    cout<<"Введите х,у :\n"; cin>>x>>y;
 
    a1=(y1-y3)/(x1-x3);
    b1=y1-a1*x1;
    y4=a1*x+b1;
    
    a2=(y3-y2)/(x3-x2);
    b2=y3-a2*x3;
    y5=a2*x+b2;
 
    a3=(y2-y1)/(x2-x1);
    b3=y2-a3*x2;
    y6=a3*x+b3;
 
    if2(x,y,x1,y1,x2,y2,x3,y3,R1,R2,R3,y4,y5,y6,a1,a2,a3,b1,b2,b3);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru