Разработка калькуляторов. Комплексные числа в алгебраической, тригонометрической и экспоненциальной формах

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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 приложения.

Цель работы - закрепление и углубление знаний, полученных студентами в курсе "Объектно-ориентированное программирование", развитие навыков при выборе представления исходных данных, использовании объектно-ориентированного подхода при написании программ на языке С++, тестировании и отладки программы, оформлении документации на программную разработку.

Ключевые слова:

КАЛЬКУЛЯТОР, КОМПЛЕКСНОЕ ЧИСЛО, АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ, ФУНКЦИИ, ОПЕРАЦИИ, ФАЙЛЫ.