Разработка калькуляторов. Комплексные числа в алгебраической, тригонометрической и экспоненциальной формах
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
lt;")"<<endl;
f.close();
cout<<"\nFail sohranen v "<<q<<"";
cout<<"\nNazhmite lubuyu klavishu dlya prodolzheniya!";
}
(){<<"Vyberite formu komplexnogo chisla:\n"<<
"Algebr - 1\n"<<
"Trigonometr - 2\n"<<
"Pokazatelnaya - 3\n";
char key;=getch();(key){
case'1':{clrscr();
cout<<"Vvedite dejstvitelnuy chast': ";
cin>>real;
cout<<"Vvedite mnimuy chast': ";
cin>>imagine;
a=ceil(sqrt(real*real+imagine*imagine)*100)/100;
j=ceil((atan(imagine/real)*100)*57.3)/100;break;}
case'2':{clrscr();
cout<<"Vvedite ugol: ";
cin>>j;
cout<<"Vvedite A: ";
cin>>a;
real=ceil(cos(j/57.3)*a*100)/100;
imagine=ceil(sin(j/57.3)*a*100)/100;break;}
case'3':{clrscr();
cout<<"Vvedite stepen' (j): ";
cin>>j;
cout<<"Vvedite A: ";
cin>>a;
real=ceil(cos(j/57.3)*a*100)/100;
imagine=ceil(sin(j/57.3)*a*100)/100;break;}
}
}
_alg(){
<<"Algebraicheskaya forma:\n"<<<<"+j("<<imagine<<")"<<endl; }_trig(){<<"\nTrigonometricheskaya forma:\n"<<<<"*cos("<<j<<")+j*"<<a<<"*sin("<<j<<")"<<endl;}_pok(){<<"\nPokazatelnaya forma:\n"<<<<"*e^j*("<<j<<")"<<endl;}
&complex::operator=(complex&M)
{
a=M.a;
real=M.real;
imagine=M.imagine;
j=M.j;
return *this;
}
complex complex::operator+(complex M)
{complex temp(0);
temp.real=real+M.real;
temp.imagine=imagine+M.imagine;
temp.a=ceil(sqrt(temp.real*temp.real+temp.imagine*temp.imagine)*100)/100;
temp.j=ceil((atan(temp.imagine/temp.real)*100)*57.3)/100;
return temp;
}
complex complex::operator-(complex M)
{complex temp(0);
temp.real=real-M.real;
temp.imagine=imagine-M.imagine;
temp.a=ceil(sqrt(temp.real*temp.real+temp.imagine*temp.imagine)*100)/100;
temp.j=ceil((atan(temp.imagine/temp.real)*100)*57.3)/100;
return temp;
}
complex complex::operator*(complex M)
{complex temp(0);
temp.a=a*M.a;
temp.j=j+M.j;
temp.real=ceil(cos(temp.j)*temp.a*100)/100;
temp.imagine=ceil(sin(temp.j)*temp.a*100)/100;
return temp;
}
complex complex::operator/(complex M)
{complex temp(0);
temp.a=a/M.a;
temp.j=j-M.j;
temp.real=ceil(cos(temp.j)*temp.a*100)/100;
temp.imagine=ceil(sin(temp.j)*temp.a*100)/100;
return temp;
}
stepen(){
cout<<"Vvedite stepen': ";
int k;
cin>>k;
a=pow(a,k);
j=j*k;
real=ceil(cos(j/57.3)*a*100)/100;
imagine=ceil(sin(j/57.3)*a*100)/100; }
muavr(){j=j/2;}
};
main(){clrscr();
:(YELLOW);();<<"\t\t\tMENU\n"<<
"Perevod iz odnoj formy v druguy - press 1\n"<<
"Kalkulator - press 2\n"<<
"Exit - press 3\n";s;=getch();(s){'1':{textcolor(CYAN);
clrscr();
complex a;
m2:
clrscr();
cout<<"Viberite formu, v kot neobh. perevesti:\n"<<
"Algebr - 1\n"<<
"Pokazatelnaya - 2\n"<<
"Trigonometr - 3\n"<<
"V predydushee menu - 4\n";
char s1;
s1=getch();
switch(s1){
case'1':{clrscr();a.show_alg();getch();goto m2;}
case'2':{clrscr();a.show_pok();getch();goto m2;}
case'3':{clrscr();a.show_trig();getch();goto m2;}
case'4':{clrscr();goto m1;}}
goto m1;}'2':{clrscr();
m3:
textcolor(GREEN);
clrscr();
cout<<"Viberite dejstvie:\n"<<
"Slogenie - 1\n"<<
"Vychitanie - 2\n"<<
"Proizvedenie - 3\n"<<
"Delenie - 4\n"<<
"Vozvedenie v celuy stepen'- 5\n"<<
"Kv. koren' po formule MUAVRA - 6\n"<<
"V predydushee menu - 7\n";
char s2;
s2=getch();
switch(s2){
case'1':{clrscr();
cout<<"1 chislo:\n";
complex b;
clrscr();
cout<<"2 chislo:\n";
complex c;
complex s(0);
s=b+c;
clrscr();
s.show_alg();
s.show_pok();
s.show_trig();
cout<<"\n\nHotite sohranit' rezultat v fail?"<<
"\n1 - da\n2 - net\n";
int r;
cin>>r;
if(r==1){
cout<<"kuda sohranit' fail?\n";
char put[20];
cin>>put;
s.file("Rezult of summa\n",put); }
getch();
goto m3;}
case'2':{clrscr();
cout<<"1 chislo:\n";
complex b;
clrscr();
cout<<"2 chislo:\n";
complex c;
complex s(0);
s=b-c;
clrscr();
s.show_alg();
s.show_pok();
s.show_trig();
cout<<"\n\nHotite sohranit' rezultat v fail?"<<
"\n1 - da\n2 - net\n";
int r;
cin>>r;
if(r==1){
cout<<"kuda sohranit' fail?\n";
char put[20];
cin>>put;
s.file("Rezult of raznost'\n",put); }
getch();
goto m3;}
case'3':{clrscr();
cout<<"1 chislo:\n";
complex b;
clrscr();
cout<<"2 chislo:\n";
complex c;
complex s(0);
s=b*c;
clrscr();
s.show_alg();
s.show_pok();
s.show_trig();
cout<<"\n\nHotite sohranit' rezultat v fail?"<<
"\n1 - da\n2 - net\n";
int r;
cin>>r;
if(r==1){
cout<<"kuda sohranit' fail?\n";
char put[20];
cin>>put;
s.file("Rezult of proizvedenie\n",put); }
getch();
goto m3;}
case'4':{clrscr();
cout<<"1 chislo:\n";
complex b;
clrscr();
cout<<"2 chislo:\n";
complex c;
complex s(0);
s=b/c;
clrscr();
s.show_alg();
s.show_pok();
s.show_trig();
cout<<"\n\nHotite sohranit' rezultat v fail?"<<
"\n1 - da\n2 - net\n";
int r;
cin>>r;
if(r==1){
cout<<"kuda sohranit' fail?\n";
char put[20];
cin>>put;
s.file("Rezult of delenie\n",put); }
getch();
goto m3;}
case'5':{clrscr();
complex b;
clrscr();
b.stepen();
clrscr();
b.show_alg();
b.show_pok();
b.show_trig();
getch();
goto m3;}
case'6':{clrscr();
complex b;
clrscr();
b.muavr();
clrscr();
cout<<"Kv. koren' po Muavra:\n";
b.show_trig();
getch();
goto m3;}
case'7':{clrscr();goto m1;}
}
}'3':{clrscr();
cout<<"Rabota zavershena!\n";
getch(); }
}
}
Реферат
Пояснительная записка к курсовой работе содержит 32 страниц. При работе было использовано 5 источникрв литературы. Имеется 11 рисунков, 1 приложения.
Цель работы - закрепление и углубление знаний, полученных студентами в курсе "Объектно-ориентированное программирование", развитие навыков при выборе представления исходных данных, использовании объектно-ориентированного подхода при написании программ на языке С++, тестировании и отладки программы, оформлении документации на программную разработку.
Ключевые слова:
КАЛЬКУЛЯТОР, КОМПЛЕКСНОЕ ЧИСЛО, АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ, ФУНКЦИИ, ОПЕРАЦИИ, ФАЙЛЫ.