ВВЕДЕНИЕ
1 СОЗДАНИЕ ИНФОРМАЦИОННО-ПОИСКОВОГО СПРАВОЧНИКА
1.1 Постановка задачи
1.2 Структура данных
1.3 Общая структурная схема программы
1.4 Специальные алгоритмы
1.4.1 Сортировка методом вставок
1.5 Описание функций и файлов. Листинг
1.5.1 Заголовочный файл main.c
1.5.2 Файл main.c
1.5.3 Создание справочника в памяти
1.5.4 Вывод справочника на экран
1.5.5 Сортировка методом вставок по текстовому полю voltage
1.5.6 Поиск записи по марке
1.5.7 Сохранение справочника в файл
1.5.8 Открытие справочника из файла
1.6 Результаты работы программы на примере конкретных данных
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ
Си (C) является языком функций, типов данных, операторов присваивания и управления последовательностью вычислений. Программируя на Си (C), вы осуществляете обращение к функциям, и большинство функций возвращают некоторые значения. Значение, возвращаемое функцией, будь то значение переменной или константа, может использоваться в операторе присваивания, который изменяет значение другой переменной. Дополненный операторами управления последовательностью вычислений (while, for, do, switch), Си (C) превращается в язык высокого уровня, способствующий хорошему стилю программирования. Си (C) имеет небольшой набор типов данных: целые числа, числа с плавающей запятой, битовые поля и перечислимый тип. В языке Си (C) вы можете описать переменную типа указатель, который связывается с объектом, принадлежащим к любому типу данных.
Адресная арифметика языка Си (C) является чувствительной к типу данных того объекта, с которым связан используемый указатель. Разрешены также указатели к функциям. Вы можете расширить список типов данных путем создания структур с иерархической зависимостью входящих в него типов данных. Каждый тип данных может принадлежать либо к основному типу, либо к ранее описанному структурному типу. Объединения напоминают структуры, но определяют различные виды иерархических зависимостей, в которых данные разных типов располагаются в памяти.
Допустимо описание массивов данных различных типов, включая структуры и объединения. Массивы могут быть многомерными. Функции Си (C) являются рекурсивными по умолчанию. Вы можете, правда, создать функцию, которая не будет рекурсивной, но сам язык по своей природе стремится поддерживать рекурсивность и требует минимальных усилий при программировании рекурсий.
Цель данной курсовой работы - закрепить и расширить знания по программированию на языке С и С++. Задача курсовой работы – разработать и реализовать на языке С информационно-поисковый справочник «Операционные усилители».
В ходе разработки данной программы были использованы различные возможности языка C и C++. Например, функции работы со строками и символами, операторы ветвления, выбора, циклические операторы и т.д. Для реализации вывода на экран, сохранения в памяти компьютера и загрузки справочника «Операционные усилители» были использованы функции языка С++.
Программа рассчитана на информацию о операционных усилителях. Эти данные хранятся в структуре из 5 полей (марка, количество каналов, напряжение, частота, корпус).
При работе с программой были использованы реальные типы операционных усилителей.
В курсовой работе необходимо разработать и реализовать на языке С и С++ информационно-поисковый справочник «Операционные усилители».
При запуске программы на исполнение появляется числовое меню, посредством которого пользователь вызывает следующие пункты, реализованные в программе как отдельные функции:
- создание справочника в памяти (ввод данных);
- вывод справочника на экран с использованием функций языка С;
- сортировка методом вставок по числовому полю (на усмотрение разработчика);
- поиск записи в справочнике по части названия марки радиодетали;
- сохранение справочника в файле с использованием потоковых классов языка С++;
- открытие справочника из файла с использованием потоковых классов языка С++;
- выход из программы.
Каждая запись состоит из 5 полей: марка (строковый тип) и остальные 4 поля выбираются самостоятельно из справочников и должны представлять реальные марки и соответствующие им параметры деталей.
При разработке программы использовался собственный заголовочный файл, включающий директивы препроцессора, определение структуры данных, объявление массива структур, прототипы используемых функций.
В программе предусмотрена защита от ввода пользователем некорректных данных.
При написании программы был объявлен тип пользователя ou (сокращение «Операционные усилители»). Данный тип представляет собой структуру, содержащую в себе 5 полей, и предназначен для хранения справочной информации о стабилизаторе напряжения:
- marka – марка операционного усилителя. Тип поля – строка из 15 символов (char[15]);
- numberChanel – количество каналов. Тип поля – целое число (int);
- voltage – напряжение. Тип поля – целое число (int);
- frequency – частота. Тип поля – целое число (int);
- type – тип корпуса. Тип поля – строка из 15 символов (char[15]).
В программе используются две глобальные переменные:
Листинг файла main.c.
#include "stdafx.h"
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <iostream>
#include <fstream>
#include <iomanip>
struct ou {
char marka[15];
int numberChanel;
int voltage;
int frequency;
char type[15];
};
// создание справочника в памяти
void addMas(void);
// вывод справочника на экран с использованием функций языка С
void showAllMas(void);
// сортировка методом вставок по числовому полю
void sortMas(void);
// поиск записи в справочнике по части названия марки радиодетали
void findMas(void);
// сохранение справочника в файле с использованием потоковых классов языка С++
void saveMas(char *name);
// открытие справочника из файла с использованием потоковых классов языка С++;
void loadMas(char *name);
В результате выполнения курсовой работы, была разработан справочник «Операционные усилители». При этом в качестве структуры данных был использован двухсвязный список. Сортировка данной структуры была реализована при помощи алгоритма сортировки вставками. Для взаимодействия программы с пользователем был разработан текстовый пользовательский интерфейс.
Для написания любой программы на ЭВМ необходимо выбрать подходящую структуру данных, и алгоритм обработки этих данных, что и было сделано в процессе выполнения курсовой работы. Также в процессе выполнения были получены обширные знания и навыки процедурного программирования, а также закреплены фундаментальные знания, полученные при изучении предмета «Основы алгоритмизации и программирования».
Было проведено тестирование, в результате которого программа показала себя как стабильное приложение, устойчивое к некорректному вводу данных.
Программа имеет специфическую направленность – вся работа ведётся над информацией о операционных усилителях. Поэтому использовать её сможет узкий круг людей, но для них она окажется очень полезной.
В процессе выполнения курсовой работы были освоены навыки работы со структурами данных. Получен опыт разработки программы, которая была бы удобна в использования для других людей. Сделаны соответствующие выводы о необходимости внедрения информационных технологий в различные сферы жизнедеятельности, о том, как это действительно упрощает работу с информацией.