Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_k_kursachu.doc
Скачиваний:
4
Добавлен:
25.09.2019
Размер:
300.54 Кб
Скачать

5. Заключение

На данный момент написанная программа способна:

  • Рассчитывать входной и выходной сигналы

  • Находить длительность заднего фронта выходного сигнала

  • Выбирать варианты считывания рабочего набора

  • Записывать результаты в текстовый файл

7. Приложение

7.1 Код С

7.11 Main.C

#include "include.h"

int main(void) {

char c;

float acc; // точность, используется в пункте 4

parametrs p; // содержит текущий рабочий набор (параметры цепи)

float af_time[MAXSIZE], af_uin[MAXSIZE], af_uout[MAXSIZE];

printf("COURSE WORK. VARIANT 31\n\n");

while ((c = menu()) != EXIT_CODE) {

switch(c) {

case 1: { // рабочий набор по умолчанию

p.n = 11;

p.tn = -10.0;

p.tk = 8.0;

p.t1 = -8.0;

p.t2 = 6.0;

p.ui1 = -1.0;

p.ui2 = 3.0;

p.uimax = 30.0;

p.uimin = 0.0;

p.uomax = 30.0;

p.uomin = -10.0;

printf("______________________________________\n");

printf("Control calculation in %d points\n", p.n);

create(af_time, af_uin, af_uout, p);

display(af_time, af_uin, af_uout, p);

break;

} //case 1

case 2: { // чтение входных параметров из файла

//char filename[30];

//printf("filename: ");

//gets(filename);

//load_file(filename, &p);

load_file(F_INPUT, &p);

printf("___________________________________________________\n");

printf("Control calculation in %d points\n", p.n);

create(af_time, af_uin, af_uout, p);

display(af_time, af_uin, af_uout, p);

break;

} //case 2

case 3: { //ввод параметров с клавиатуры

printf("n = "); scanf("%d", &p.n);

printf("tn = "); scanf("%f", &p.tn);

printf("tk = "); scanf("%f", &p.tk);

printf("t1 = "); scanf("%f", &p.t1);

printf("t2 = "); scanf("%f", &p.t2);

printf("ui1 = "); scanf("%f", &p.ui1);

printf("ui2 = "); scanf("%f", &p.ui2);

printf("uimax = "); scanf("%f", &p.uimax);

printf("uimin = "); scanf("%f", &p.uimin);

printf("uomax = "); scanf("%f", &p.uomax);

printf("uomin = "); scanf("%f", &p.uomin);

printf("___________________________________________________\n");

printf("Control calculation in %d points\n", p.n);

create(af_time, af_uin, af_uout, p);

display(af_time, af_uin, af_uout, p);

break;

} //case 3

case 4: { // вывод на экран длительности заднего фронта выходного сигнала

printf("___________________________________________________\n");

//acc = 0.12;

printf("Input accuraty = "); scanf("%f", &acc);

printf("Control calculation with accuraty = %-10.5f\n", acc);

printf("back front Uout = %f\n", front(acc, p));

printf("___________________________________________________\n");

break;

} //case 4

case 5: { //сохранение результатов в файл

printf("___________________________________________________\n");

create(af_time, af_uin, af_uout, p);

if (save_full_file(F_O_FULL, af_time, af_uin, af_uout, p)) printf("Full file saved!\n");

printf("___________________________________________________\n");

break;

} //case 5

case 6: { //формирование файлов для wxMaxima

printf("___________________________________________________\n");

create(af_time, af_uin, af_uout, p);

if (save_maxima_file(F_O_MAXIMA_TIME, F_O_MAXIMA_UI, F_O_MAXIMA_UO, af_time, af_uin, af_uout, p)) printf("Maxima files saved!!\n");

printf("___________________________________________________\n");

break;

} //case 6

case 7: {

info();

break;

} //case 7

default: {

printf("___________________________________________________\n");

printf("ERROR: out of range\n");

printf("___________________________________________________\n");

break;

} //default

} //switch

} //while

printf("GOOD BYE!\n");

return 0;

} //main()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]