Реферат по предмету "Информатика, программирование"


Интерпретатор команд MS DOS

Волжский университет имени В.Н.Татищева
Факультет “Информатика и телекоммуникации”
Кафедра “Информатика и системы управления”
КУРСОВАЯ РАБОТА
по дисциплине: “Системное программное обеспечение”
Тема:
“Интерпретатор команд MS DOS”
Тольятти
Содержание
ВВЕДЕНИЕ
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1     ОПЕРАЦИОННАЯСИСТЕМА MS DOS
1.1.1  ФайлыIO.SYS и MSDOS.SYS
1.1.2Командный процессор DOS
1.1.3.Базовая система ввода-вывода
1.1.4Загрузчик DOS
1.1.5Диалог пользователя с DOS
1.1.6Команды DOS
1.2НЕДОСТАТКИ ЯЗЫКА ПРОГРАМИРОВАНИЯ С++
2.ПРОГРАММНАЯ ЧАСТЬ
2.1ПОСТАНОВКА ЗАДАЧИ
2.2ПОСТРОЕНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
2.2АЛГОРИТМ
2.3.ОПИСАНИЕ РАЗРАБОТАННОЙ ПРОГРАММЫ
3.ЗАКЛЮЧЕНИЕ
4.СПИСОК ЛИТЕРАТУРЫ
5.ПРИЛОЖЕНИЕ
/>/>/>/>/>Введение
MsDos была создана в 1981 г. фирмой Microsoft по заказу IBMдля разрабатывающихся тогда компьютеров IBM PC. Компьютер IBM PC, для которогобыла написана MsDos, был мало похож на современные компьютеры – медленныймикропроцессор Intel-8088, 256 Кбайт оперативной памяти, без жёсткого диска,алфавитно-цифровой чёрно-белый монитор, работа лишь с односторонними 160-Кбайтными дискетами и т.д. Однако эти возможности были выше, чем уконкурирующих персональные компьютеры.
Первая версия Ms Dos тоже обладала гораздо более скромнымивозможностями, чем современные ОС. Она обеспечивала работу на компьютере лишьодного пользователя и одной программы (то есть однопользовательской иоднозадачной), поддерживала работу лишь с дискетами, клавиатурной иалфавитно-цифровым дисплеем. Зато Ms Dos была компактной, предъявляла довольноскромные требования к аппаратуре и выполняла необходимый минимум функций дляпользователей и программ.
За те два десятка лет, которые прошли с момента появления IBMPC, технические характеристики компьютеров совершили фантастический рывоквперёд. Современные компьютеры превосходят по всем показателям (быстродействию,объему оперативной и дисковой памяти, возможностям монитора и т.д) компьютерыначала 80х годов в сотни и даже тысячи раз. Поэтому фирма Microsoft внесла вMsDos много изменений и добавлений, чтобы расширить её возможности и болееэффективно использовать новые, более мощные, компьютеры.
Как наличие автомобилей не отменяет необходимости уметьходить на своих двоих, так и наличие Windows, Windows 95, Windows NT неликвидирует (хотя и сильно сокращает) потребности в MS DOS и DOS-программах:
·          досих пор остаётся множество областей деятельности, где DOS-программы успешноработают, а применение решений, требующих иных ОС, невозможно или экономическине целесообразно;
·          приповреждении таких ОС, как WINDOWS 3.1, WINDOWS for Workgroup и Windows 95 (чтослучается весьма часто) для исследования причин неисправности и их устраненияобычно приходится использовать MS DOS и DOS-программы.
Операционная система MSDOS в наше время не используется какосновная ОС, но без неё не обойдешься. При установке Windows используют командыMSDOS. В курсовой работе я интерпретирую эти команды.
/>/>/>/>/>/>/>/>/>1. Теоретическая часть/>1.1      Операционная система MS DOS/>1.1.1   Файлы IO.SYS и MSDOS.SYS
Файлы IO.SYS и MSDOS.SYS, иначе называемые основными системнымифайлами MS DOS, содержат программы MSDOS, которые постоянно находятся воперативной памяти компьютера./> 1.1.2 Командный процессорDOS
Командный процессор DOS Обрабатывает команды, вводимыепользователем. Стандартный командный процессор MS DOS имеет имя COMMAND.COM,обычно он находится в корневом каталоге диска, с которого загружается DOS.Некоторые команды пользователя, TYPE,DIR,COPY, командный процессор выполняетсам. Такие команды называются внутренними. Для выполнения остальных (внешних)команд пользователя командный процессор ищет на дисках программу ссоответствующим именем и если находит её, то загружает в память и передаёт ейуправление. По окончании работы программы командный процессор удаляет программуиз памяти и выводит сообщение о готовности к выполнению команд./> 1.1.3 Базовая системаввода-вывода
Базовая система ввода-вывода (BIOS), находящаяся в постояннойпамяти (постоянно запоминающем устройстве, ПЗУ) компьютера, формально неявляется частью MS DOS, однако тесно с ней связана. BIOS содержит программы дляпроверки оборудования компьютера, инициирования загрузки операционной системы(ОС) и программы для выполнения базовых (низкоуровневых) операций ввода-выводас монитором, клавиатурой, дисками и принтером.
/>1.1.4 Загрузчик DOS
Ещё одна программа, которую можно считать частьюDOS,- это загрузчик DOS. Он находится в первом секторе каждой дискеты и впервом секторе логического диска, с которого происходит загрузка DOS (то естьдиска С:). Название этой очень короткой программы- загрузка в память системногофайла DOS IO.SYS при начальной загрузке компьютера./> 1.1.5 Диалог пользователя сDOS
Диалогпользователя с DOS осуществляется в форме команд-строк символов, вводимых склавиатуры. Каждая команда пользователя означает, что DOS должна выполнить тоили иное действие, например, напечатать файл или выдать на экран оглавлениекаталога.
КомандыDOS состоит из имени команды или вызываемой программы и, возможно, параметров,разделённых пробелами. Ввод каждой команды заканчивается нажатием клавишиENTER./> 1.1.6 Команды DOS
Любая команда, вводимая пользователем в MS DOS, вызываетвыполнение либо внутренней команды (из COMMAND.COM) либо какой-либо программыили командного файла.
Команды DOS состоят из имени команды и, возможно, параметровразделённых пробелами. Имя команды и параметры могут набираться как прописными,так и строчными латинскими буквами. Ниже полностью описаны три командыDEL,REN,COPY, подробная характеристика, примеры правильного написания дляработы с ними. Моя программа интерпретирует их с небольшими изменениями.
·          Дляудаления файлов в DOS имеется команда DEL.Формат команды:
DEL Имя файла
В имени файла можно употреблять символы * и ?.
Примеры:
DEL *.bak–удаление всех файлов с расширением bak изтекущего каталога.
DEL my.txt — удаление файла my.txt из текущего каталога.
·          Дляпереименования файлов в DOS имеется команда REN. Формат команды:
REN имя-файла1 имя-файла2
Параметры. Параметр имя-файла1 задает имяпереименуемого файла, параметр имя-файла2 –новое имя файла.
Примеры:
REN xxx.doc xxx.txt –переименование файлаххх.doc в текущем каталоге. Новое имя файла xxx.txt.
·          Дляпереименования файлов в DOS имеется команда COPY. Формат команды:
COPY имя-файла1 имя-файла2
В имени файла можно употреблять символы * и ?, а такжеуказывать имя диска и каталога.
Выполнение команд. Если в параметреимя-файла1 указанно имя каталога, то файлы копируются из этого каталога в,иначе – из текущего каталога. Каталог, в котором копируются файлы, можно задатьпараметром имя-файла2 или указанием каталога в параметре имя-файла2. Если этоткаталог не задан, то файлы копируются в текущий каталог.
Если во втором параметре командызадано имя файла, то оно указывает новое          имя копируемого файла.Символы * и? в имени файла во втором параметре команды указывают, чтосоответствующие символы в именах копируемых файлов при копировании не меняются.
Примеры:
COPY xxx.doc xxx.txt –копирование файлаххх.doc в текущем каталоге; создаётся файл xxx.txt в текущем каталоге.
COPYa:\*.* — копирование всех файлов из корневого каталога диска а: в текущийкаталог.
COPYa:\*.* d: — копирование всех файлов из корневого каталога диска а: в текущийкаталог диска D:.
COPY \t\*.doc c:\*.txt — копирование всех файлов срасширением.doc из каталога \t текущего диска в текущий каталог диска с:. Файлыполучают расширение txt.
Если файл с таким же именем, как у копии,создаваемой командой COPY, уже существует, то он замещается без каких либопредупреждений./>/>/>/>/>1.2 Особенности языка програмирования С++
С++ программно независимый язык. На языке С++ пишутсяоперационные системы, различные программы и т.д. При написании своей программыя столкнулся с одной проблемой — это работа со строками, чтобы выполнитьопределённую задачу мне приходилось добавлять в программу ещё несколько илибольше функций для устранения ошибок. Например:
for (i=0;i
if (lptr[i]==' ')break; Копирование в ff до пробела
ff[i]=lptr[i];}
strncat(fs,ff,i);
В ff копируется посимвольно строка размером i, но припросмотре новой строки оказывалось символов не i, а в несколько раз больше,приходилось использовать strncat, она вырезает не нужные символы.И так почти на каждом шагу были проблема. Это мои первые замечания по ошибкам,возможно их прибавится.
/>/>/>/>/>2. Программная часть/>/>/>/>/> 2.1Постановка задачи
         
Перед началом выполнения данной курсовой работы я поставилдля себя целью изучить принципы работы с файлами в операционной системе DOS, команды,позволяющие работать с файлами, а также функции и системные вызовы языка С++,позволяющие копирование, удаление, переименование файлов, работа с команднойстрокой. В данной работе я постаралась наиболее подробно изучить операционнуюсистему DOS в программируемой части и частично других операционных систем,получить практические навыки работы с операционной системой DOS. В курсовойработе я буду создавать и описывать программу, которая позволит работать сфайлами, а именно, копировать, переименовывать и удалять. Данная программа вдальнейшем может быть использована студентами для изучения работы с файлами налабораторных занятиях по изучению теоретического материала и приобретенияпрактических навыков по дисциплине «Системное Программное Обеспечение», а такжепрограмма может быть использована в работе с операционной системой MS DOS. 2.2Построение алгоритма решения задачи
Алгоритм решения поставленнойзадачи, выполненный с помощью графического метода изображения алгоритмов –блок-схемой представлен ниже./>Алгоритм программы
Для реализации моей задачи используется следующий алгоритм(рисунок 1.).
Описание алгоритма:
1.        Вводкоманды с клавиатуры
2.        Индификациявводимой команды
3.        Операциинад параметрами команды
4.        Выполнениекоманды/>

/>
/>/>/>/>/>Рис. 1. Алгоритм программы.
/>2.3 Описание разработанной программы
Моя программа интерпретирует команды MS DOS
В программе можно пользоваться четырьмя командами:
1)        Exit-программа завершается.
2)        Copy– копирование файла или файлов.
3)        Ren–переименование файла.
4)        Del–Удаление файла.
В программе я использую встроенные библиотеки С++. Таб. 1
В основном программа работает со строковыми функциями. Этифункции нужны для обработки строк с клавиатуры, для устранения ошибок С++.
·          strtok–для устранения ошибок в строке
·          strncat-копирует определённое количество символов в переменную.
·          strstr- для поиска слова в строке.
·          strcpy–копирует строку в переменную.
·           strcat–добавляет строку в переменную.
·          Strrev-реверсирует строку.
·          Strlen-определяет количество символов в строке
·          Strlwr-всесимволы преобразовывает в строчные.
·          Strpbrk-ищет определённые символы.
Почти в любой программе не обойдешься без собственныхфункций, они упрощают программирование, программа становится более понятна иудобна в изучении. В моей программе я использую шесть своих функций FILCOP,GAD, GIP, DELFILE, RENFILE, COPYES.
·          Filcop- функция для копирования файлов.
·          Gad –функция для выреза одного пути без имени файла из строки.
·          Gip –функция для выреза одного имени файла из строки.
·          Delete-функция удаления файлов.
·          Renfile-функция переименования файлов.
·          Copyes-функция обрабатывающая строку и вызова функции Filcop. Она разделяет строку надва параметра копирования- какой файл и куда копировать с учётов шаблонов (*?).
После загрузки программы появится меню с приглашением «>>>>».Теперь можно вводить команды. После ввода команды программа определяет её.
Если:
·          EXIT- программа завершается.
·          REN–оставляет в введённой строке только два параметра (какой файл, на какойпереименовывать) и вызывает функцию Renfile.
·          Copy-оставляет в введённой строке только два параметра (какой файл, куда копироватьи что), вызывает функцию Copyes.
·          Del-оставляет в введённой строке только один параметр (какой файл) и вызываетфункцию Delete.
В программе в основном я работаю со строковыми переменными ифункциями для вырезания путей с файлами, путей, и т.д. Это всё нужно, чтобыиспользовать шаблоны в некоторых командах (Copy,delete).Название библиотеки Описание функции Stdlib.h Преобразование данных, генерирование случайных чисел, получение и установка переменных среды SHELL Time.h Организация имитационного процесса системного времени Iostream.h Потоки ввода \ вывода Conio.h Прототип функции задержки Stdio.h Обозначение потоковых файлов Sys\stat.h Системные вызовы для работы с файлами Sys\types.h Системные вызовы для работы с файлами Fstream.h Операции ввода \ вывода в файлах String.h Обработка строк Fcntl.h Флаги Io.h Организация ввода \ вывода Math.h Использование математических функций Таблица 1. Библиотеки C++.
/>/>3. Заключение
В данной курсовой работе были рассмотрены команды MS DOS,позволяющие копировать, удалять, переименовывать файлы. А также функции исистемные вызовы языка С++, позволяющие организовывать копирование, удаление файлови т.д. Данная работа позволила мне более углубленно изучить работу с строковымифункциями, различные тонкости языка и увидеть недостатки С++. В курсовой работебыла создана и описана программа, позволяющая работать с файлами в среде MSDOS. Данная программа может быть использована студентами для изучения работы сфайлами в среде MS DOS и частично с UNIX, на лабораторных занятиях по изучениютеоретического материала и приобретения практических навыков по дисциплине«Системное Программное Обеспечение»./>/>/>/>/> 
4. СПИСОК ЛИТЕРАТУРЫ
1)   ГерхардФранкен, Сергей Молявко MS DOS для пользователя.- Киев, 1993.
2)   С.Краковяк Основы организации и функционирования ОС ЭВМ.- М.: Мир, 1998.
3)   С.Кейслер Проектирование операционных систем для малых ЭВМ. — М.: Мир, 1996.
4)   Э.Немет, Г. Снайдер Unix. Руководство системного администратора. — Киев.: BHV,1997.
5)   ДегтяревЕ.К. Введение в Unix.- М.: Память, 1992.
6)   СвиридовС.В. Системные вызовы ОС UNIX.-М.: Память, 1992.
7)   ДунаевС. UNIX-сервер. Настройка, конфигурирование, работа в операционной среде,Internet-возможности: в 2-х томах.Том 1.-М.: Диалог -МИФИ, 1999.
8)   ДунаевС. UNIX-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-возможности:в 2-х томах.Том 2.-М.: Диалог -МИФИ, 1999.
9)   ШамерЛ., Негус К. UNIX (серия «Без проблем»): Пер. с англ. -М.: Бином, 1998.
10) Кейлингерт П. Элементы операционныхсистем. Введение для пользователей. Пер. с англ.-М.: Мир,1995.
11) Персон Р. Windows 95 вподлиннике. Пер. с англ.-СПБ:BHV-Санкт -Петербург, 1996.
/>/>/>/>/>/>/>/>/>/>/>5. Приложение
#include
#include
#include
#include
#include
#include
#include
#include
//Процедура для копирования файла
//FILCOP----------------------------------------------------------------------
int FILCOP(char *sd,char *sf)
{
FILE *in, *out;
          in = fopen(sd, «r»); открывает фаил и копируетв буфер содержимое
          out = fopen(sf, «w»); открывает или создаётфаил
          while (!feof(in))
          fputc(getc(in), out); заполняет новый фаил
          fclose(in); fclose(out); закрывает фаил
 return(0); возрашет функции значение 0
          }
Функция для создания полного пути
//ANY----------------------------------------------------------------------
char *GAD(char *sm, char *namf)
{ char *zzx,kr[254],*newfil; kr[0]='\0'; устанавливаем переменые
          zzx=strpbrk(sm,"\\"); ишет "\"
          if (zzx) { если есть
          strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strcat(newfil,namf); добовляет имя файла в путь
          strlwr(newfil); уменьшает символы
 return newfil;
           }
 else return namf;
           }
Функция для вырезки только путя
//ANY55----------------------------------------------------------------------
char *GIP(char *sm)
{ char *zzx,kr[254],*newfil; kr[0]='\0'; устанавливаем переменые
          zzx=strpbrk(sm,"\\"); ишет "\"
          if (zzx) { если есть
          strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
          return newfil;
           } else          return sm;
           }
Удаление фаил (а, ов)
           //DELFILE----------------------------------------------------------------------
DELFILE(char *sm)
{ //char *newfil, kr[254]; устанавливаем переменые
struct ffblk ffblk; Структура о файле
          int done;
          done = findfirst(sm,&ffblk,0); ишет файлы
          if (done==-1) cout
          while (!done) ишет пока не кончатся файлы
          {
          if (remove(GAD(sm,ffblk.ff_name)) == 0) удаление файла
          cout
          else
          cout
          done = findnext(&ffblk); следующий файл
          }
           return (0);
           }
Переименование фаила
//RENAME----------------------------------------------------------------------
RENFILE(char *sm,char *nm)
{
strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
if (rename(sm, nm) == 0) Фу Переименование фаила
           cout
 else
           cout
           return (0);
           }
//COPY----------------------------------------------------------------------
COPYES(char *sm)
{
char *nnj,zt[254],zt2[254]; int ji=0,jiz=0; установка перемен
//ON>>>>TWO************************************************
char ff[254],fs[254],*ptr7,ffg[254],fss[254]; fs[0]='\0';fss[0]='\0'; установка перемен
strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
Разделяем строку два параметра на первый
for (int i=0;i
strncat(fs,ff,i); ptr7 = strstr(sm, " "); Чтобы ошибокнебыло
Разделяем строку два параметра на первый
for (i=1;i
strncat(fss,ffg,i-1); Чтобы ошибок небыло
//******************************************************
char nbb[254]; уст перемен
Если есть *
if (strpbrk(fss,"*")){
strrev(fss); nbb[0]='\0'; реверс FSS
for (int q=0;q
if (fss[q]!='\\') nbb[q]=fss[q];else break; } копируем в NBB путь
strrev(fss);strrev(nbb); Реверсы
//cout
                                                                    }
//____________________________________________________________
char dt[254],dt2[254]; dt[0]='\0'; dt2[0]='\0'; int fll=0,ii=-2; устперемен
Разделяем строку фаил на наз и расширение
for (int q=0;q
if (nbb[q]=='.') fll=1; Если точка то флаг 1
if (fll==0) {dt[q]=nbb[q]; } Если 0 копируем в DT
if (fll==1) {ii++;dt2[ii]=nbb[q]; } Если 1 копируем в DT2
 }
//____________________________________________________________
//cout
//cout
//---------------------------------------------------------------------------
struct ffblk ffblk; Структура о файле
          int done;
          done = findfirst(fs,&ffblk,0); ишет фаилы
          if (done==-1) cout
          while (!done) начало поиска
          {
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          zt[0]='\0'; zt2[0]='\0'; fll=0;ii=-2;nnj=ffblk.ff_name; ji=0;jiz=0;Установка перемен
Разделение первого пар файла на имя и расширение         
for (q=0;q
          if (nnj[q]=='.') fll=1; если точка то флаг 1
          if (fll==0) {ji++;zt[q]=nnj[q]; } Если 0 копируем в ZT
          if (fll==1) {jiz++;ii++;zt2[ii]=nnj[q]; } } Если 1копируем в ZT2
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                   zt[ji]='\0'; zt2[jiz-1]='\0'; char *rrr; rrr=NULL;Обнулить перем
                   char *path2,bpn[254]; установка перем
path2=GIP(fss); Обработка моей функции       
bpn[0]='\0'; strcpy(bpn,path2); копир в BPN
Если во втором параметре есть звёздочки то из первого парамзаменяется второй
Замена у второго параметра имени именем первого параметра 
if (dt[0]!='*'){ strcat(bpn,dt); strcat(bpn,"."); } else
                   { strcat(bpn,zt); strcat(bpn,".");         }
                   if (dt2[0]!='*') strcat(bpn,dt2); else strcat(bpn,zt2);
Замена у второго параметра расширения расширением первогопараметра
                   strlwr(bpn); уменьшение символов
          strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
 FILCOP(GAD(fs,ffblk.ff_name),bpn); Обработка моей функции икопирование
          done = findnext(&ffblk); следующий фаил
          }
//---------------------------------------------------------------------------
 return (0);
           }
//MAIN----------------------------------------------------------------------
void main()
{
char s[254],*ptr,*lptr; установка переменных
gotoxy(16,0); установка текста в опред. части экрана
cout
gotoxy(0,23); установка текста в опред. части экрана
Enter: метка
cout>>"; вывод на экран текста
gets(s); strlwr(s); чтение с клавиатуры и уменшение символов
//++++++++++++++++DEL==================
strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
ptr = strstr(s, «del „); ишет “del „
if (strlen(ptr)!=0) { если есть
strcpy(s, ptr); копирует строку в S
int i,vb=-1; char sg[254]; установка переменных
for (i=4;i
vb++;
sg[vb]=s[i]; заносит в sg
}
lptr=NULL; обнуляет lptr
lptr=strtok(sg,“»); Чтобы ошибок не было
DELFILE(lptr); Собственная функция
          }
//++++++++++++++++REN==================
ptr = strstr(s, «ren „); ищет “ren „
if (strlen(ptr)!=0) { если есть
strcpy(s, ptr); копирут строку в S
int i,vb=-1; char sg[254]; установка переменных
for (i=4;i
vb++;
sg[vb]=s[i]; заносит в SG
}
lptr=NULL; обнуляет lptr
lptr=strtok(sg,“»); Чтобы ошибок не было
//***************************************************
char ff[254],fs[254],*ptr7,ffg[254],fss[254]; устовка переменных
fs[0]='\0'; fss[0]='\0'; обнуление
for (i=0;i
if (lptr[i]==' ')break; Копирование в ff до пробела
ff[i]=lptr[i];}
strncat(fs,ff,i); Чтобы ошибок не было
ptr7 = strstr(lptr, " "); ишет пробел
for (i=1;i
if (ptr7[i]==' ')break;
ffg[i-1]=ptr7[i];}
strncat(fss,ffg,i); Чтобы ошибок не было
//***************************************************
RENFILE(fs,fss); Собственная функция
                                                 }
//++++++++++++++++COPY==================
ptr = strstr(s, «copy „); ешет “copy »
if (strlen(ptr)!=0) { Удаляет «copy „
strcpy(s, ptr); копирут строку в S
int i,vb=-1; char sg[254]; Установка перем
for (i=5;i
vb++;
sg[vb]=s[i]; копирует в SG
}
lptr=NULL; обнуляет lptr
lptr=strtok(sg,“»); Чтобы ошибок не было
strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
ptr =strstr(lptr,«con „); ишет “con „
if (ptr){ cout
Если есть выводит сообщение
ptr =strstr(lptr,"+"); ишет +
if (ptr){ cout
Если есть выводит сообщение
COPYES(lptr); Собственная функция
                                                           }
//++++++++++++++++EXIT==================
ptr = strstr(s, «exit»); ишет «exit»
strcpy(kr,sm); копирует в kr путь без имени файла
          strrev(kr); реверс строки
          newfil = strstr(kr, "\\"); отрезает до"\"
          strrev(newfil); реверс строки
          strlwr(newfil); уменьшает символы
if (strlen(ptr)!=0) exit(EXIT_FAILURE);
если есть то выход программы
goto Enter; на метку
}


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.