Электронный справочник “ Праздники Года ”
Омский
Государственный Технический Университет
Кафедра Информатики и вычислительной техники
Пояснительная записка
к курсовой работе по курсу
“Алгоритмические
языки и технология программирования”
Тема: Электронный
справочник “ Праздники Года ”.
Руководитель: к.т.н., доцент
Шафеева
Ольга Павловна
Омск-2009
г.
Омский Государственный Технический Университет
Кафедра Информатики и вычислительной техники
ЗАДАНИЕ
Курсовой проект по курсу:
Студенту группы: В – 118 Кулинич Артур Юрьевич 2009 учебный год
Тема курсового проекта: Создание электронного справочника «Праздники Года».
Исходные
данные: язык программирования – С++.
Содержание проекта:
Чертежи (листы)
1. Структурная
схема алгоритма
Разделы
пояснительной записки:
Введение.
1. Постановка и анализ задачи.
2. Разработка алгоритма.
3. Особенности разработки программы.
4. Инструкция пользователя.
5. Тест программы.
6. Заключению.
Приложение (текст программы).
Основная
рекомендуемая литература
- М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с.
- Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс.
- Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с.
Руководитель
проектирования
Студент
Содержание
Аннотация………………………………………………………
Введение…………………………………………………………
Постановка и
анализ задачи…………………………………………...6
Разработка алгоритма………………………………………………...
Особенности разработки
программы……………………………….10
Тест программы…………………………………………
Инструкция пользователя…………………
Заключение……………………………………………………
Приложение (текст
программы)……………………............
Литература……………………………………………………
Аннотация
Пояснительная
записка содержит описание алгоритма
и листинг программы
Для
удобства восприятия информации записка
содержит схемы алгоритмов программ. Чтобы
облегчить работу с программой, в содержание
введена инструкция пользователя и особенности
программы.
Текст
самой программы, выполнения операций
заявленной в теме курсовой работы,
помещён в приложении.
Пояснительная
записка оформлена в
Введение:
Целью курсового проектирования является приобретение и закрепление навыков в организации вычислительных процессов и программирования на алгоритмическом языке C++. Основной акцент в работе уделяется рассмотрению подпрограмм.
Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка Си++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году — нынешняя версия этого стандарта — ISO/IEC 14882:2003.
Разрабатывая Си с классами, Страуструп также написал программу cfront — транслятор, перерабатывающий исходный код Си с классами в исходный код простого Си. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.
C++
— чрезвычайно
мощный язык, содержащий
средства создания
эффективных программ
практически любого
назначения, от низкоуровневых
утилит и драйверов
до сложных программных
комплексов самого различного
назначения.
Постановка
и анализ задачи:
Написать
на языке С++ и отладить в интерактивном
режиме электронный справочник «Праздников
Года».
Придумать
и разработать программу которая должна
выводить название праздника в зависимости
от введённого числа и месяца.
Основное
внимание необходимо уделить процессу
создания и введение баз данных.
Разработка
алгоритма:
Особенности
разработки программы:
Данная
программа разработана при помощи структур.
Большой акцент в работе уделяется использованию
подпрограмм, а также файлов и записей.
Каждый
шаг пользователя прокомментирован,
что помогает при использовании программы.
Тест программы:
Также мною была протестирована программа, в процессе тестирования была проверенна её работоспособность, в результате тестирования ошибки небыли обнаружены.
Результат тестирования.
| Режим | Количество проверок | Сообщение |
| Добавление записи | 10 | Ошибок нет |
| Просмотр базы праздников | 10 | Ошибок нет |
| Поиск праздника по дате | 10 | Ошибок нет |
| Выход | 10 | Ошибок нет |
Инструкция
пользователя:
Для запуска программы необходимо запустить Kursovik.exe. После запуска появиться окно:
В этом окне будет отображаться информация о разработчике, а так же главное меню, в котором будет отображаться список функций. Каждая функция подписана своим номером.
Программа
управляется с помощью цифр от
1 до 4. Чтобы задействовать функцию, нужно
выбрать одну из предложенных цифр и нажать
её.
Заключение
В
ходе курсовой работы мною были изучены
некоторые аспекты
Я узнал, что в основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ. А также, что исторически первой была идея структурирования программ, в соответствии с которой программист должен был решить, какие именно процедуры он будет использовать в своей программе, а затем выбрать наилучшие алгоритмы для реализации этих процедур.
Данная
курсовая работа наглядно демонстрирует
преимущества файлов прямого доступа.
Если детализировать структуру записи,
модернизировать саму программу
и добавить процедуры для удаления,
поиска и сортировки записей, то можно
получить программу работы с базой
данных.
Приложение
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
#pragma pack(1)
struct block{
char name[41];
char daymes[15];
};
#pragma pack(1)
FILE *f;
char ss[21];
void open(void);
void menu(void);
void add(void);
void view(void);
void f3(void);
int main(){
setlocale(LC_ALL,"
printf ("Курсовой проект по курсу: Алгоритмические языки и программированиe \n");
printf ("Тема курсового проекта: Электронный справочник - Праздники Года \n");
printf ("Выполнил студент группы: В – 118 Кулинич Артур Юрьевич \n\n");
open();
menu();
while(true){
printf("\rВыберите пункт меню: ");
char c;
c=_getche();
switch(c){
case '1': add(); menu(); break;
case '2': view(); menu(); break;
case '3': f3(); menu(); break;
case '4': fclose(f); exit(0);
}
}
}
//============================
void menu(void){
printf("\n1. Добавление записи\n"
"2. Просмотр базы праздников\n"
"3. Поиск праздника по дате\n"
"4. Выход\n\n");
}
void open(void){
f=fopen("database.txt","
if (f==NULL){
printf("Не могу открыть \"database.txt\".\n");
_getch();
exit(-1);
}
}
void add(void){
int n;
printf("\n\nДобавление\
block a;
while(true){
printf("Название праздника: ");
n = scanf_s("%40[^\n]s", a.name, 41);
fflush(stdin);
if (n!=1) a.name[0]='\0';
if(a.name[0]==0) break;
printf("Дата праздника (в формате dd.mm): ");
n = scanf_s("%14[^\n]s", a.daymes, 15);
fflush(stdin);
if (n!=1) a.daymes[0]='\0';
if(a.daymes[0]==0) break;
fwrite(&a,sizeof(
}
}
void view(void){
fseek(f,0,SEEK_SET);
printf("\n\nПросмотр базы...\n\n\tИмя: \t\t\tДата праздника:\n");
printf("\t==============
setlocale (LC_ALL,".866");
block a;
while(true){
if(fread(&a,sizeof
printf("\t|%s \t\t| %s| \n",a.name,a.daymes);
}
setlocale (LC_ALL,".1251");
}
void f3(void){
int n;
int result;
int cmpr;
result=0;
printf("\n\nВведите дату праздника(в формате: dd.mm):\n");
n = scanf_s("%20[^\n]s", ss, 21);
fflush(stdin);
if (n!=1) ss[0]='\0';
fseek(f,0,SEEK_SET);
printf("\n\nПоиск...\n")
block a;
while(true){
if(fread(&a,sizeof
cmpr=strcmp(a.
if (cmpr==0) {
result++;
if (result==1) {
printf
printf("\t========
setloc
}
printf("\t|%
}
}
setlocale (LC_ALL,".1251");
if (result==0) printf("\nНа
эту дату в базе данных нет записи, либо
данные введены некорректно.\n");
}
Литература
- М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с.
- Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс.
- Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с.
- В.В. Подбельский. Язык C++: Учебное пособие. - Москва: Финансы и статистика, 1995. 560с.
- Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. - Киев: НИИПФ ДиаСофт Лтд, 1995. 480с.
- Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.
- Т. Сван. Освоение Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.
- Г. Шилдт. Самоучитель C++: Пер. с англ. - Санкт-Петербург: BHV-Санкт-Петербург, 1998. 620с.
- У. Сэвитч. C++ в примерах: Пер. с англ. - Москва: ЭКОМ, 1997. 736с.
- К. Джамса. Учимся программировать на языке C++: Пер. с англ. - Москва: Мир, 1997. 320с.
- В.А. Скляров. Язык C++ и объектно-ориентированное программирование: Справочное издание. - Минск: Вышэйшая школа, 1997. 480с.
- Х. Дейтел, П. Дейтел. Как программировать на C++: Пер. с англ. - Москва: ЗАО "Издательство БИНОМ", 1998. 1024с.