ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языках высокого уровня

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Kursovoi.exe. ПослС Π΅Π³ΠΎ запуска появится мСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, взаимодСйствиС с ΠΌΠ΅Π½ΡŽ выполняСтся посрСдством ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ дСйствиС. ВсС дСйствия Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» log.txt. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ notepad ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Ρ‚Π°ΠΊ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языках высокого уровня (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования Π Π€ ΠŸΠ΅Ρ€ΠΌΡΠΊΠΈΠΉ государствСнный тСхничСский унивСрситСт ЭлСктротСхничСский Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ ΠšΠ°Ρ„Π΅Π΄Ρ€Π° Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм

ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅

По Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… высокого уровня»

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 7

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» студСнт ΠœΠ°Π»Ρ‹ΠΊΠΈΠ½ А.Π‘.

Π“Ρ€ΡƒΠΏΠΏΠ° АБУ-11−2Π±Π·Ρƒ Для прСподаватСля Π’ΠΈΠΊΠ΅Π½Ρ‚ΡŒΠ΅Π²ΠΎΠΉ О.Π›.

ΠŸΠ•Π ΠœΠ¬ 2013

Π—Π°Π΄Π°Π½ΠΈΠ΅

1) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ класс «ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… исходных Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π΄Π°Ρ‡Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… сообщСний Π² ΡΠ»ΡƒΡ‡Π°Π΅ возникновСния ошибок.

2) ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, выполняСмыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ возникновСния ошибки Π² Ρ„Π°ΠΉΠ» записываСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

3) ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ просмотра этого Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°.

Π’ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π²ΠΈΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ, ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, выполняСмыС ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 7

Π’ΠΈΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…:

Π£Π³Π»Ρ‹, измСряСмыС Π² Π³Ρ€Π°Π΄ΡƒΡΠ½ΠΎΠΉ систСмС ΠΌΠ΅Ρ€ (1 градус=60ΠΌΠΈΠ½ΡƒΡ‚, 1 ΠΌΠΈΠ½ΡƒΡ‚Π°=60 сСкунд).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ тригономСтричСских ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ° ΡƒΠ³Π»Π°.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов ОписаниС классов Класс Gradus — Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой 3 значСния Ρ‚ΠΈΠΏΠ° integer. БоотвСтствСнно градусы, ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ ΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹. Π’ ΠΊΠ»Π°ΡΡΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания, арифмСтичСских дСйствий, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, дСструктор ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ происходит занСсСниС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Ρ„Π°ΠΉΠ» log.txt.

Класс Error — класс, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ свСдСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ throw. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ ошибки Π² Π΄Π²ΡƒΡ… случаях:

— Π•ΡΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ integer значСния градусов, ΠΌΠΈΠ½ΡƒΡ‚, сСкунд

— Π•ΡΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния, Π΄Π΅Π»ΠΈΡ‚ Π½Π° 0

Класс Dialog — класс, состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ menu, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ посрСдством конструкции case. Π’Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ происходит вычислСниС тригономСтричСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΡΠΌΠ΅Π½Π° Π·Π½Π°ΠΊΠ° ΡƒΠ³Π»Π°. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° log. txt Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ для Π΅Π³ΠΎ очистки.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Gradus.h:

#pragma once

#include

#include «Math.h»

#include

#include

#include

using namespace std;

class Gradus

{

public:

int grad;

int min;

int sec;

Gradus (){grad=0;min=0;sec=0;};

Gradus (int g, int m, int s){grad=g;min=m;sec=s;};

Gradus (const Gradus&g){grad=g.grad;min=g.min;sec=g.sec;};

~Gradus (){};

int get_grad (){return grad;}

int get_min (){return min;}

int get_sec (){return sec;}

void set_grad (int g){grad=g;}

void set_min (int m){min=m;}

void set_sec (int s){sec=s;}

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Gradus&operator=(const Gradus&);

Gradus& Gradus: operator+(const Gradus&l);

Gradus& Gradus: operator-(const Gradus&l);

Gradus& Gradus: operator/(const Gradus&l);

Gradus& Gradus: operator*(const Gradus&l);

//Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

friend std: istream& operator >> (std:istream &in, Gradus &g);

friend std: ostream& operator << (std:ostream &out, const Gradus &g);

};

Gradus.cpp:

#include «Gradus.h»

#include

#include «Math.h»

#include

#include

#include

#include «Error.h»

using namespace std;

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания

Gradus&Gradus:operator=(const Gradus&g)

{

//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΠ°ΠΌΠΎΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅

if (&g==this) return *this;

grad=g.grad;

min=g.min;

sec=g.sec;

return *this;

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° глобальной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°

std:istream& operator >> (std:istream &in, Gradus &g)

{

cout<<" Vvedite gradusi: «; in>>g.grad;

if (!cin)

{throw error («ERROR! Vvodite znacheniya integer!»);};

cout<<" Vvedite minuti: «; in>>g.min;

cout<<" Vvedite secundi: «; in>>g.sec;

while (g.sec>=60)

{g.min=g.min+1;

g.sec=g.sec-60;

}

while (g.min>=60)

{g.grad=g.grad+1;

g.min=g.min-60;

}

while (g.grad>=360)

{g.grad = g. grad-360;

}

return in;

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° глобальной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°

std:ostream& operator << (std:ostream &out, const Gradus &g)

{

return (out<<" xF8 «<<» ' «<<» '' «);

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния

Gradus& Gradus: operator+(const Gradus&l)

{

Gradus a, b;

cout<< «SLOZHENIE GRADUSOV: «<

cout<<" Vvedite 1 Slagaemoe': «<

cin >> a;

cout<<" Vvedite 2 Slagaemoe': «<

cin >> b;

Gradus result;

result.grad = (a.grad+b.grad);

result.min = (a.min+b.min);

result.sec = (a.sec+b.sec);

while (result.sec>60)

{result.min=result.min+1;

result.sec=result.sec-60;

}

while (result.min>60)

{result.grad=result.grad+1;

result.min=result.min-60;

}

while (result.grad>360)

{result.grad = result. grad-360;

}

cout <<" OTVET: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

//запись Π² Π»ΠΎΠ³

ofstream f;

f.open («log.txt», ios: app);

f<<" Operacia slozhenia n" ;

f<<" Slagaemoe 1: «<

f<<» Slagaemoe 2: «<

f<<" Resultat: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

f.close ();

return result;

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вычитания

Gradus& Gradus: operator-(const Gradus&l)

{

Gradus a, b;

cout<< «VICHITANIE GRADUSOV: «<

cout<<" Vvedite UMENSHAEMOE': «<

cin >> a;

cout<<" Vvedite VICHITAEMOE': «<

cin >> b;

Gradus result;

result.grad = (a.grad-b.grad);

result.min = (a.min-b.min);

result.sec = (a.sec-b.sec);

while (result.sec>60)

{result.min=result.min+1;

result.sec=result.sec-60;

}

while (result.min>60)

{result.grad=result.grad+1;

result.min=result.min-60;

}

while (result.sec<0)

{result.min = result. min-1;

result.sec = result. sec+60;

}

while (result.min<0)

{result.grad=result.grad-1;

result.min=result.min+60;

}

while (result.grad>360)

{result.grad = result. grad-360;

}

while (result.grad<0)

{result.grad = result. grad+360;

}

cout <<" OTVET: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

//запись Π² Π»ΠΎΠ³

ofstream f;

f.open («log.txt», ios: app);

f<<" Operacia vichitaniya n" ;

f<<" Umenshaemoe: «<

f<<" Vichitaemoe: «<

f<<" Resultat: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

f.close ();

return result;

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния

Gradus& Gradus: operator/(const Gradus&l)

{

Gradus a, b;

cout<< «DELENIE GRADUSOV: «<

cout<<" Vvedite DELIMOE': «<

cin >> a;

cout<<" Vvedite DELITEL': «<

cin >> b;

if (b.grad==0)

{throw error («ERROR! Delitel. gradusi == 0!»);};

if (b.min==0)

{throw error («ERROR! Delitel. minuti == 0!»);};

if (b.sec==0)

{throw error («ERROR! Delitel. secundi == 0!»);};

{throw error («ERROR! Delitel == 0!»);};

Gradus result;

result.grad = (a.grad/b.grad);

result.min = (a.min/b.min);

result.sec = (a.sec/b.sec);

while (result.sec>60)

{result.min=result.min+1;

result.sec=result.sec-60;

}

while (result.min>60)

{result.grad=result.grad+1;

result.min=result.min-60;

}

while (result.sec<0)

{result.min = result. min-1;

result.sec = result. sec+60;

}

while (result.min<0)

{result.grad=result.grad-1;

result.min=result.min+60;

}

while (result.grad>360)

{result.grad = result. grad-360;

}

cout <<" OTVET: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

//запись Π² Π»ΠΎΠ³

ofstream f;

f.open («log.txt», ios: app);

f<<" Operacia deleniya n" ;

f<<" Delimoe: «<

f<<» Delitel: «<

f<<" Resultat: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

f.close ();

return result;

}

//——————————————————————————————;

//ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния

Gradus& Gradus: operator*(const Gradus&l)

{

Gradus a, b;

cout<< «UMNOZHENIE GRADUSOV: «<

cout<<" Vvedite 1 MNOZHITEL': «<

cin >> a;

cout<<" Vvedite 2 MNOZHITEL': «<

cin >> b;

Gradus result;

result.grad = (a.grad*b.grad);

result.min = (a.min*b.min);

result.sec = (a.sec*b.sec);

while (result.grad>360)

{result.grad = result. grad-360;

}

while (result.sec>60)

{result.min=result.min+1;

result.sec=result.sec-60;

}

while (result.min>60)

{result.grad=result.grad+1;

result.min=result.min-60;

}

while (result.sec<0)

{result.min = result. min-1;

result.sec = result. sec+60;

}

while (result.min<0)

{result.grad=result.grad-1;

result.min=result.min+60;

}

while (result.grad>360)

{result.grad = result. grad-360;

}

cout <<" OTVET: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

//запись Π² Π»ΠΎΠ³

ofstream f;

f.open («log.txt», ios: app);

f<<" Operacia umnozheniya n" ;

f<<" 1 mnozhitel: «<

f<<" 2 mnozhitel: «<

f<<" Resultat: «<< result. grad<<» xF8 «<<» ' «<<» '' «<

f.close ();

return result;

}

Error.h:

#pragma once

#include

#include

using namespace std;

class error //класс ошибка

{

public:

string str;

//конструктор, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ str с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅

error (string s){str=s;}

void what (){cout<

};

Dialog.h:

#include «Gradus.h»

#include «Error.h»

#include

#include «Math.h»

#include

#include

#include

class Dialog

{

public:

int menu ();

};

Dialog.cpp:

#include «Gradus.h»

#include «Error.h»

#include

#include «Math.h»

#include

#include

#include

#include «Dialog.h»

int Dialog: menu ()

{

try{

Gradus a, b, d, res2;

double sinus, cosinus, tangens, arcsinus, arccosinus, arctangens, result;

int c;

ofstream f;

const N=256;

do

{

//МСню

cout<<" n1. Slozhenie uglov" ;

cout<<" n2. Vichitanie uglov" ;

cout<<" n3. Umnozhenie uglov" ;

cout<<" n4. Delenie uglov" ;

cout<<" n5. Sinus ugla" ;

cout<<" n6. Cosinus ugla" ;

cout<<" n7. Tangens ugla" ;

cout<<" n8. ArcSinus ugla" ;

cout<<" n9. ArcCos ugla" ;

cout<<" n10. ArcTan ugla" ;

cout<<" n11. Izmenenie znaka ugla" ;

cout<<" n12. Prochitat' log operaciy" ;

cout<<" n13. Ochistit' log operaciy" ;

cout<<" n0. Exitn" ;

cin>>c;

switch (c)

{

case 1: d = a+b;

break;

case 2: d = a-b;

break;

case 3: d = a*b;

break;

case 4: d = a/b;

break;

case 5:

cin>>a;

cout<<" a = «<

sinus = a. grad;

result=sin (sinus);

cout<<" sin="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia sinus n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 6:

cin>>a;

cout<<" a = «<

cosinus = a. grad;

result=cos (cosinus);

cout<<" cos="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia cosinus n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 7:

cin>>a;

cout<<" a = «<

tangens = a. grad;

result=tan (tangens);

cout<<" tan="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia tangens n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 8:

cin>>a;

cout<<" a = «<

arcsinus = a. grad;

result=asin (arcsinus);

cout<<" arcsin="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia arcsinus n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 9:

cin>>a;

cout<<" a = «<

arccosinus = a. grad;

result=acos (arccosinus);

cout<<" arccos="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia arccos n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 10:

cin>>a;

cout<<" a = «<

arctangens = a. grad;

result=atan (arctangens);

cout<<" arctan="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia arctan n" ;

f<<" Ugol: «<

f<<" Resultat: «<< result<

f.close ();

break;

case 11:

cin>>a;

cout<<" a = «<

res2.grad=(360-(a.grad));

if (a.min ≠ 0)

{ res2. grad = (res2.grad-1);}

res2.min=(60-(a.min));

if (a.sec ≠ 0)

{ res2. min = (res2.min-1);}

res2.sec=(60-(a.sec));

cout<<" OTVET="<

//запись Π² Π»ΠΎΠ³

f.open («log.txt», ios: app);

f<<" Operacia smena znaka v date «<

f<<" Ugol: «<

f<<" Resultat: «<< res2. grad<<» xF8 «<<» ' «<<» '' «<

f.close ();

break;

case 12:

{cout<<" Logfile: «<

char S[N]={" «}; //Π’ S Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ строки

ifstream in1(«log.txt»); //ΠžΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Ρ„Π°ΠΉΠ» для чтСния

while (!in1.eof ()) //Π‘ΡƒΠ΄Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

{

in1.getline (S, N); //ΠŸΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΠΎΠ΅ считываниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² S

cout<

}

in1.close (); //Π—Π°ΠΊΡ€Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

break;}

case 13:

f.open («log.txt», ios: out);

f.close ();

}

} while (c≠0);

}

catch (error e)

{e.what ();}

return 0;

}

Kurs_main.cpp:

#include «Gradus.h»

#include «Dialog.h»

#include «Error.h»

#include

#include «Math.h»

#include

#include

#include

void main ()

{Dialog d;

d.menu ();

int f;

cin>>f;

}

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° листинг Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для произвСдСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΡƒΠ³Π»Π°ΠΌΠΈ Π² Π³Ρ€Π°Π΄ΡƒΡΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅:

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ тригономСтричСских ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ° ΡƒΠ³Π»Π°.

Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Kursovoi.exe. ПослС Π΅Π³ΠΎ запуска появится мСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, взаимодСйствиС с ΠΌΠ΅Π½ΡŽ выполняСтся посрСдством ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ дСйствиС. ВсС дСйствия Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» log.txt. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ notepad ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· ΠΈΠ½Ρ‚СрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ возникновСния ошибки, Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅, для продолТСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ послС ошибки — Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π·Π°Π½ΠΎΠ²ΠΎ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ