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

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

Войти
Регистрация
Восстановить пароль
 
leli4k@
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 8
#1

Определить, в какую из имеющихся на плоскости областей попадает точка с заданными координатами - C++

22.12.2012, 16:03. Просмотров 667. Ответов 0
Метки нет (Все метки)

не все области находит

Даны несколько фигур согласно вариантам, которые разбивают плоскость на области. Координатные оси не считаются. Вводятся координаты точки (x,y). Необходимо разработать программу, которая определяет, в какую из имеющихся на плоскости областей попадает точка с заданными координатами. Программа должна выводить сообщение о номере области.
Требования:
Интерфейс ввода координат и отображения результатов должен быть реализован в главной функции Main(). Проверка условий должна быть реализована отдельной функцией, назовем её CheckArea(). Функция CheckArea() вызывается из Main() и возвращает номер области, в которую попала точка, не выводя никаких сообщений. Функция Main() вводит координаты точки и выводит сообщение о результате. Для проверки попадания в определенную фигуру, разработать отдельные функции, которые должны вызываться из CheckArea().
Тестирование:
В данной задаче тестовыми случаями будут координаты точек для каждой области на плоскости.
Комментарии:
Фигуры заданы координатами точек. Используя координаты необходимо вывести уравнения этих фигур. Далее, используя уравнения, составить условия, проверяющие попадание в каждую область. Затем составить алгоритм, последовательно проверяющий эти условия. В справке найти описание функций форматного ввода-вывода. Используйте, например scanf() или cin>> для ввода и printf() или cout<< для вывода.
Оформление:
1. Текст задания
2. Рисунок фигур на плоскости с указанием номеров областей
3. Уравнения фигур (с выводом, где надо)
4. Перечень условий проверок попаданий по всем областям
5. Тест-план (x ; y ; номер области)
6. Блок-схемы и описание алгоритмов
7. Листинг программы с комментариями


задание :
3. Дан квадрат с вершинами в точках: (0,0), (8,0), (8,8), (0,8). В центре квадрата – точка (4,4) – находится окружность радиусом r=3. Из центра окружности исходят две прямые линии к вершинам квадрата (0,8) и (8,8) соответственно
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <locale.h>
 
using namespace std;
 
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри окружности (true) или снаружи окружности (false)
*/
bool InCircle (double x, double y)
{
  return (((x - 4.0)*(x - 4.0) + 
           (y - 4.0)*(y - 4.0)) <= 3.0) ? true : false;
 
}
 
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри квадрата(true) или снаружи квадрата (false)
*/
bool InSquare (double x, double y)
{
  return (y <= 8.0 && y >= 0 && 
          x >= 0 && x <= 8.0) ? true : false;
 
}
 
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри трапеции (true) или снаружи трапеции (false)
*/
bool InTriagle (double x, double y)
{
  return (y <= 8.0 && (x-y)<=4.0 &&
      x>=4.0 && (y-x)<=4.0) ? true : false;
 
}
 
/*
    Функция проверяет, какой области принадлежит точка 
    с координатами (x,y) и возвращает номер области от 1 до 5
*/
int CheckArea(double x, double y)
{
  bool bCircle = InCircle(x,y);
  bool bSquare = InSquare (x,y);
  bool bTriagle = InTriagle (x,y);
 
  if(bCircle == true && bSquare == true && 
     bTriagle == true) return 1;
 
  else if(bCircle == true && bSquare == true && 
          bTriagle == false) return 2;
 
  else if(bCircle == false && bSquare == true && 
          bTriagle == false) return 3;
 
  else if(bCircle == false && bSquare == true && 
          bTriagle == true) return 4;
 
  else if(bCircle == false && bSquare == false && 
          bTriagle == false) return 5;
 
}
 
/*
    Главная функция. Реализует интерфейс с пользователем.
*/
void main(void)
{
  char ch;
  double x,y;
 
  do 
  {
    cout << "\nEntry X: ";
    cin >> x;
    
    if(cin.fail())
    {  
       cin.clear();
       cout << "Incorrect X-value";
    }
    else
    {  cout << "\nEntry Y: ";
       cin >> y;
 
       if(cin.fail())
       {
          cin.clear();
          cout << "Incorrect Y-value";
       }
       else
       {
          cout << "\nPoint is placed in area: " << CheckArea(x,y);
       }
    }
    cin.sync();
    cout << "\nDo you want to entry a new point [Y/N]?";
    cin.get(ch);
  }
  while((ch == 'Y') || (ch == 'y'));
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 16:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, в какую из имеющихся на плоскости областей попадает точка с заданными координатами (C++):

Определить, попадает ли точка с заданными координатами в 4 четверть - C++
Определить, попадает ли точка с заданными координатами в 4 четверть координатной плоскости.

Определить, попадает ли точка с заданными координатами в область - C++
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную из рисунка серым цветом....

Определить, попадает ли точка с заданными координатами в закрашенную область - C++
Привет всем! :) Помогите, пожалуйста, решить задачу: Написать программу, которая определяет, попадает ли точка с заданными координатами в...

Определить, попадает ли точка с заданными координатами в заштрихованную область - C++
Не могу составить код! Задача:Определить, попадает ли точка с координатами {x,y} в данную область

Определить, попадает ли точка с заданными координатами (x, y) в заштрихованную область - C++
Помогите пожалуйста. Я учусь на 1 курсе. Преподаватель заболел в то время когда нам обьясняли как делать лаб работу и его замещал другой...

Определить, попадает ли точка с координатами в закрашенные области с заданными параметрами - C++
Определить, попадает ли точка с координатами {x,y}в закрашенные области с заданными параметрами. Сторона большого квадрата ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2012, 16:03
Привет! Вот еще темы с ответами:

Определить, попадает ли точка с заданными координатами в область, закрашенную на рисунке - C++
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную из рисунка серым цветом....

Определить попадает ли точка с заданными координатами в закрашенную область рисунка - C++
Помогите пожалуйста с решение данной задачи: Написать программу, которая определяет, попадает ли точка с заданными координатами в...

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

Определить, попадает ли точка с заданными координатами в область, закрашенную из рисунке серым цветом - C++
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную из рисунка серым цветом....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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