Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Прога додаток б.doc" (без форматирования) ДОДАТОК Б Програма розрахунку зв’язаного контуру на мові С /**/ /* Программа расчёта значений АЧХ и ФЧХ + при критическом и */ /* граничном значении фактора связи */ /**/ /**/ /* Программу написал ст. гр. РБ-051 Кузнецов Андрей */ /**/ /****************** Подключение библиотек**********************************/ #include #include #include #include #include #include /****************** Определение констант ***********************************/ #define PathBGI "C:\\BORLANDC\\BGI" #define D DARKGRAY #define BR WHITE #define BL GREEN #define W BLACK #define BG BLUE /* TextBackground */ #define TC WHITE /* TextColor */ #define TA LIGHTRED /* TextActiv */ #define NumPos 6 /* Колличество пунктов главного меню */ #define NumPos1 2 #define NumPos2 2 #define NumPos3 3 #define NumPos4 2 #define NumPos5 2 #define Left 75 #define Right 77 #define Up 72 #define Down 80 #define Esc 27 #define Enter 13 /***************** Обьявление используемых функций ************************/ void menu(void); void menu1(int a,int b, int c, int d, int xy); void menu2(int a,int b, int c, int d, int xy); void menu3(int a,int b, int c, int d, int xy); void menu4(int a,int b, int c, int d, int xy); void menu5(int a,int b, int c, int d, int xy); void activ(int); void activ1(int xy,int); void activ2(int xy,int); void activ3(int xy,int); void activ4(int xy,int); void activ5(int xy,int); void func1(void); //функция первого пункта главного меню void func2(void); //функция второго пункта главного меню void func3(void); //функция третьего пункта главного меню void func4(void); //функция четвертого пункта главного меню void func5(void); void func11(void); //функция 1 подпункта (пункта Файл) void func12(void); //функция 2 подпункта (пункта Файл) void func21(void); void func22(void); void func31(void); void func32(void); void func33(void); void func41(void); void func42(void); void func51(void); void func52(void); int quit(void); //функция выхода 6 void errormessage(void); void clear(int, int, int, int, int); // функция очистки экрана float edit(int x, int y, int kol, char *txt); // функция ввода данных void win(int, int, int, int); // функция прорисовки окна по кординатам:(x-верх, y-верх, x-низ, y-низ) float dobrotnost(float, float, float); float svyaz(float, float); float ksi(float, float); float ach(float); float fch(float); float w(float,float,float); int view(); void InitGraph(void); void nachalo(void); void setka(int X_1, int Y_1, int X_2, int Y_2, float N_po_x, float N_po_y, int style, int d, int color); void osi(int X_1, int Y_1, int X_2, int Y_2, int Xh, int Yh, int style, int d, int color); void metki(int X_1, int Y_1, int X_2, int Y_2, int Xh, int Yh, float N_po_x, float N_po_y , int style, int d, int color, int H_metki); void GRAPH_A4X(void); void GRAPH_F4X(void); float A4H(float Czv, float ksi, float Mo, float Lo, float Co, float R); /***************** Задание массивов названий пунктов меню *****************/ char *TextMenu[NumPos]={ "ФАЙЛ", "СХЕМА ЦЕПИ", "ТАБЛИЦА", "ГРАФИКИ", "ПОМОЩЬ", "ВЫХОД"}; char *TextMenu1[NumPos1]={ "СОХРАНИТЬ", "ВЫХОД"}; char *TextMenu2[NumPos2]={ "ПРОСМОТР СХЕМЫ", "РЕДАКТИРОВАТЬ"}; char *TextMenu3[NumPos3]={ "ТАБЛИЦА АЧХ", "ТАБЛИЦА ФЧХ","ИСХОДНЫЕ ДАННЫЕ"}; char *TextMenu4[NumPos4]={ "ГРАФИК АЧХ", "ГРАФИК ФЧХ"}; char *TextMenu5[NumPos5]={ "ПОМОЩЬ...", "О ПРОГРАММЕ"}; /****************** Глобальные переменные **********************************/ int xMenu[NumPos]={8,17,32,44,56,67}; int yMenu1[NumPos1]={6,8}; int yMenu2[NumPos2]={6,8}; int yMenu3[NumPos3]={6,8,10}; int yMenu4[NumPos4]={6,8}; int yMenu5[NumPos5]={6,8}; /**************** Начальные значения переменных ****************************/ float C=10; /* Начальное значение емкости */ float L=490; float R=16; float Lcv=60; float min=-4; float max=4; float shag=0.5; float wo=4.882e5; float dobrotnost(float, float, float); float svyaz(float, float); float ksi (float,float); float ach(float, float); float fch(float, float); float fchg(float, float); // ФЧХ граничное float fchk(float, float); // ФЧХ критическое float achg(float, float); // АЧХ граничное float achk(float, float); // АЧХ критическое float Ksv, Q, X, i, Ai, Ag, Ak, Fg, Fk, Xg, Xk, Fi; /***************************************************************************/ /* Главная функция */ /***************************************************************************/ int main(void) { int ch; /* Выводимый символ */ int pos=0; /* Номер активного пункта меню */ textmode(64); /* Очистка экрана(Заполнение цветом фона) */ clear(1,1,80,50,LIGHTGRAY); _setcursortype(_NOCURSOR); /* Выключение курсора */ vozvrat: do /* Цикл движения по пунктам меню */ { menu(); /* Вывод неактивных всех пунктов меню */ activ(pos); /* Активизация пункта меню */ /* Считывание кода нажатой клавиши */ if((ch=getch()) == 0) ch=getch(); if(ch == 77) /* Если нажата клавиша -> */ /* Меняем позицию курсора в меню */ if(++pos >= NumPos) pos = 0; if(ch == 75) /* Если нажата клавиша <- */ if(--pos < 0) pos = NumPos-1; /* Меняем позицию курсора в меню */ if(ch == 13 || ch == Down) /* Если нажата клавиша Enter */ { switch(pos) { case 0: func1(); break; /* Фунция первого пункта главного меню */ case 1: func2(); break; /* Функция второго пункта главного меню */ case 2: func3(); break; /* Функция третьего пункта главного меню */ case 3: func4(); break; /* Функция четвертого пункта главного меню */ case 4: func5(); break; /* Функция пятого пункта меню */ case 5: if (quit()==0) { clrscr(); textcolor(7); return 0; } else goto vozvrat; } } } while(ch != 27); /* Пока не нажата клавиша Esc */ { if (quit()!=0) goto vozvrat; } clear(1,1,80,50,LIGHTGRAY); /* Очистка экрана */ _setcursortype(_NORMALCURSOR); return(0); } /***************************************************************************/ /* Вывод не активных пунктов меню- всех */ /***************************************************************************/ void menu(void) { int i; /* Переменная цикла */ win(1,1,80,5); /* Прорисовка бордюра окна по координатам */ window(1,1,80,50); win(1,6,80,49); textcolor(TC); /* Установка цвета символов */ for(i=0; i { gotoxy(xMenu[i],3); /* Установка курсора в нужную позицию */ cputs(TextMenu[i]); /* Вывод пункта меню */ } } /***************************************************************************/ /* Активизация соответствующего пункта меню */ /***************************************************************************/ void activ(int pos) { gotoxy(xMenu[pos],3); /* Установка курсора в нужную позицию */ textcolor(TA); /* Установка цвета символа-светло-красный */ cputs(TextMenu[pos]); /* Вывод слова в меню белым цветом */ } /***************************************************************************/ /* Очистка экрана */ /***************************************************************************/ void clear(int left, int top, int right, int bottom, int BgColor) { window(left, top, right, bottom); /* Установка граней окна */ textbackground(BgColor); |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0448 сек. |