48568 (Разработка информационно-обучающей системы на тему “Атомно-молекулярная теория. Доказательство существования атомов и молекул), страница 5
Описание файла
Документ из архива "Разработка информационно-обучающей системы на тему “Атомно-молекулярная теория. Доказательство существования атомов и молекул", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48568"
Текст 5 страницы из документа "48568"
Установка и запуск программного продукта на ваш ПК не требует специальной процедуры инсталляции. Достаточно просто скопировать файлы с инсталляционной дискеты на ваш жесткий диск и запустить пакетный файл Kproekt.exe. Система готова к работе.
Б.2 Управление возможностями системы
После запуска программы на экран будет выведена заставка, приведенная на рисунке В.1. Для входа в систему нажмите клавишу ENTER и на экране появиться основное окно программы с главным меню (оно представлено рисунке В.2).
Основное меню состоит из следующих четырех пунктов:
-
теория;
-
тесты;
-
помощь;
-
выход.
Выбор одного из пунктов меню приведет либо к раскрытию соответствующего подменю (пункты “Теория”, “Помощь” основного меню), либо к запуску одного из инструментов системы (пункт меню “Тесты”).
Перемещение по системе подменю осуществляется при помощи клавиш горизонтальных стрелок; выбор пункта – нажатие клавиши ENTER; выход из подменю – нажатие клавиши ESCAPE или соответствующего пункта подменю.
При выходе из системы на экране появляется информация о разработчике программы (рисунок В.9). Повторное нажатие клавиши ESCAPE приведет к полному выходу из программы.
Б.3 Описание основных возможностей системы
Основное меню позволяет получить доступ к основным обучающим возможностям, которыми располагает система.
Пункт меню “Теория” содержит информацию по теме: “Атомно-молекулярная теория. Доказательство существования атомов и молекул” и состоит из подпункта:
– Поиск: содержит инструменты, позволяющие пользователю получать информацию в соответствии с контекстом веденных лексем.
Пункт меню “Тесты” содержит инструменты, предназначенные для эффективной и объективной оценки знаний, приобретенных пользователем в процессе обучения.
Пункт меню “Помощь” содержит информацию по навигации в системе.
Пункт меню “Выход” предназначен для завершения работы и выхода из системы.
Б.4 Использование справки
Система обладает справкой, вызов которой осуществляется посредством выбора пункта меню “Помощь” главного меню. Справка содержит информацию по навигации в системе, а также все клавиши, используемые при управлении системой. Общий вид окна справки показан на рисунке В.4.
Дополнительная информация о разработчике системы находится в пункте меню “Выход” и выводится на экран перед завершением программы (рисунок В.9).
Б.5 Использование теории
Доступ к возможности системы под названием “Теория”, осуществляется посредством выбора соответствующего подпункта в подменю пункта “Теория”. После этого на экране появиться окно этого пункта меню (оно показано на рисунке В.3). Перемещение по страницам осуществляется при помощи выбора клавиш подменю «Назад (на страницу вверх) и Далее» (на страницу вниз).
Б.6 Использование функции поиска
Доступ к функции поиска посредством выбора соответствующего подпункта в подменю “Теория”. После осуществления выбора на экране появиться окошко, в котором вам будет предложено ввести искомый термин (рисунок В.5). Длинна термина не должна превышать 9 символов.
Введите искомый термин и нажмите клавишу ENTER. Введенное слово будет выведено на верхнюю позицию (будет находится в самой верхней строке).
Если введенное слово не обнаружено в тексте учебника или его вхождений нет, на экран выводятся соответствующее сообщение, представленное на рисунке В.6.
ESCAPE – выход из режима поиска.
Б.7 Использование функции тестирования
После запуска процесса тестирования, посредством выбора соответствующего пункта меню, на экране появится окно тестирования с тестовыми вопросами (рисунок В.7).
Тест содержит 10 вопросов, за которые в общей сложности можно получить 10 баллов. Ниже приведена соответствующая шкалы оценивания.
Шкала оценивания одного тестового задания выглядит следующим образом:
- пользователь набрал меньше 3 баллов – уровень подготовки «Плохо»;
- от 3 до 6 баллов – уровень подготовки «Удовлетворительно»;
- больше 6 баллов – уровень знаний «Хорошо»;
- 10 баллов – «Отлично».
После прохождения тестового задания на экране появляется окно с количеством баллов за пройденный тест (оно изображено на рисунке В.8).
Нажатие клавиши ESCAPE так же означает завершение процесса тестирования.
Б.8 Возможные неполадки и их устранение
Система может выдать сообщения о следующих ошибках.
-
«Не найден файл справки». Это значит, что файл справки help.txt и autor.txt просто отсутствует в каталоге, из которого запускалась программа. Проверьте наличие данного файла и в случае необходимости установите его.
-
«Невозможно установить видеорежим». Данная ошибка может возникнуть при повреждении либо отсутствии драйвера видеоадаптера (файла Egavga.bgi). Проверьте его целостность и наличие. Убедитесь также, что ваш монитор поддерживает 16-цветный VGA-режим с разрешением 640x480.
-
«Не найден файл теории». Данная ошибка может возникнуть при отсутствии файла теории 1.txt в каталоге программы. Проверьте его наличие.
-
«Не найден файл тестов». Данная ошибка может возникнуть при отсутствии файла тестовых заданий в каталоге, из которого запускалась программа. Проверьте его наличие и в случае необходимости проведите установку.
-
«Не найден файл правильных ответов». Ошибка происходит, если в каталоге отсутствует требуемый файл answer.dat. Проверьте его наличие.
Приложение В
ЭКРАННЫЕ ФОРМЫ
Рисунок В.1 – Общий вид заставки
Рисунок В.2 – Общий вид окна программы
Рисунок В.3 – Окно программы в режиме теория
Рисунок В.4 – Окно программы в режиме справки
Рисунок В.5 – Окно теории в режиме поиска
Рисунок В.6 – Поиск не дал результатов.
Рисунок В.7 – Окно программы в режиме тестирования
Рисунок В.8 – Окно результатов тестирования
Рисунок В.9 – Общий вид окна информации о разработчике
Приложение Г
ЛИСТИНГ ПРОГРАММЫ
//модуль BIB.с
#include
#include
#include
#include
#include
#include
//модуль RAMKA.c
#include "bib.h"
//-----------------------Построение рамки на экране--------------------------
void ramka()
{
cleardevice();
//------------------------ //Очистка экрана
setfillstyle(1,7); //Сплошная заливка серым цве-
bar(0,0,640,19); //том боковых граней экрана
bar(630,19,640,480);
bar(0,461,640,480);
bar(0,0,19,480);
setcolor(8); //Темно-серый цвет линий-рамок
rectangle(20,20,630,460); //создающих эффект трехмернос-
rectangle(21,21,629,459); //ти
rectangle(22,22,628,458);
//------------------------
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль MENU.c
#include "bib.h"
//------------------------Меню программы,ее пункты---------------------------
int menu(char zaglavie[50], char punkt1[50], char punkt2[50], char punkt3[50], char punkt4[50])
{
ramka();
setcolor(6); //Цвет надписи вопроса и "Главное меню"
settextjustify(CENTER_TEXT, CENTER_TEXT); // Их расположение на экране
settextstyle(0,0,2);
outtextxy(320,80,zaglavie); //Вывод на экран надписи вопроса и "Главное меню"
//***************************************************
setcolor(15); //Цвет пунктов меню и отв.на вопросы
settextjustify(LEFT_TEXT, RIGHT_TEXT); //Их пложение на экране
settextstyle(0,0,2);
outtextxy(265,170,punkt1); //Вывод на экран пунктов меню
outtextxy(265,220,punkt2); //и вариантов ответов на воп-
outtextxy(265,270,punkt3); //росы
outtextxy(265,320,punkt4);
//***************************************************
int cursor=0;
do
{
int key=0; //Начальное положение курсора
for (int i=0; i<4; i++)
{
setfillstyle(SOLID_FILL,16); //Цвет курсора,когда он не активен
if (i==cursor)
setfillstyle(SOLID_FILL,3); //Цвет курсора,когда он активен
setcolor(16); //Рамка цвета курсора,когда он не активен
fillellipse(240,175+(i*50),10,10); //Прорисовка закрашенного курсора
}
key = getch();
if (key == 72)
cursor--;
if (key == 80)
cursor++;
if (key==27)
return -1;
if ((cursor==4)&&(key==13))
return -1;
if (key==13)
return cursor;
if (cursor==4)
cursor=0;
if (cursor==-1)
cursor=3;
}
while(1);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль ZASTAVKA.c
#include "bib.h"
//-------------------Вывод на экран названия курс. работы--------------------
int zastavka2()
{
ramka();
setcolor(8);
settextstyle(0,0,2);
outtextxy(65,25,"Информационно - обучающая система");
//---------
setcolor(7); //Смещение текста на два
settextstyle(0,0,2); //пикселя,создающее эффект
outtextxy(63,25,"Информационно - обучающая система"); //трехмерности
//---------
setcolor(8);
settextstyle(0,0,2);
outtextxy(65,45,"на тему:");
//--------- //Смещение текста на два
setcolor(7); //пикселя,создающее эффект
settextstyle(0,0,2); //трехмерности
outtextxy(63,45,"на тему:");
//---------
setcolor(3);
settextstyle(0,0,2);
outtextxy(120,180,"АТОМНО-МОЛЕКУЛЯРНАЯ ТЕОРИЯ.");
outtextxy(105,200,"ДОКАЗАТЕЛЬСТВА СУЩЕСТВОВАНИЯ");
outtextxy(185,220," АТОМОВ И МОЛЕКУЛ");
setcolor(8);
settextstyle(0,0,1);
outtextxy(65,430,"Нажмите ENTER для продолжения");
//---------
setcolor(7); //Смещение текста на два
settextstyle(0,0,1); //пикселя,создающее эффект
outtextxy(63,430,"Нажмите ENTER для продолжения"); //трехмерности
//---------
setcolor(8);
settextstyle(0,0,1);
outtextxy(65,440,"Нажмите esc для выхода");
//--------- //Смещение текста на два
setcolor(7); //пикселя,создающее эффект
settextstyle(0,0,1); //трехмерности
outtextxy(63,440,"Нажмите esc для выхода");
//---------
//****************************************************
do //События нажатия клавиш Enter и Esc
{
int choice;
choice=getch();
if (choice==27) return -1; //Если Esc, то выход из программы
if (choice==13) return 0; //Если Enter, то переход к меню
}
while(1);
//****************************************************
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль POISK.c
#include"bib.h"
//-----------------------------Поиск слова-----------------------------------
char searchstr[30];
int search(FILE *f)
{
char in[2] = {' ','\0'};
int k;
int tmppos,oldpos; //Позиция строки в переменной tmp и текущая позиция слов
char *tmp; //Переменная tmp,в которую происходит считывание строк из
oldpos = ftell(f); //файла
setfillstyle(SOLID_FILL,7); //Цвет окна поиска
settextjustify(CENTER_TEXT, CENTER_TEXT); //Положение строки в полосе поиска
bar(220,190,420,250); //Окно поиска
setcolor(7); //Цвет рамки окна поиска
rectangle(220,190,420,250); //Рамка окна поиска
setfillstyle(SOLID_FILL,16); //Цвет полосы поиска
setcolor(15); //Цвет букв меню поиска
outtextxy(320,225,"Esc - Выход");
outtextxy(320,240,"Enter - Далее");
//****************************************************
do
{
bar(230,200,410,215); //Полоса поиска
setcolor(8); //Цвет рамки трехмерности на полосе поиска
rectangle(231,201,409,214); //Рамка на полосе поиска эффекта трехмерности
setcolor(15); //Цвет вводимого искомого слова
outtextxy(320,210,searchstr); //Набор искомого слова
k=getch();
if ((k!=13)&&(k!=27))
{
if (k!=8)
{
in[0]=k;
if (strlen(searchstr)<9) //Если слово меньше 9-ти знаков
strcat(searchstr,in); //дописываем в конец слова
} //признак окончания строки,иначе
else //стираем последний знак слова и
searchstr[strlen(searchstr)-1]='\0'; //все равно дописываем знак окончания
} //строки ('\0')
} //Заносим искомое слово в переменную
while((k!=13)&&(k!=27)); //searchstr
//****************************************************
fgets(tmp,74,f); //Считываем строки из файда в
//**************************************************** //переменную tmp
do
{ //Освобождаем занятую па-
freemem(tmppos); //мять под эту переменную
//------------------------------
tmppos = ftell(f);
fgets(tmp,74,f);
if (strstr(tmp,searchstr)!=NULL) //Ищем подстроку searchstr в строке tmp,
return tmppos; //и если подстрока существует,
} //то возвращаем его позицию (tmppos)
while(!feof(f)); //на позицию первой строки,ищем пока не дойдем
//**************************************************** //до конца файла
bar(230,200,410,215); //Полоса поиска
setcolor(8); //Цвет рамки трехмерности на полосе поиска
rectangle(231,201,409,214); //Рамка на полосе поиска эффекта трехмерности
setcolor(15); //Цвет надписи "Строка не найдена"
outtextxy(320,210,"Строка не найдена"); //Если слово не найдено
getch(); //то положение строк на
return oldpos; //экране не меняется
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль FILE_OP.с
#include"bib.h"
//-----------------------Загрузка информации из файла------------------------
int show_file(char filename[12], int pos)
{
FILE *f;
char str[75];
int oldpos,cur=0;
//====================================
if ((f = fopen(filename,"r"))!=NULL)
{
do
{
ramka();
settextstyle(0,0,0);
int cury = 0; //Приращение на которое сместится
oldpos=pos; //следующая строка
fseek(f,pos,SEEK_SET);
//****************************************************
do
{ //Выводит на экран строку в 74
fgets(str,74,f); //символа
str[strlen(str)-1]='\0';
setcolor(15); //Цвет текста(Белый)
settextjustify(LEFT_TEXT,LEFT_TEXT);
if (!feof(f)) outtextxy(40,35+cury,str);
cury+=12; //Увеличение счетчика смещения
}
while((!feof(f))&&(cury<370));
//****************************************************
pos=ftell(f);
if (feof(f)) pos=-1;
setcolor(7);
line (35,409,615,409); //Две прямые над кнопками
line (35,414,615,414); //выбора в меню обучение
setcolor(8);
line (35,410,615,410); //Тени двух прямых над кнопками
line (35,415,615,415); //выбора в меню обучение
int k;
//===================================
//****************************************************
do
{
for (int i=0; i<4; i++) //Пока курсор находится в нужном
{ //месте его цвет серый,иначе
if (i==cur) setcolor(7); //в других местах-черный
else setcolor (16);
rectangle(42+160*i,422,118+160*i,448); //Прямоугольник выбора с прираще-
rectangle(41+160*i,421,119+160*i,449); //нием счетчика i (нужно для пе-
rectangle(40+160*i,420,120+160*i,450); //редвижения рамки выбора по экрану
rectangle(39+160*i,419,121+160*i,451);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for (i=0; i<4; i++) //Пока курсор находится в нужном
{ //месте его цвет темносерый,иначе
if (i==cur) setcolor(8); //в других местах-черный
else setcolor (16);
rectangle(42+160*i,422,118+160*i,448); //Тень п для рямоугольник выбора с прираще-
rectangle(41+160*i,421,119+160*i,449); //нием счетчика i (нужно для пе-
//редвижения рамки выбора по экрану
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
settextjustify(CENTER_TEXT,LEFT_TEXT);
setcolor(8);
settextstyle(0,0,1);
outtextxy(81,440,"Выход"); //Тени для кнопок выбора
outtextxy(241,440,"Поиск"); //действий в меню обучения
outtextxy(401,440,"<<Назад");
outtextxy(561,440,"Далее>>");
//-----------------------------------------
setcolor(7);
outtextxy(79,440,"Выход"); //Кнопки выбора действий
outtextxy(239,440,"Поиск"); //в меню обучения
outtextxy(399,440,"<<Назад");
outtextxy(559,440,"Далее>>");
//-----------------------------------------
k=getch();
if (k==77) cur++; //Пердвижение курсора вправо
if (k==75) cur--; //Пердвижение курсора влево
if (cur==-1) cur=3; //Переход на крайний правый пункт
if (cur==4) cur=0; //Переход на крайний левый пункт
if (k==27) return -1; //Если ESC,то выход из меню "Теория"
//***********************************
if ((k==13)&&(cur==0)) return -1; //Выход из меню "Теория"
//***********************************
if ((k==13)&&(cur==1)) //Поиск слова, фразы
{
fseek(f,oldpos,SEEK_SET);
pos = search(f); //Присвоение позиции функции
} //поиска слова
//***********************************
if ((k==13)&&(cur==2))
{
if (oldpos>(74*20)) //Скролинг экрана вверх
{
fseek(f,-74*20+oldpos,SEEK_SET);
fgets(str,74,f);
pos=ftell(f);
} else pos=0;
}
//***********************************
if ((k==13)&&(cur==3))
{
if (oldpos<(540*20)) //Скролинг экрана вниз
{
fseek(f,74*20+oldpos,SEEK_SET);
fgets(str,74,f);
pos=ftell(f);
} else pos=oldpos; //Если конец текста,то не куда не
} //двигаемся
//***********************************
}
while(k!=13);
}
while(pos!=-1);
fclose(f);
}
return pos; //Функция возвращает позицию
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль TEST.c
#include"bib.h"
//-------------------------------Тестирование--------------------------------
char *otvet; //Правильный ответ
char *user_otvet;
void test()
{
FILE *fansw;
FILE *test_file;
char i = 0, k = 0, len = 0;
fansw = fopen("answer.dat", "rb");
fread(&len, 1, 1, fansw); //считываем
otvet = (char *)malloc(len+1); //Резервируем память под
user_otvet = (char *)malloc(len+1); //данные переменные
memset(otvet, 0, len+1);
memset(user_otvet, 0, len+1);
fread(otvet, len, 1, fansw); //считываем
fclose(fansw); //Закрытие файла
if ((test_file = fopen("test.txt","rt"))!=NULL)
{
char otv1[50];
char otv2[50];
char otv3[50];
char otv4[50];
char vopr[50];
char tmp[50];
int good=0, bad=0;
i = 0;
while (!feof(test_file)) {
memset(vopr, 0, 50);
memset(otv1, 0, 50);
memset(otv2, 0, 50);
memset(otv3, 0, 50);
memset(otv4, 0, 50);
fgets(vopr,50,test_file); //Выводим вопрос на
*(vopr+strlen(vopr)-1)='\0'; //экран, а также все
fgets(otv1,50,test_file); //четыре вопроса и
*(otv1+strlen(otv1)-1)='\0'; //дописываем в конец
fgets(otv2,50,test_file); //каждой строки
*(otv2+strlen(otv2)-1)='\0'; //символ "окнчания
fgets(otv3,50,test_file); //строки"
*(otv3+strlen(otv3)-1)='\0';
fgets(otv4,50,test_file);
*(otv4+strlen(otv4)-1)='\0';
int k;
k = menu(vopr,otv1,otv2,otv3,otv4);
if (k==-1) return;
user_otvet[i] = k+1; //ответ пользователя
i++; //увеличивается
}
ramka(); //Прорисовка рамки
for(k=0;k
{
if (otvet[k] == user_otvet[k])
good++;
else bad++;
}
memset(tmp,0,50);
itoa(good,tmp,10);
outtextxy(30,50,"Правильных ответов: "); //Подсчет результата
outtextxy(350,50,tmp); //ответов пользователя
memset(tmp,0,50); //и вывод соответствую-
itoa(bad,tmp,10); //щего сообщения с ре-
outtextxy(30,80,"Неправильных ответов: "); //зультатами
outtextxy(380,80,tmp);
outtextxy(30,400,"Ваша оценка знаний: ");
settextstyle(1,0,2);
outtextxy(30,440,"Нажмите ESC для возврата в предыдущее меню");
settextstyle(0,0,2); //Характеристики текста
if (good<=3) //слова результатов
{ //тестирования
memset(tmp,0,50); //Выделение памяти под переменную tmp
strcpy(tmp," Плохо "); //Копирует строку "Плохо"
} //в строку tmp
if (good>3 && good<=6)
{
memset(tmp,0,50);
strcpy(tmp,"Удовлетворительно"); //Копирует строку "Удовлетворительно"
} //в строку tmp
if (good > 6)
{
memset(tmp,0,50);
strcpy(tmp, "Хорошо"); //Копирует строку "Хорошо"
} //в строку tmp
if (good == 10)
{
memset(tmp,0,50);
strcpy(tmp, " Отлично!!! "); //Копирует строку "Отлично"
} //в строку tmp
outtextxy(340,400,tmp); //В зависимости от набранных
} //баллов выводит результат
do //События нажатия клавиш Enter и Esc
{
int choice;
choice=getch();
if (choice==27) return ; //Если Esc, то выход из программы
}
while(1);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль HELP.c
#include "bib.h"
//----------------------------------Помощь-----------------------------------
int help(int autor)
{
FILE *f;
int cury = 0;
char str[75];
char filename[12];
if (autor)
strcpy(filename,"autor.txt");
else strcpy(filename,"help.txt");
ramka();
setcolor (15);
settextstyle(0,0,0);
if (autor)
outtextxy(260,440,"г. ДОНЕЦК 2006 год");
else
outtextxy(40,440,"Нажмите ESC для возврата в предыдущее меню");
settextstyle(0,0,0);
if ((f = fopen(filename,"r")) != NULL)
{
while(!feof(f))
{
fgets(str,74,f);
str[strlen(str)-1]='\0';
setcolor(15);
settextjustify(LEFT_TEXT,LEFT_TEXT);
if (!feof(f)) outtextxy(40,35+cury,str);
cury+=8;
}
}
do //События нажатия клавиш Enter и Esc
{
int choice;
choice=getch();
if (choice==27) return 0; //Если Esc, то выход из программы
}
while(1);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль EXIT.c
#include"bib.h"
//----------------------------------Выход------------------------------------
void exit()
{
help(1); //При выходе выводит информацию о пользователе
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль OSHIBKA.c
#include"bib.h"
//--------------------------Вывод сообщения ошибки---------------------------
void oshibka(char *fn)
{
textcolor(LIGHTRED);
cprintf("Критическая ошибка - не найден файл: %s Программа прервана.", fn);
exit(-1);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//модуль MODULI.c
//----------------------------Модули программы-------------------------------
#include "bib.h"
#include "ramka.h"
#include "menu.h"
#include"zastavka.h"
#include"poisk.h"
#include"file_op.h"
#include"test.h"
#include"help.h"
#include"exit.h"
#include"oshibka.h"
/////////////////////////////////////////////////////////////////////////////
//сама программа
//-------------------------------Библиотеки----------------------------------
#include "moduli.h"
//-------------------------------Сама программа------------------------------
void main()
{
FILE *F1;
//***************************************************************
if ((F1 = fopen("1.txt", "r")) == NULL)
oshibka("1.txt");
fclose(F1);
//***************************************************************
if ((F1 = fopen("autor.txt", "r")) == NULL)
oshibka("autor.txt");
fclose(F1);
//***************************************************************
if ((F1 = fopen("help.txt", "r")) == NULL)
oshibka("help.txt");
fclose(F1);
//***************************************************************
if ((F1 = fopen("test.txt", "r")) == NULL)
oshibka("test.txt");
fclose(F1);
//***************************************************************
if ((F1 = fopen("answer.dat", "r")) == NULL)
oshibka("answer.dat");
fclose(F1);
//***************************************************************
if ((F1 = fopen("egavga.bgi", "r")) == NULL)
oshibka("egavga.bgi");
fclose(F1);
//***************************************************************
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
if (zastavka2()==-1)
{
exit();
return;
}
do
{
int k=0;
k=menu("ГЛАВНОЕ МЕНЮ","Теория","Тесты","Помощь","Выход");
//-----------------------------------------------------------
if (k==-1)
{
exit();
return;
}
if (k==1) test();
if (k==2) help(0);
if (k==3)
{
exit();
return;
}
if (k==0)
do
{
show_file("1.txt",0); break;
}
while((k!=-1)&&(k!=3));
}
while(1);
}
//////////////////////////////////////////////////////////////////////////////
4>4>4>9>370>