4.4 Метод решения

После запуска программы происходит прорисовка экрана затем и самого главного меню. Из меню вызываются функции: файл, вывод окошка-запроса о загрузке, либо очистке файла, либо запросе о выходе из программы; таблица, вывод окошка-запроса об удалении элементов внешних таблиц; Справка - в этом пункте меню пользователь узнает, как правильно работать с программой, как корректно выйти; выход.

Удаление элементов происходит по такой схеме: считываем в цикле по одному элементы из заданного файла, проверяем, входит ли этот элемент в заданный диапазон: если нет, то записываем в цикле по одному элементы во временный файл, если да, то пропускаем. Затем удаляем начальный файл и переименовываем временный.


4.5 Функционально – логическая схема


Рисунок 4.5 – функционально – логическая схема

Работа программы начинается с загрузки главного меню программы. Он состоит из строки меню и двух окон вывода. Строка «Файл» состоит из трех пунктов. Пользователь выбирает нужный ему пункт. Назначение пунктов строки следующее:

1)      новый – создание нового файла с таблицей;

2)         загрузка – загрузка из внешней памяти уже существующего файла;

3)         удаление – удаление существующего файла из памяти ЭВМ;

Меню «Удаление» состоит из трех пунктов:

1) по номеру – удаление из загруженной таблицы записи под соответствующим номером (значение задает пользователь).

Просмотр меню «Справка» приведет к выводу справочной информации по эксплуатации программы на экран.

Меню «Выход» выполняет освобождение используемой памяти, закрытие используемых файлов и завершение работы алгоритма.

Схематично работа программы представлена на рисунке 4.5.


5 КОМПЛЕКТ ПОСТАВКИ И ИНСТАЛЛЯЦИИ

 

5.1 Комплект поставки

В комплект поставки программного продукта входят следующие файлы:

kursovoi.exe – файл запускает программу;

start.bat - файл запускает русификатор, а потом программу;

1.in, 2.in, 3.in – файлы-примеры, содержащие некоторые таблицы;

help.dat – файл содержит текст справки;

keyrus.com – русификатор;

egavga.bgi – файл содержит драйвер видеоадаптера;

5.2 Порядок инсталляции

Процедура инсталляции очень проста:

1) на жестком диске необходимо создать новую папку;

2) в эту папку скопировать файлы, входящие в комплект поставки.

5.3 Запуск программы

Загружается файл start.bat . Программа запущена. В случае отсутствия каких-либо файлов не гарантируется правильность работы программы.


6 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА

Тестирование программного продукта можно произвести, загружая различные файлы, производя над ними операции удаления элементов или очистки таблиц, просмотр справочного материла, а также удаляя из папки различные файлы, необходимые для корректной работы программы, и наблюдая за реакцией программы.

На тестовом примере покажем действие программы.

Загружаем файл:

После выбора пункта меню “Удаление”→”По интервалу” и введя от 4-х до 13-ти, получим:

После загрузки того же файла и выбрав: “Удаление”→”По ключу”, введя ключ “250”, получим:

n Индекс Продукт Стоимость
1 30/121 Печенье 210
2 15/124 Конфеты 150
3 12/212 Зефир 140
6 10/376 Картофель 480
7 35/564 Арбузы 700
10 20/341 Морковь 800
11 10/343 Лук 750
12 15/123 Орехи 210
13 30/121 Айва 450
14 15/124 Капуста 150

Тестируя данный программный продукт можно определить его плюсы и минусы. К положительным качествам можно отнести простой и понятный интерфейс, внизу экрана на нижней кнопке находится подсказка к использованию, все, что нужно узнать по эксплуатации программы находится в пункте меню “Помощь”. В “логической” части программы главными плюсами является возможность редактирования файлов с таблицами без применения самой программы, также создание новых файлов с различными структурами и конструкциями. Типы полей загружаемой таблицы могут быть либо символьными, либо числовыми, вне зависимости от их порядка или конфигурации (т.е. рассмотрены различные варианты представления структуры таблицы). Рассмотрено также удаление элементов по заданному значению ключа, по интервалу. Но в программе имеются и свои недостатки: удаление элементов по сложному значению ключа (из-за возможных сложных конструкций), добавление элементов в файл (по той же причине), 16-ти-цветный интерфейс, также отсутствие горячих клавиш.


ВЫВОДЫ

Целью данного программного продукта является разработка программы, которая выполняла бы удаление элементов и очистку внешних таблиц. Приложение имеет свои преимущества и недостатки, а также перспективы усовершенствования. К положительным качествам можно отнести то, что программа занимает немного места на жестком диске, очень быстро загружается, не требовательна к операционным системам, выполняет просмотр и редактирование файлов различных конструкций.

К недостаткам можно отнести отсутствие возможности управлять мышью, отсутствие горячих клавиш.

К перспективам усовершенствования можно отнести подключение манипулятора “мышь”, создание более красочного интерфейса, возможности выполнения еще некоторых операций с внешними таблицами (добавление элементов и т. д.).


ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.   В. В. Подбельский, С. С. Фомин “Программирование на языке Си”,2-е издание – Москва: “Финансы и статистика”, 2002г. - 600с.

2.   Герберт “Шилдт Полный справочник по С”, 4-е издание – К.: Вильямс, 2002 - 700с.

3.   Джефф Элджер “C++” – Санкт-Петербург: “Библиотека программиста”, 2000г. – 320с.


Приложение А

 

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

 

А.1 Общие сведения

Полное наименование проектируемой системы: “Удаление элементов и очистка внешних таблиц”. Систему проектирует студент 2-го курса Донецкого государственного института искусственного интеллекта (ДонГИИИ), факультета современных компьютерных информационных технологий Климов В. А.

А.2 Основания для разработки

Основанием для разработки является задание к курсовому проектированию по курсу “Структуры и организация данных в ЭВМ”, выданное кафедрой программного обеспечения интеллектуальных систем, факультета СКИТ.

А.3 Цель разработки

Цель разработки – создание программного продукта, предназначенного для удаления элементов внешних таблиц по заданным значениям ключа, вывод таблиц на экран, возможность сохранения результатов в файл.

А.4 Требования к ПП

 

А.4.1 Требования к ПП в целом

К ПП предъявляются следующие требования:

-           наличие удобного интерфейса в виде меню с системой подсказок, позволяющих пользователю управлять программой;

-           наличие контроля вводимых данных (проверка на существование файла);

-           вывод на экран результата выполнения операций над файлом.

А.4.2 Требования к задачам и функциям, выполняемым ПП

Программный продукт должен реализовывать следующие функции:

-           считывание информации из файла;

-           удаление элементов внешних таблиц;

-           очистка файлов;

-           сохранение результатов в файл;

-           вывод текстовой информации о внешних таблицах.

А.4.3 Требования к техническому обеспечению

Программный продукт должен нормально функционировать на ПК со следующими характеристиками:

- процессор с частотой не ниже 66 MHz;

- 4MB памяти;

- VGA- монитор с поддержкой расширения 640x480.

А.4.4 Организационные требования

Программный продукт должен:

-           быть разработан на языке С;

- функционировать под ОС MS-DOS 5.0 и выше;

-           быть снабжённым пояснительной запиской объёмом не менее 30 страниц и руководством пользователя.

Этапы разработки и плановые сроки выполнения указаны в таблице А.1

Таблица A.1 – График выполнения курсового проекта

Этапы работы Срок выполнения (недели)
1 Постановка задачи: формулировка, исходные данные, результаты, определение требований к программному продукту. 1
1. Составление технического задания 1-2
2. Техническое проектирование. Изучение метода решения задачи. 2-3
3.

Рабочее проектирование.

Определение структур входных и выходных данных. Оценки структур данных и ал­горитмов.

4
4.  Написание алгоритмов удаления элементов по различных значениях ключа. 5
5. Написание алгоритмов очистки внешних таблиц 6-8
6. Создание файлов помощи по алгоритму и по программе 9
7. Отладка и тестирование. 10
8. Написание пояснительной записки 10-14
9. Защита курсового проекта. 28.12.2003

Приложение Б

 

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

 

Б.1 Меню

Передвижение по меню осуществляется с помощью клавиш “↑” и “↓”. Для выбора пункта меню нужно нажать Enter. Для выхода из меню нужно нажать ESC. Передвижение по пунктам подменю осуществляется с помощью клавиш “↑” и “↓”. Для выбора пункта подменю нужно нажать клавишу Enter. Для выхода из подменю нужно нажать клавишу ESC. Из основного меню путем нажатия клавиши Esc осуществляется вызов пункта меню “Выход”.

Б.1.1 Пункт «Файл»

На экран выводится вертикальное меню, состоящее из трех подпунктов: “Загрузка”, “Очистка”, “Выход”. Хождение по меню осуществляется с помощью нажатия клавиш <↑> и <↓>. Для выбора одного из пунктов необходимо нажать клавишу Enter.

Б.1.1.1 Подпункт «Загрузка»

На экран выводится окошко с запросом о вводимом файле, после чего нужно ввести имя файла, нажать клавишу Enter. Далее произойдет загрузка и вывод содержимого файла на экран, либо окошко, оповещающее о том, что загрузка не удалась по какой-либо причине. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.1.2 Подпункт «Очистка»

На экран выводится окошко с запросом о вводимом файле, после чего нужно ввести имя файла, нажать клавишу Enter. Далее произойдет очистка содержимого файла и вывод окна об успешном выполнении очистки, либо окошко, оповещающее о том, что загрузка не удалась по какой-либо причине. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.1.3 Подпункт «Выход»

Смотри пункт “Выход”.

Б.1.2 Пункт «Удаление»

На экран выводится вертикальное меню, состоящее из трех подпунктов: “По номеру”, “По интервалу”, “По ключу”. Хождение по меню осуществляется с помощью нажатия клавиш <↑> и <↓>. Для выбора одного из пунктов необходимо нажать клавишу Enter.

Б.1.2.1 Подпункт «По номеру»

На экран выводится окошко с запросом о вводимом удаляемом порядковом номере элемента, после чего нужно ввести число, нажать клавишу Enter. Далее произойдет удаление элемента таблицы под заданным номером и вывод содержимого файла на экран. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.2.2 Подпункт «По интервалу»

На экран выводится окошко с запросом о вводимом интервале удаляемых элементов, после чего нужно ввести 2 числа (начального и конечного удаляемого элемента), нажать клавишу Enter. Далее произойдет удаление элементов таблицы под заданным номером и вывод содержимого файла на экран. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.


Б.1.2.3 Подпункт «По ключу»

На экран выводится окошко с запросом о вводимом удаляемом значении ключа, после чего нужно ввести значение ключа, нажать клавишу Enter. Далее произойдет удаление элемента или элементов таблицы под заданным значением ключа и вывод содержимого файла на экран. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.3 Пункт «Помощь»

На экран выводится справка об эксплуатации программы.

Б.1.4 Пункт «Выход»

При выборе этого пункта программа завершит свою работу.


Приложение В

ЭКРАННЫЕ ФОРМЫ

Рисунок В.1 – Начальный вид экрана

Рисунок В.2 – Вид экрана после выбора пункта меню “Файл”-“Загрузка”

Рисунок В.3 – Реакция программы на отсутствие загружаемого файла

Рисунок В.4 – Вид экрана после выбора пункта меню “Удаление”-“По номеру”

Рисунок В.5 – Загрузка файла справки

Рисунок В.6 – Запрос о выходе из программы


Приложение Г

 

ЛИСТИНГ ПРОГРАММЫ

#include <stdio.h>

#include <conio.h>

#include <graphics.h>

#include <alloc.h>

#include <dos.h>

#include <string.h>

#include <stdlib.h>

int a,b,d=1,d2=1,i,j,m,l=0,x=0,z=0,n,p=0,r=0,k=0,nomer=0,nom;

int mode=VGAHI;

int driver=VGA;

char kluch[10];

int nach, con;

FILE *in;

char ch,*v,h[10],cd[50],*str,c[5],s[50],cf[50],cb;

void *buf,*buf1, *buf2, *buf3;

struct type

 {

 char nazv[10];

 char kol[10];

 char sum[10];

 char kl[10];

 } tablica[15],*ukz;

void imya();

void del()

{FILE *in;

 char fname[11];

setfillstyle(SOLID_FILL,0);

bar(200,100,500,300);

setcolor(4);

outtextxy(300,152,"‚ўҐ¤ЁвҐ Ё¬п д ©« !!!(*.in)");

outtextxy(315,162,"max 2 бЁ¬ў®« :_");

rectangle(301,174,463,185);

imya();

in = fopen(s,"w");

fclose(in);

outtextxy(300,152,"” ©« ®зЁйҐ­!!!");

}

void record(void)

{ char ch,name[11];

 FILE *out;

 int j=0;

 clrscr();

 printf("•®вЁвҐ б®еа ­Ёвм Ё­д®а¬ жЁо ў д ©«(y - ¤ , Ё­ зҐ ­Ґв):");

 ch=getch();

 if (ch=='y')

 {

 do

 {

clrscr();

printf("‚ўҐ¤ЁвҐ Ё¬п д ©« (*.out):");

scanf("%s",name);

out=fopen(name,"w");

 }while (out==NULL);

 for (j=0;j<=n;j++)

 {

 fprintf(out,"%s\n",tablica[j].nazv);

 fprintf(out,"%s\n",tablica[j].kol);

 fprintf(out,"%s\n",tablica[j].sum);

 fprintf(out,"%s\n",tablica[j].kl);}

 clrscr();

 gotoxy(32,13);

 printf("‡ ЇЁбм Їа®Ё§ўҐ¤Ґ­ гбЇҐи­®!");

 getch();

 fclose(out);

 }

}

void interval()

{

 setfillstyle(SOLID_FILL,0);

 setcolor(4);

 outtextxy(300,202,"‚ўҐ¤ЁвҐ ­Ё¦­оо Ја ­Ёжг!!!(*.in)");

 outtextxy(315,212,"max 2 бЁ¬ў®« :_");

 rectangle(301,224,463,235);

p=0;

do{

 a=getch();

 if ((a!=13)&&(a!=8)&&(a!=27))

 { s[p]=a; p++; s[p]='\x0';}

 bar(302,225,302+textwidth(s),226+textheight(s));

 if (a==8) if (p>0) s[--p]='\x0';

 outtextxy(302,225,s);

 if(strlen(s)>15)

 {

 outtextxy(250,220,"Ѓ®«миҐ бЁ¬ў®«®ў ўўҐбвЁ ­Ґ«м§п!!!!");

 outtextxy(250,230," „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

 do

 {

 a=getch();

 }while (a!=13);

 }

 }while(a!=13);

 setfillstyle(SOLID_FILL,0);

 bar(300,202,600,235);

 nach=atoi(s);

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐ ўҐае­оо Ја ­Ёжг!!!(*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

 a=getch();

 if ((a!=13)&&(a!=8)&&(a!=27))

 { s[p]=a; p++; s[p]='\x0';}

 bar(302,225,302+textwidth(s),226+textheight(s));

 if (a==8) if (p>0) s[--p]='\x0';

 outtextxy(302,225,s);

 if(strlen(s)>15)

 {

 outtextxy(250,220,"Ѓ®«миҐ бЁ¬ў®«®ў ўўҐбвЁ ­Ґ«м§п!!!!");

 outtextxy(250,230," „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

 do

 {

 a=getch();

 }while (a!=13);

 }

 }while(a!=13);

 setfillstyle(SOLID_FILL,0);

 bar(164,24,606,446);

 con=atoi(s);

 i=0;j=0;x=0;k=0;

 outtextxy(175,30,"Ќ®¬ ?­¤ҐЄб Ќ §ў ­ЁҐ ‘㬬 Љ«оз");

 do

 {

 i++;x+=10;j++;

 if (i==nach)

 {

 do

 {

 i++;

 }

 while (i>=con);

 }

 itoa(j,c,10);

 outtextxy(180,50+x,c);

 outtextxy(220,50+x,ukz[i].nazv);

 outtextxy(290,50+x,ukz[i].kol);

 outtextxy(390,50+x,ukz[i].sum);

 outtextxy(460,50+x,ukz[i].kl);

 }while (i!=n);

getch();

}

void load(void)

{

 FILE *in;

 char fname[11];

 int i=1;

 setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,152,"‚ўҐ¤ЁвҐ Ё¬п д ©« !!!(*.in)");

outtextxy(315,162,"max 20 бЁ¬ў®«®ў:_");

rectangle(301,174,463,185);

 imya();

 in = fopen(s,"r");

 do

 { fgets(ukz->nazv,10,in);

 fgets(ukz->kol,10,in);

 fgets(ukz->sum,10,in);

 fgets(ukz->kl,10,in);

 i++;

 k++;

 } while(!feof(in));

 rewind(in);

 i=1;

 outtextxy(175,30,"Ќ®¬ ?­¤ҐЄб Ќ §ў ­ЁҐ ‘㬬 Љ«оз");

 ukz=(struct type *)malloc(sizeof(struct type)*k);

 do

 {i++;

 itoa(i-1,c,10);

 x+=10;

 outtextxy(180,50+x,c);

 fscanf(in,"%s",ukz[i-1].nazv);

 outtextxy(220,50+x,ukz[i-1].nazv);

 fscanf(in,"%s",ukz[i-1].kol);

 outtextxy(290,50+x,ukz[i-1].kol);

 fscanf(in,"%s",ukz[i-1].sum);

 outtextxy(390,50+x,ukz[i-1].sum);

 fscanf(in,"%s",ukz[i-1].kl);

 outtextxy(460,50+x,ukz[i-1].kl);

 n=i;

 }while (!feof(in));

 fclose(in);

 }

 openf (char s[20])

{

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

z=0;

k=0;

in=fopen(s,"r");

setviewport(164,24,606,446,0);

rewind(in);

while(fgets(cd,53,in)!=NULL)

{

a=strlen(cd);

if(cd[a-1]=='\n')

cd[a-1]=' ';

setcolor(7);

outtextxy(10,10+x,cd);

x+=10;

k++;

}

 a=getch();

while (a!=27)

 {

 a=getch();

 }

k=0;

x=0;

clearviewport();

setviewport(0,0,639,479,0);

fclose(in);

 return(0);

}

void imya()

{

 p=0;

 do{

 a=getch();

 if ((a!=13)&&(a!=8)&&(a!=27))

 { s[p]=a; p++; s[p]='\x0';}

 bar(302,175,302+textwidth(s),176+textheight(s));

 if (a==8) if (p>0) s[--p]='\x0';

 outtextxy(302,175,s);

 if(strlen(s)>19)

 {

 outtextxy(250,200,"Ѓ®«миҐ бЁ¬ў®«®ў ўўҐбвЁ ­Ґ«м§п!!!!");

 outtextxy(250,210," „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

 do

 {

 a=getch();

 }while (a!=13);

 }

 }while(a!=13);

 setfillstyle(SOLID_FILL,0);

 bar(164,24,606,446);

}

 liniya (int k,int m,int n)

{ setcolor(n);

 line(130,20+k*60,130,50+k*60);

 line(20,50+k*60,130,50+k*60);

 setcolor(m);

 line(20,20+k*60,20,50+k*60);

 line(20,20+k*60,130,20+k*60);

return 0;

}

liniya2(int i,int m,int n)

{

 setcolor (m);

 line(20,300+i*60,20,330+i*60);

 line(20,300+i*60,130,300+i*60);

 setcolor (n);

 line(130,300+i*60,130,330+i*60);

 line(20,330+i*60,130,330+i*60);

 return 0;

}

void nomer1()

{

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐ ­®¬Ґа § ЇЁбЁ!!!(*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

 a=getch();

 if ((a!=13)&&(a!=8)&&(a!=27))

 { s[p]=a; p++; s[p]='\x0';}

 bar(302,225,302+textwidth(s),226+textheight(s));

 if (a==8) if (p>0) s[--p]='\x0';

 outtextxy(302,225,s);

 if(strlen(s)>15)

 {

 outtextxy(250,220,"Ѓ®«миҐ бЁ¬ў®«®ў ўўҐбвЁ ­Ґ«м§п!!!!");

 outtextxy(250,230," „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

 do

 {

 a=getch();

 }while (a!=13);

 }

 }while(a!=13);

 setfillstyle(SOLID_FILL,0);

 bar(164,24,606,446);

 nom=atoi(s);

 i=0;j=0;x=0;

 outtextxy(175,30,"Ќ®¬ ?­¤ҐЄб Ќ §ў ­ЁҐ ‘㬬 Љ«оз");

 m=n;

 do

 { x+=10;

 i++; j++;

 if((i==nom)&&(i==n)) break;

 if(i==nom){i++;m-=1;}

 itoa(j,c,10);

 outtextxy(180,50+x,c);

 outtextxy(220,50+x,ukz[i].nazv);

 outtextxy(290,50+x,ukz[i].kol);

 outtextxy(390,50+x,ukz[i].sum);

 outtextxy(460,50+x,ukz[i].kl);

 }while (i!=m);

 getch();

}

void kluchik()

{

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐ Є«оз (*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

 a=getch();

 if ((a!=13)&&(a!=8)&&(a!=27))

 { s[p]=a; p++; s[p]='\x0';}

 bar(302,225,302+textwidth(s),226+textheight(s));

 if (a==8) if (p>0) s[--p]='\x0';

 outtextxy(302,225,s);

 if(strlen(s)>15)

 {

 outtextxy(250,220,"Ѓ®«миҐ бЁ¬ў®«®ў ўўҐбвЁ ­Ґ«м§п!!!!");

 outtextxy(250,230," „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

 do

 {

 a=getch();

 }while (a!=13);

 }

 }while(a!=13);

 setfillstyle(SOLID_FILL,0);

 bar(164,24,606,446);

 strcpy(kluch,s);

 v=s;

 i=0;j=0;x=0;

 outtextxy(175,30,"Ќ®¬ ?­¤ҐЄб Ќ §ў ­ЁҐ ‘㬬 Љ«оз");

 do

 { x+=10;

 i++;j++;

 if (ukz[i-2].kl==v) i++;

itoa(j,c,10);

 outtextxy(180,50+x,c);

 outtextxy(220,50+x,ukz[i-1].nazv);

 outtextxy(290,50+x,ukz[i-1].kol);

 outtextxy(390,50+x,ukz[i-1].sum);

 outtextxy(460,50+x,ukz[i-1].kl);

 }while (i!=n);

 getch();

}

file (char str1[5],char str2[5],char str3[5])

{

 d2=1;

 setfillstyle(SOLID_FILL,1);

 for (i=0;i<3;i++)

 {

 bar(20,300+i*60,130,330+i*60);

 liniya2(i,9,0);

 }

 while (a!=27)

 {

 setcolor(6);

 outtextxy(27,310,str1);

 outtextxy(27,370,str2);

 outtextxy(27,430,str3);

if ((a==80)||(a==72))

{

if (a==80) d2++;

if (a==72) d2--;

if (d2>3) d2=1;

if (d2<1) d2=3;

}

if ((d2==1)&&(nomer==1))

{

setcolor(4);

outtextxy(27,310,str1);

liniya2(0,0,9);

a=getch();

liniya2(0,9,0);

if (a==13)

{

del();

}else continue;

}

if ((d2==1)&&(nomer==2))

{

setcolor(4);

outtextxy(27,310,str1);

liniya2(0,0,9);

a=getch();

if (a==13)

{

nomer1();

}

liniya2(0,9,0);

}

if ((d2==2)&&(nomer==1))

{

setcolor(4);

outtextxy(27,370,str2);

liniya2(1,0,9);

a=getch();

if (a==13)

{

load();

}

liniya2(1,9,0);

}

if ((d2==2)&&(nomer==2))

{

setcolor(4);

outtextxy(27,370,str2);

liniya2(1,0,9);

a=getch();

if (a==13)

{

kluchik();

}

liniya2(1,9,0);

}

if ((d2==3)&&(nomer==2))

{

setcolor(4);

outtextxy(27,430,str3);

liniya2(2,0,9);

a=getch();

liniya2(2,9,0);

if (a==13)

{

interval();

}

else continue;

liniya2(2,9,0);

}

 }

setfillstyle(SOLID_FILL,8);

bar(20,300,130,460);

return 0;

}

void interfice()

{

 setfillstyle(SOLID_FILL,8);

 bar(0,0,640,480);

 setfillstyle(SOLID_FILL,0);

 bar(164,24,606,446);

 setfillstyle(SOLID_FILL,1);

 for (i=0;i<4;i++)

 {

 bar(20,20+i*60,130,50+i*60);

 liniya(i,9,0);

 }

 setfillstyle (SOLID_FILL,1);

 bar(160,20,163,450);

 bar(20,265,163,268);

 bar(160,20,610,23);

 bar(607,20,610,450);

 bar(160,447,610,450);

 d=1;

 while (ch!=27)

 {

 setcolor(6);

 outtextxy(60,30,"”Ђ‰‹");

 outtextxy(45,90,"“„Ђ‹…Ќ?…");

 outtextxy(45,150,"‘ЏђЂ‚ЉЂ");

 outtextxy(55,210,"‚›•Ћ„");

if ((a==80)||(a==72))

{

if (a==80) d++;

if (a==72) d--;

if (d>4) d=1;

if (d<1) d=4;

}

if (d==1)

{

nomer=1;

setcolor(4);

outtextxy(60,30,"”Ђ‰‹");

liniya(0,0,9);

a=getch();

liniya(0,9,0);

if (a==13)

{

file("Ћ—?‘’ЉЂ","‡Ђѓђ“‡ЉЂ","");

}else continue;

}

if (d==2)

{

setcolor(4);

nomer=2;

outtextxy(45,90,"“„Ђ‹…Ќ?…");

liniya(1,0,9);

a=getch();

liniya(1,9,0);

if (a==13)

{

file("ЏЋ ЌЋЊ…ђ“","ЏЋ Љ‹ћ—“","ЏЋ ?Ќ’…ђ‚Ђ‹“");

}else continue;

}

if ((d==3))

{

setcolor(4);

outtextxy(45,150,"‘ЏђЂ‚ЉЂ");

liniya(2,0,9);

a=getch();

liniya(2,9,0);

if (a==13)

{

openf("e:\\bc31\\bin\\help.dat");

}

else continue;

}

if (d==4)

{

setcolor(4);

outtextxy(55,210,"‚›•Ћ„");

liniya(3,0,9);

a=getch();

liniya(3,9,0);

if (a==13)

{

break;

}

 else continue;

}

 }

}

void main(void)

{

 initgraph(&driver,&mode,"e:\\bc31\\bin");

 interfice();

 closegraph();

}


Информация о работе «Написание программы для удаления элементов и очистки внешних таблиц»
Раздел: Информатика, программирование
Количество знаков с пробелами: 30944
Количество таблиц: 29
Количество изображений: 8

Похожие работы

Скачать
52297
12
17

... Сэл.эн.каб.=n*b*Pлам*Сквт/ч, где Сэл.эн.каб. - затраты на электроэнергию для освещения кабинета (руб.) n - количество часов, необходимых для разработки одной программы = 98 b - количество ламп в кабинете= 24 Рлам - мощность, потребляемая 1 лампочкой за 1 час. При разработке программы составила 0,04 квт Сквт/ч - стоимость 1 квт/ч, равна 1,45 руб. Подставив значения в формулу, получим: Сэл ...

Скачать
59619
7
0

... ; - распределение ресурсов; - планирование; - ввод-вывод данных; - управление данными; - взаимодействие с оператором. Операционную систему составляют: - монитор; - загрузчик; - супервизор; - планировщик; и - набор системных обслуживающих программ (утилит) Операционная система Windows - (Windows operating system ) - разработанная корпорацией Microsoft однопользовательская операционная ...

Скачать
160219
2
22

... информации: в штатном режиме; изменения в штатном режиме работы; нештатный режим (аварийные ситуации). Глава 2. Обоснование способов защиты операционной системы от программных закладок типа троянский конь 2.1 Общие сведения о троянских программах   Подсоединение локальных компьютерных сетей организаций к сети Internet приводит к необходимости уделять достаточно серьезное внимание ...

Скачать
40793
1
2

... ·  Если Windows программа имеет графический интерфейс, то и Линукс программа должна иметь его тоже; ·  Функциональность Linux программы должна соответствовать основным функция Windos программы; С учётом поставленных критерий и принципов была осуществлена методика подбора программ аналогов для заполнения информационной базы, в которой они будут участвовать в качестве списков соответствий программ ...

0 комментариев


Наверх