- •Курсовой проект На тему: Разработка программы для решения логарифмов по дисциплине: технология разработки программного продукта
- •Содержание
- •1. Определение требований
- •1.1. Описание бизнес-процесса
- •1.2. Функциональные требования
- •1.3. Выбор модели жизненного цикла
- •2. Проектирование
- •2.1. Архитектура системы
- •2.2. Проектирование интерфейса
- •2.3. Детальное проектирование
- •3. Разработка программного кода
- •Верификация
- •4.1. Инспектирование
- •4.2. Тестирование
- •Руководство пользователя
- •Руководство пользователя
- •Приложение 1: Техническое задание
- •Приложение 2: Программный код
Приложение 2: Программный код
#include<iostream>
#include<conio.h>
#include<math.h>
usingnamespace std;
double a,b,x,x1,x2,c,t1,t2,t,s,i,f;
double f1(doublea,doubleb,double c)
{//функция для решения линейных
double x;
x=(c-b)/2*a;
return x;
}
double dis(doublea,doubleb,double c)
{//дискреминант
double d;
d=b*b-4*a*c;
return d;
}
doublelgp(double a, double b)
{//функция для решения логарифма
double q;
q= log(b)/log(a);
return q;
}
int main()
{
while(i!=true)// циклдлявощваратаменю
{
system("cls"); // очисткаэкрана
//---------------------------------------------
// МЕНЮ
cout<<"Select:"<<endl<<endl;
cout<<"1) Function"<<endl<<endl;
cout<<"2) Logorifms"<<endl<<endl;
cout<<"3) Exit"<<endl<<endl;
cout<<"Yourchoice: ";
int u; // переменная для оператора выбора в меню.
cin>> u;
system("cls");
switch(u) { // оператор выбора
case 1: { // 1. Function
cout<<"Types of equations"<<endl<<endl ;
cout<<" 1) a*x-b"<<endl<<endl;
cout<<" 2) a*x*x+b*x+c"<<endl<<endl;
cout<<" 3) a*x*x+b*x"<<endl<<endl;
cout<<" 4) Exit"<<endl<<endl;
cout<<"Select: ";
int k; // Вложенный switch дляподменю
cin>> k;
system("cls");
switch(k){
case 1: { // 1) a*x-b
system("cls");
cout<<"a*x-b"<<endl<<endl;
cout<<"Enter a b c"<<endl;
cin>>a>>b>>c;
cout<<"Answer: "<<f1(a,b,c); // вызов функции для линейного
getch();
continue;
break;}
case 2: { // 2) a*x*x+b*x+c
cout<<"a*x*x+b*x+c"<<endl<<endl;
cout<<"Enter a b c"<<endl;
cin>>a>>b>>c;
dis(a,b,c);//вызов функции дискреминанта
if (dis(a,b,c) < 0)
cout<<endl<<"No roots"<<endl; // корнейнет
if (dis(a,b,c) == 0)// елсидискреминантравен 0 до уравнение имеет одно решение
{
x=-dis(a,b,c)/(2*a);
cout<<"x="<< x;
}
if (dis(a,b,c) > 0)
{
x1=(-b+sqrt(dis(a,b,c)))/(2*a);
x2=(-b-sqrt(dis(a,b,c)))/(2*a);
cout<<endl<<"x1="<< x1 <<", "<<"x2="<< x2 <<endl;}
getch();
continue;
break; }
case 3: { // 3) a*x*x+b*x
system("cls");
cout<<"a*x*x+b*x"<<endl<<endl;
cout<<endl<<"Enter a b c"<<endl;
cin>>a>>b>>c;
dis(a,b,c);
if (dis(a,b,c) < 0)
cout<<endl<<"No roots"<<endl;
if (dis(a,b,c) == 0)
{
t=-b/(2*a);
cout<<"t="<< t;
x=sqrt(t);
cout<<endl<<"x="<<x;
}
if (dis(a,b,c) > 0)
{
t1=(-b+sqrt(dis(a,b,c)))/(2*a);
t2=(-b-sqrt(dis(a,b,c)))/(2*a);
x1=sqrt(t1);
x2=sqrt(t2);
cout<<endl<<"Roots x1="<< x1 <<", "<<"x2="<< x2 <<endl;
getch();
continue;
}
}
break;}
case 4:
{
i=true;// выходизпрограммы
break;
}
break;}
case 2: {
cout<<"Select:"<<endl<<endl;
cout<<"1) log a(b)"<<endl<<endl;
cout<<"2) log a(b*c)"<<endl<<endl;
cout<<"3) log a(b/c)"<<endl<<endl;
cout<<"4) Exit"<<endl<<endl;
cout<<"your choose: ";
int p;
cin>>p;
switch (p) {
case 1: { //подменю логарифмов
system("cls");
cout<<"log a(b)"<<endl<<endl;
cout<<"choose a,b"<<endl;
cin>>a>>b;
cout<<"answer: "<<lgp(a,b);
getch();
continue;
break; }
case 2: {
system("cls");
cout<<"log a(b*c)"<<endl<<endl;
cout<<"choose a,b,c"<<endl;
cin>>a>>b>>c;
s=lgp(a,c)+lgp(a,b);
cout<<"answer: "<<s;
getch();
continue;
break;}
case 3: {
system("cls");
cout<<"log a(b/c)"<<endl<<endl;
cout<<"choose a,b,c"<<endl;
cin>>a>>b>>c;
s=lgp(a,b)-lgp(a,c);
cout<<"answer: "<<s;
getch();
continue;
break;
}
case 4:
{
i=true;//выход из программы
break;
}
}
}
case 3: {i=true;
getch();// задержка экрана
break;}
}
}
getch();
}