Реферат: Синтаксический распознаватель арифметического оператора условного перехода языка FORTRAN

Министерство науки,высшей школы и технической политики Российской Федерации.

Новосибирский Государственный ТехническийУниверситет.

<img src="/cache/referats/1182/image002.jpg" v:shapes="_x0000_i1025"><span BrushScriptUkrain Light",«serif»">

Курсовая работа по системному программированию.

Синтаксическийраспознаватель арифметического оператора условного перехода языка FORTRAN.

<span BrushScriptUkrain Light",«serif»; mso-ansi-language:EN-US">

Факультет:АВТ.

Кафедра:АСУ.

Группа:А–513.

Студент:Бойко Константин Анатольевич.

Преподаватель:Шорников Юрий Владимирович.

Ассистент:    ПановаВера Борисовна.

Дата:30 апреля 1997 г.

Отметка о защите:

<img src="/cache/referats/1182/image003.gif" v:shapes="_x0000_s2050"> <span BrushScriptUkrain Light",«serif»">

<span BrushScriptUkrain Light",«serif»">


<span BrushScriptUkrain Light",«serif»">Новосибирск.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Язык оператора.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Языкарифметического оператора условного перехода языка

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US">FORTRAN.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">IF(<АВ>)LABEL1,LABEL2,LABEL3

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US"> АВ

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US"> — <span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">АрифметическоеВыражение.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">LABEL1,LABEL2,LABEL3

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US"> — <span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»">первая,<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US"> <span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">вторая и третья метки<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US"> <span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">                                                соответственно.

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Грамматика языка.

   G[<Оператор>]:

1.<span Times New Roman""> 

<Оператор><span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®IF(<АВ>),,

2.<span Times New Roman""> 

<span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®<ЦБЗ>

3.<span Times New Roman""> 

<АВ><span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®T| <АВ><span Times New Roman""><span Times New Roman"">+T| <АВ>-T

4.<span Times New Roman""> 

T <span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®O| T*O | T/O | T<span Times New Roman";mso-hansi-font-family: «Times New Roman»;text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family: Symbol">**O

5.<span Times New Roman""> 

O <span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®(<АВ>) | <Идентификатор> | <ЧПЗ>

6.<span Times New Roman""> 

<Идентификатор><span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®Б{Б|Ц}

7.<span Times New Roman""> 

<ЦБЗ><span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®Ц{Ц}[<span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-ansi-language:EN-US;mso-char-type:symbol; mso-symbol-font-family:Symbol">L]

8.<span Times New Roman""> 

<ЧПЗ><span Times New Roman";mso-hansi-font-family:«Times New Roman»; text-transform:uppercase;mso-char-type:symbol;mso-symbol-font-family:Symbol">®Ц{Ц}[.Ц{Ц}]

 Условные обозначения:

                    

Т

ТЕРМ.

О

ОПЕРАНД.

Б

БУКВА.

Ц

ЦИФРА.

ЦБЗ

ЦЕЛОЕ БЕЗ ЗНАКА.

<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">**

ВОЗВЕДЕНИЕ В СТЕПЕНЬ.

LABEL

МЕТКА.

ЧПЗ

ЧИСЛО С ПЛАВАЮЩЕЙ ЗАПЯТОЙ.

<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">L

КОНЕЦ СТРОКИ (пусто).

АВ

АРИФМЕТИЧЕСКОЕ ВЫРАЖЕНИЕ.

<span Times New Roman",«serif»;mso-fareast-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-fareast-language:RU;mso-bidi-language:AR-SA">

Классификация грамматики.

Данная грамматика G[<ОПЕРАТОР>],согласно классификации Хомского, является контекстно-свободной, так как праваячасть каждой редукции начинается либо с терминального символа, либо снетерминального, принадлежащего объединённому словарю.

A <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">®

a, A<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">ÎVn, a<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">ÎV<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">*.

Грамматика G[<ОПЕРАТОР>]неявляется автоматной, так как не все её редукции начинаются с терминальногосимвола. По этой же причине данная грамматика не является S-грамматикой.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Метод анализа.

Для данной грамматикиреализован разбор методом рекурсивного спуска, поскольку она относится к классуконтекстно-свободных.

        Идеяметода состоит в том, что каждому нетерминальному символу ставится всоответствие определённая программная единица (функция), которая распознаётцепочку, порождаемую этим нетерминалом.

        Этипроцедуры и функции вызываются в соответствии с правилами грамматики и иногдавызывают сами себя.

        Данныйметод реализован на языке C++, поскольку он обладаетрекурсивными возможностями.

<span Times New Roman"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Диагностика и нейтрализация ошибок.

Для данной грамматикипроизводится только диагностика и нейтрализация ошибок. Исправление ошибок непроизводится.

Нейтрализация ошибокосуществляется по методу Айронса, то есть, спускаясь по синтаксическому деревубез возврата по контексту, при обнаружении тупиковой ситуации отбрасываются телитеры (символы), которые привели в тупиковую ситуацию и разбор продолжается.

<span Times New Roman"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Тестирование.

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

IF(((6/t+g*456)/(9.347*y-555))**6)64,44,548

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

Текущий символ ( — 40.

AB — Проверка на АрифметическоеВыражение.

Текущий символ ( — 40.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

AB — Проверка наАрифметическое Выражение.

Текущий символ ( — 40.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

AB — Проверка наАрифметическое Выражение.

Текущий символ 6 — 54.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 6.

FLOAT — проверка на число сплавающей запятой с цифры 6.

Текущий символ / — 47.

Текущий символ t — 116.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа t.

Текущий символ + — 43.

AB — Проверка наАрифметическое Выражение.

Текущий символ g — 103.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа g.

Текущий символ * — 42.

Текущий символ 4 — 52.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 4.

FLOAT — проверка на число сплавающей запятой с цифры 4.

Текущий символ 5 — 53.

Текущий символ 6 — 54.

Текущий символ ) — 41.

Текущий символ / — 47.

Текущий символ ( — 40.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

AB — Проверка наАрифметическое Выражение.

Текущий символ 9 — 57.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 9.

FLOAT — проверка на число сплавающей запятой с цифры 9.

Текущий символ. — 46.

Текущий символ 3 — 51.

Текущий символ 4 — 52.

Текущий символ 7 — 55.

Текущий символ * — 42.

Текущий символ y — 121.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа y.

Текущий символ — - 45.

AB — Проверка наАрифметическое Выражение.

Текущий символ 5 — 53.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 5.

FLOAT — проверка на число сплавающей запятой с цифры 5.

Текущий символ 5 — 53.

Текущий символ 5 — 53.

Текущий символ ) — 41.

Текущий символ ) — 41.

Текущий символ * — 42.

Текущий символ * — 42.

Текущий символ 6 — 54.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 6.

FLOAT — проверка на число сплавающей запятой с цифры 6.

Текущий символ ) — 41.

Текущий символ   — 32.

Текущий символ 6 — 54.

ABS — проверка на Целое БезЗнака с цифры 6.

Текущий символ 4 — 52.

Текущий символ, — 44.

Текущий символ 4 — 52.

ABS — проверка на Целое БезЗнака с цифры 4.

Текущий символ 4 — 52.

Текущий символ, — 44.

Текущий символ 5 — 53.

ABS — проверка на Целое БезЗнака с цифры 5.

Текущий символ 4 — 52.

Текущий символ 8 — 56.

Текущий символ NULL — 0.

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

IF(r**34/50.22) 3,56,1

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

Текущий символ ( — 40.

AB — Проверка наАрифметическое Выражение.

Текущий символ r — 114.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа r.

Текущий символ * — 42.

Текущий символ * — 42.

Текущий символ 3 — 51.

Term — Проверка на Терм.

Operand — Проверка на Операнд.

IDENT — Проверка наИдентификатор с символа 3.

FLOAT — проверка на число сплавающей запятой с цифры 3.

Текущий символ 4 — 52.

Текущий символ / — 47.

Текущий символ 5 — 53.

Term — Проверка на Терм.

Operand — Проверка наОперанд.

IDENT — Проверка наИдентификатор с символа 5.

FLOAT — проверка на число сплавающей запятой с цифры 5.

Текущий символ 0 — 48.

Текущий символ. — 46.

Текущий символ 2 — 50.

Текущий символ 2 — 50.

Текущий символ ) — 41.

Текущий символ   — 32.

Текущий символ 3 — 51.

ABS — проверка на Целое БезЗнака с цифры 3.

Текущий символ, — 44.

Текущий символ 5 — 53.

ABS — проверка на Целое БезЗнака с цифры 5.

Текущий символ 6 — 54.

Текущий символ, — 44.

Текущий символ 1 — 49.

ABS — проверка на Целое БезЗнака с цифры 1.

Текущий символ NULL — 0.

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

<span Times New Roman"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Листинг программы.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

//          FILE «KURSOVIC.CPP».

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

//          ВАРИАHТ # 2.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

//          Арифметический оператор условного перехода языка FORTRAN.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Кафедpа       : АСУ.

// Гpуппа         : А-513.

// Студент       : Бойко Константин Анатольевич.

// Пpеподаватели :      кандидат технических наук, доцентШоpников Юpий Владимиpович,

//                                  ассистент                                            Панова Веpа Боpисовна.

// Дата             : 30 апреля 1997г.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Заголовочные файлы.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

# include<stdio.h>

# include<conio.h>

# include<string.h>

# include<stdlib.h>

# include «keyboard.h»

# include<dos.h>

# include <ctype.h>

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Константы.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

# define                       FILE_NAME   «TEXT.TXT»

# define                       YES                 1

# define                       NO                   2

# define                       OK                   3

//# define         TEST

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Глобальные переменные.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

char file1[22][60];                   // Массив строк.

char mes[22][30][50];              // Массив сообщений об ошибках.

char bufer[4096];                    // Снимок с экрана.

int  com=0;                              //Показатель: откомпилирован файл или нет.

int  pos=2;                                //Текущая позиция в строке.

char string[80];                                    // Текущаястрока файла.

char nx;                                   // Текущийсимвол в строке.

int  e1=0;                                 //Счетчик страниц массива собщений об ошибках.

int  e2=0;                                 //Счетчик строк в странице.

int  l=0;                                                //Счетчик меток.

FILE*fl=fopen(«MESSAGE.TXT»,«wt»);        // Файл с сообщениями об ошибках.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Прототипы функций.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

voidWindows(int,int,int,int,char*);     //Построение окон.

void Beep(int,int);                                // Звуковойсигнал.

void Open_File(void);                         // Открытие файла.

void Second_Window(void);               // Построение нижней панели.

void MyPuts(char*,int);                                   // Аналогputs(char*).

void Print_File(void);                           // Печать файла.

void Menu(void);                                 // Меню.

int  i_readkey(void);                            // Опрос клавиатуры.

void Help(void);                                              //Помощь.

void Grammar(void);                           // Грамматика языка.

void Language(void);                           // Язык оператора.

void Compile(void);                            // Компиляция.

void Operator(char*);                          // Сканированиеоператора.

void Scan(void);                                  //Сканирование следующего символа.

void Label(void);                                 // РеализацияLabel.

int  ABS(void);                                                //Реализация ABS.

int  IDENT(void);                                //Реализация IDENT.

int  AB(void);                                      //Реализация AB.

void Error(int);                                     //Обработка ошибки.

int  Term(void);                                               //Реализация Term.

int  Operand(void);                              // Реализация Operand.

int  Float(void);                                                //Реализация Float.

void Message(int);                               // Выводсообщений об ошибках.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Функция MAIN.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

void main()

            {

            _setcursortype(_SOLIDCURSOR);

            window(1,1,80,25);

            textattr(113);

            clrscr();

            for(int i=0;i<24;i++)

            cputs("<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ

");

            textcolor(BLACK);

            cputs(" Enter filename");

            window(20,7,60,17);

            textattr(127);

            clrscr();

            Windows(20,7,60,17,«Open a File»);

            gotoxy(4,3);

            puts(«Name „);

            gotoxy(6,7);

            puts(“По умолчанию будет введен файл»);

            gotoxy(17,8);

            puts(FILE_NAME);

            window(23,10,57,10);

            textattr(31);

            clrscr();

            Open_File();

            Second_Window();

            Print_File();

            _setcursortype(_NOCURSOR);

            Menu();

            }

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Звуковой сигнал.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

void Beep(int tone,int pause)

            {

            sound(tone);

            delay(pause);

            nosound();

            }

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Построение рамок.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

void Windows(int x,int y,intx1,int y1,char* string)

{

y1++;

            for(int i=2;i<x1-x;i++)

                        {

                        gotoxy(i,1);

                        putch('=');

                        gotoxy(i,y1-y);

                        putch('=');

                        }

            for(i=1;i<y1-y;i++)

                        {

                        gotoxy(2,i);

                        putch('¦');

                        gotoxy(x1-x,i);

                        putch('¦');

                        }

gotoxy(2,1);

putch('г');

gotoxy(x1-x,1);

putch('¬');

gotoxy(x1-x,y1-y);

putch('-');

gotoxy(2,y1-y);

putch('L');

gotoxy((x1-x-strlen(string)+2)/2,1);

puts(string);

}

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

// Функция открытия файла.

//<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol; mso-no-proof:yes">¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

void Open_File(void)

{

charfilename[38];

filename[0]=35;

char*p=cgets(filename);

strcpy(filename,p);

if(filename[0]==NULL)

            strcpy(filename,FILE_NAME);

FILE*file;

if((file = fopen(filename, «rt»))== NULL)

                        {

            window(1,1,80,25);

                        textattr(7);

            _setcursortype(_NORMALCURSOR);

                        clrscr();

            perror(«ERROR»);

                        fcloseall();

            getch();

                        exit(1);

            }

            for(int i=0;i<22;i++)

                        {

                        char temp[255];

                        if((fgets(temp,80,file))==NULL)

                              

еще рефераты
Еще работы по программированию, базе данных