Программа
#include<iostream.h>
#include<string.h>
#include<iomanip.h>
#include<math.h>
class line
{ float k, b, x1, y1, x2, y2;
public:
void enter();
void exit();
friend float ugl(line,line);
friend int proverka_par(line,line);
friend int proverka_per(line,line);
friend void tochka(line,line);
};
void line::enter()
{ cout<<"vvedite x1, y1 ";
cin>>x1>>y1;
cout<<"vvedite x2, y2 ";
cin>>x2>>y2;
k=(y1-y2)/(x1-x2);
b=y1-x1*k;
}
void line::exit()
{
cout<<setw(10)<<"y="<<k<<"*x + "<<b<<endl;
}
float ugl(line a,line b)
{ float u, y;
y=fabs((b.k-a.k)/(1+(a.k*b.k)));
u=atan(y);
return u;
}
int proverka_par(line a,line b)
{
if(a.k==b.k)
return 1;
else return 0;
}
int proverka_per(line a,line b)
{if(a.k==-1/b.k)
return 1;
else return 0;
}
void tochka(line a,line b)
{float x, y;
x=(a.b-b.b)/(b.k-a.k);
y=x*a.k+a.b;
cout<<"x= "<<x<<endl;
cout<<"y= "<<y<<endl;
}
void main()
{
line a, b;
int otv, d;
float ug;
cout<<" deistviya s pryamimi\n";
do
{
cout<<"1 - vvod koordinat\n";
cout<<"2 - proverka na parallelinosti\n";
cout<<"3 - proverka na perpendikulyarnost\n";
cout<<"4 - ugol mejdu pryamimi\n";
cout<<"5 - tochka pereseceniya\n";
cout<<"6 - vixod iz menu\n";
cout<<"vash vibor\n"; cin>>d;
switch (d)
{
case 1:
a.enter();
b.enter();
a.exit();
b.exit();
break;
case 2:
if(proverka_par(a, b)==1)cout<<"pryamie parallelnie\n";
else cout<<" pryamie peresekautsya\n";
break;
case 3:
if(proverka_per(a,b)==1)cout<<"pryamie perpendikulyarhie\n";
else cout<<"pryamie ne perpendikulyarnie\n";
break;
case 4:
ug=ugl (a, b);
cout<<" ugol(radian)="<<ug<<endl;
break;
case 5:
tochka(a, b);
break;
case 6: break;
default:cout<<"nevernii vubor\n";
}
cout<<"prodoljit?(1/0)"; cin>>otv;
}
while (otv==1);
}
Результат работы программы
Заключение
Написанная программа позволяет расчитать уравнения прямых, угол между двумя прямыми, проверить их на перпендикулярность и парралельность, а так же найти точку пересечения.
Данная программа, позволяет выводить информацию о прямых линиях; определять каэффициенты наклона и свободный член, сделано меню которое помогает быстра находить интересуещее действие, при помощи меню можно слегкостью проверить прямые на перпендикулярность и парралельность, а так же найти точку пересечения и угол между ними. Так же можно не закрывая программы начать работать с другими прямыми.
При выполнении данной курсовой работы был получен навык написания программ. Дополнительный опыт в написании пояснительных записок
Список использованной литературы
1. Березин, Б. И. Начальный курс С и С++ / Б. И. Березин, С. Б. Березин. - М.: Диалог-МИФИ, 1999. - 288 с.
2. Страуструп Б. Язык программирования Си++. – Пер. с англ. – М.:Радио и связь, 1991. – 352 с.
3. Бруно Бабэ Просто и ясно о Borland C++. – Пер. с англ. – М.: Бином, 1996, - 416 с.
4. Ален И. Голуб С и С++. Правила программирования. – Пер. с англ. – М.: Бином, 1996. – 272 с.
5. Симонович С.В. и др. Информатика. Базовый курс. – СПб: Питер, 2000. – 640 с.
6. Павловская, Татьяна Александровна С/C++. Программирование на языке высокого уровня: учеб. для вузов по направлению "Информатика и вычисл. техника" / Т. А. Павловская. - СПб.и др.: Питер, 2004. - 460 с.
7. Абрамов С. А., Гнездилова Г. Г., Капустина Е. Н., Селюн М. И. Задачи по программированию. – М.: Наука, 1988. – 224 с.
8. Сосинская, С. С. Объектно-ориентированное программирование: лаб. практикум для специальности 2201 "Вычисл. машины, системы и сети" / Сосинская С. С.; Иркут. гос. техн. ун-т. - Иркутск: Изд-во ИрГТУ, 2001. - 107 с.
9. Объектно-ориентированное программирование: метод. указания к выполнению курсовой работы по курсу "Технологии программирования" для специальности 0719 "Информ. системы (в машиностроении) " / Иркут. гос. техн. ун-т; сост. С. С. Сосинская. - Иркутск: Изд-во ИрГТУ, 2002. - 50 с.
10. Юркин, Анатолий Григорьевич Задачник по программированию / А. Г. Юркин. - СПб.и др.: Питер:Питер принт, 2002. - 182 с..
11. Давыдов, В. Г. Программирование и основы алгоритмизации: учеб. пособие для вузов по специальности "Упр. и информатика в техн. системах" / В. Г. Давыдов. - М.: Высш. шк., 2003. - 448 с.
12. Сосинская, С. С. Технологии программирования: учеб. пособие / С. С. Сосинская; Иркут. гос. техн. ун-т. - Иркутск: Изд-во ИрГТУ, 2007. - 84 с.
13. Фалевич, Б. Я.Теория алгоритмов: учеб. пособие для вузов по направлению "Информатика и вычисл. техника" / Б. Я. Фалевич. - М.: Машиностроение, 2004. - 160 с.
14. Зарак Т.В. Объектно-ориентированное программирование: Методические указания и задания по выполнеию курсовой работы. – Иркутск, Изд-во ИрГТУ. – 2009. – 16 с.