Программа сортировки файла с данными

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ых данных, оставляя оригинал данных неизменным. Для определения параметра передающегося по ссылке, необходимо после указания типа ввести символ &. Имя ссылочного параметра является псевдонимом фактического параметра. Любое изменение ссылочного параметра влечет за собой изменение переменной переданной в качестве фактического параметра.

Общая форма задания ссылочных параметров:

[const]...

 

Ключевое слово const объявляет компилятору, что значение параметра не должно быть изменено функцией.

) C++ поддерживает локальные константы и локальные данные различных типов. Все эти элементы могут быть объявлены во вложенных блоках операторов, однако C++ не поддерживает вложенных функций.

) Ключевое слово return передает в вызывающую функцию возвращаемое значение, если оно существует.

) Если тип возвращаемого функцией значения - void, вы не обязаны использовать оператор return, кроме того случая, когда нужно произвести выход из функции прежде, чем она выполнится целиком. В этом случае оператор return не имеет параметра, - ничего возвращать не нужно.

) С++ требует, чтобы либо объявление, либо определение функции предшествовали её вызову.

Рассмотрим структуру функции на примере функции чтения из файла:

 

void WriteFile()

{i;outfile("sort.txt");(i=0; i<50; i++)

{<<mas[i];

outfile<<"\n";

}

}

 

Итак, в самой первой строке мы записываем тип нашей функции. В данном случае - это Void. Сразу за типом функции следует её имя. Я назвал её WriteFile (Чтение файла; соответствует её назначению и исключает путаницу в больших программах) для удобства. После имени функции в круглых скобках указываются параметры функции. В нашем случае они не нужны т.к. передавать в функцию мы ничего не будем. Начиная со второй строки и до конца идёт тело функции. Оно состоит из последовательности операторов, выполняющих те или иные операции. Тело функции заключается в фигурные скобки. Операции, входящие в тело функции рассматривать не будем.

 

.7 Функция main()

 

Функция main, с которой начинается выполнение СИ-программы, может быть определена с параметрами, которые передаются из внешнего окружения, например, из командной строки. Во внешнем окружении действуют свои правила представления данных, а точнее, все данные представляются в виде строк символов. Для передачи этих строк в функцию main используются два параметра, первый параметр служит для передачи числа передаваемых строк, второй для передачи самих строк. Общепринятые (но не обязательные) имена этих параметров argc и argv. Параметр argc имеет тип int, его значение формируется из анализа командной строки и равно количеству слов в командной строке, включая и имя вызываемой программы (под словом понимается любой текст не содержащий символа пробел). Параметр argv это массив указателей на строки, каждая из которых содержит одно слово из командной строки. Если слово должно содержать символ пробел, то при записи его в командную строку оно должно быть заключено в кавычки.

Функция main может иметь и третий параметр, который принято называть argp, и который служит для передачи в функцию main параметров операционной системы (среды) в которой выполняется СИ-программа. Заголовок функции main имеет вид:main (int argc, char *argv[], char *argp[])

 

Но в подавляющем большинстве случаев параметры функции main можно исключить. Так мы и поступим. Тогда заголовок функции примет следующий вид:

main ()

 

По назначению функция main является основной функцией любой программы на языке С++. Именно последовательность действии, заложенная в данную функцию, выполняется во время работы программы (Она является как бы инструкцией для остальных операций и функций программы). Рассмотрим данную функцию на примере разработанной программы:

main()

{

ReadFileParse();

psort();();("PAUSE");EXIT_SUCCESS;

}

 

Заголовок функции мы рассмотрели ранее, поэтому его опускаем. Следом за заголовком функции следует её тело. Как же будет оно выполняться? Всё очень просто:

Вызываем функцию с именем ReadFileParse()

Ожидаем выполнение данной функции и передаём управление следующему оператору. Вызываем функцию сортировки psort() и дожидаемся её выполнения. Аналогично происходит и с функцией WriteFile()

Делаем паузу для просмотра результатов работы программы функцией system("PAUSE")

Проверяем правильность завершения работы программы функцией EXIT_SUCCESS.

подпрограмма чтение файл запись

1.8 Функции ввода-вывода

 

Стандартная библиотека C/C++ включает ряд функций для чтения и записи в консоли (клавиатура и монитор). Эти функции читают и пишут данные как простой поток символов.

Понятие потока (stream), использованное в программировании, тесно связано с обычным, бытовым пониманием этого слова. Поток ввода можно сравнить с трубой, по которой вода (информация) поступает в бассейн (память компьютера), поток вывода - с трубой, по которой вода выходит из бассейна. Важной особенностью этой трубы является то, что в каждый момент времени данные могут двигаться только в одном направлении. Даже если одна и та же труба используется для ввода и вывода, это не может происходить одновременно: для переключения направления потока его нужно остановить, выполнить некие действия и лишь затем направить поток в обратном направлении.

Функция "cin" ( the standart input stream - стандартный поток ввода ) в С++ читается как "си-ин". Обычно она выполняет ввод с клавиатуры. Хотя "cin" может быть связана и с другим устройством.