Реферат: Личный блокнот - справочник - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Личный блокнот - справочник

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 141 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

23 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ "ЛЬВОВСКАЯ ПОЛИТЕХНИКА" Кафедра АСУ К У Р С О В А Я Р О Б О Т А из дисциплины " Проблемно ориентированные языки программирования " на тему: “Личный блокнот - справочник” Выполнил студент группы КН – 12 Руководитель ЛЬВОВ - 2002 Содержание Вступ ление 3 1. формулирование задания 4 2. Теоретические сведения 5 2.1. функции для работы з графикой 5 2.2. Функции для работы с файлами 6 2.2.1. Функции формат иро ваного ввод а-вы вод а . 7 2.2.2. Функции безформатного ввода-вывода 7 2.2.3. блочный вв о д 7 2.2.4. Блочный вывод 7 2.3. другие функции для работы з файлами 8 3. Алгоритм реализации программы 9 4. программа и ее описание 11 5. Контрольный пример программы 13 Ви в о д 15 Л итература 16 Прибавления 17 Прибавление 1. Текст програм мы 17 Вступление Сохранение информации на компьютерных носителях данных на сегодняшний день не редкость. Любой электронный прибор имеет встроенный носитель информации, которая вмещает значения о своих данных. Персональные компьютеры имеют два вида памяти: постоянно запоминающее устройство (ПЗП) и оперативно запоминающее устройство (ОЗП). Отличие между двумя видами в том, что ОЗП теряет информацию после прекращения подачи питания, а ПЗП сохраняет данные постоянно. Аналогом ПЗП есть чи п ы – миниатюрные приборы для запоминания информации. В современных средствах телекоммуникаций чипы для запоминания цифровой информации приобретают больших темпов развития. С помощью таких чіпів сохраняются данные о телефонных номерах, дате, распорядке дня и т.п.. Широко используются электронные записные книжки-справочники, которые дают возможность сохранять текстовую информацию небольших размеров, а также осуществлять пополнение базы данных и изъятия ее элементов. Создание электронного блокнота – основная задача данной курсовой работы. 1. Формулировани е задачи В курсовой работе нужно разработать программу, которая дает возможность создавать базу данных записей, перемещаться по них, а также прибавлять и изымать записи. Все даны нужно сохранять на диске, также чтения существующего файла данных проводится из файла. Программа должна содержать графический интерфейс, а также выводить общую информацию о текущем файле и о текущей записи в этом файле, то есть: название файла, количество записей, номер текущей записи. Все созданные файлы данных будут иметь текстовый формат и сохраняться в файлах с расширением ref. Текстовый, а не бинарный формат выбран для того, чтобы созданную базу данных можно было бы пересматривать и редактировать, не только с помощью данной программы, а также и стандартными средствами редактирования текстовых файлов (например,: NotePad). Для разработки программы используется язык программирования С. С помощью стандартных функций этого языка можно просто и эффективно изображать графические объекты для разработки интерфейса. А также использовать функции ввода и вывода в файл. Язык С имеет стандартный тип FILE, используя что можно работать с файлами двух типов: бинарным или текстовым. Для ввода из клавиатуры в графическом режиме будет разработана функция ввода, которая дает возможность форматировать текст, который вводится, а также заканчивать выполнение после нажатия клавиши Esc. 2. Теоретические сведения Для разработки программы будут использоваться стандартные функции для работы с файлами и графикой, которые будут описан ы в этом разделе. 2.1. Функции для работы с графикой К основным функциям, для работы с графикой, в языке С относят такие: q rectangle(x1, y1, x2, y2) – изображения прямоугольника текущего цвета с координатами верхнего левого угла (x1,y1) и нижнего правого (x2,y2). q bar(x1, y1, x2, y2) – изображения закрашенного прямоугольника текущей палитры и цвета с координатами верхнего левого угла (x1,y1) и нижнего правого (x2,y2). q putpixel(x1, x2, color) – рисование точки за координатами (x1, y1) и текущим цветом. q getpixel(x1,x2) – определения цвета точки за указанными координатами. q line(x1, y1, x2, y2) – изображения линии текущего цвета с координатами начала (x1, y1) и конца (x2, y2). q setcolor(color); - установления текущего цвета вывода объектов на экран. Цвета задаются стандартными константами или числовыми значениями. q setfillstyle(pattern, color) – установления параметров закрашивания объектов. Палитра закрашивания задается стандартными константами или числовыми значениями. q getimage(x1, y1, x2, y2, bitmap) – сохранение области экрану прямоугольной формы x1, y1, x2, y2 – в оперативную память по адресу bitmap. q putimage(x1, y1, bitmap, mode) – вывод на экран, начиная из точки x1, y1, графического изображения, которое сохраняется по адресу bitmap. q circle(x1, y1, radius) – изображения кола текущего цвета с центром в точке (x1, y1) и радиусом radius. q sector(x1, y1, startangle, endangle, verradius, gorradius) – рисования закрашенного сектору с заданной палитрой и цветом с центром в точке (x1, y1), начальными и конечными углами сектору startangle, endangle и вертикальным и горизонтальным радиусом verradius, gorradius. Функции для работы с файлами Организация поточного буферного ввода-вывода проводится за такой последовательностью: 1. Объявить указатель на файловую структуру: FILE *f; 2. Открыть файл: FILE *fopen(char *filename, char *mode); filename – название файла для открытия; mode – режим открытия файла, может содержать два символа. Первый определяет направление передачи данных, второй режим открытия: t – текстовый, b – бинарный. Символ Определения r Открывает файл для чтения, должен существовать w Открывает для записи, если не существовал, то создает новый a Для записи в конец файла r+ Для чтения и записи, должен существовать w+ Для записи и чтение , создает несуществующий файл a+ Для дополнения и чтение Таблица определений первого символа 3. Использовать функции для работы с файлами 4. Закрытия файла: int fclose(FILE *f); int fcloseall(void); Если файл закрылся нормально, то возвращается 0, в другом случае возвращается 1. Функции форматированого ввода-вывода. § int fscanf(FILE *f, char *format, список адресов сменных) – Для введения информации из фай ла. Записывает в файл f, форматиро ван ие данные, какие указанные в списке адресов сменных. § int fprintf(FILE *f, char *format, список констант и сменных для записи в файл) – Выводит в файл f отформатированый список констант и сменных. Возвращает количество успешно переданных байтов. Функции безформатного ввода-вывода § int fgetc(FILE *f) – возвращает ASCII код введенного символа, при ошибке ли в конце файла возвращается EOF. Можно использовать чтобы читать посимвольно файл. § int fputs(char *s, FILE *f) - записывает строка s в файл f к нулевому символу, сам нулевой символ в файл не записывается. Возвращает код последнего записанного символа. Блочный ввод § int fread(void *buffer, size_t size, size_t n, FILE *f) – считывает n элементов размером size байтов каждый, из файла f в буфер buffer. Возвращает число прочитанных элементов. Если ошибка, то возвращает число меньше за n. § int getw(FILE *f) – считывает два байт а из файла f, если ошибка или ко нец файла, то возвращает EOF. Блочный вывод § int fwrite(void *buffer, size_t size, size_t n, FILE *f) - записывает n элементов размером size байтов каждый, с буферу buffer в файле f. Возвращает число записанных элементов. Если ошибка, то возвращает число меньше за n. § int putw(int w, FILE *f) – записывает целое двохбайт ное число w в файл f. Возвращает это же самое число. Другие функции для работы с файлами · int fileno(FILE *f) – возвращает значения дескриптора открытого файла. Дескриптор (номер файла) есть целым числом. В PSP записывается номер каждого файла. · int feof(FILE *f) – возвращает отличное от нуля значения, если прочитан кінець файла · int ferror(FILE *f) – осуществляет проверку наличия ошибки при чтении или записи. Возвращает 0, если ошибок не выявлен · int fflush(FILE f) – записывает символ из буфера связанного с потоком f в файл, если ее применить для файла открытого для чтения, то буфер очистится. В случае когда файл открытый для записи – данные из буфера переносятся на диск. · int flushall (void) – записывает символы с буфере во все соответствующие открытые в программе файлов. · int unlink(const char *filename) – вытирает файл с именем filename. Файл должен быть закрытый. Возвращает 0 при завершении без ошибки, в другом случае возвращает – 1. · int remove(const char *filename) – аналогичная к unlink. 3. Алгоритм реализации программы Алгоритм основной программы работает таким образом : происходит установления графического режима, если графический режим установить не удалось, то программа завершает свое выполнение, так как интерфейс выполнен с помощью графических функций. Если графика иницыализировалась , то формируется изображения заднего фона и на экран выводится главное меню программы. Поскольку еще ни один файл не открытый, то доступных могут быть только четыре пункта: открыть, создать новый файл, о программе и выходе . В программе используется сменная Yes, которая может принимать два значения: 0 или 1.0 – означает, что файл не открытый и нужно выводить только четыре пункта меню, 1 – файл открыть и доступные все пункты. Дале задается цикл, в котором читаются все данные из клавиатуры и соответственно нужной комбинации клавиш вызовется заданная функция. Если нажатая клавиша Esc – происходит выход из цикла, закрытия графического режима и окончание программы. Программа и ее описание В программе используется структура данных, с помощью которой происходит операция ввода вывода в файл. struct reccords char name[200]; char title[200]; ; Программа использует такие сменные: Символьный массив, который использует функция для ввода в графическом режиме char s[200]=""; Указатель на файл FILE *fil; Указатель на название текущего файла char *filename=""; Текущая позиция в файле int pos=0; Размер текущего файла int size=0; Сменная, которая равная 1, когда открытый файл int Yes=0; Промежуточная сменная char *s_; Сменная для помещения кода нажатой клавиши char key; Сменная файла int и; Программа содержит такие функции-подпрограммы: int Len(int S) – возвращает количество цифр в числе S. Эта функция используется для определения параметру количества цифр при использовании стандартной функции gctv; void button(int x,int y,int x1,int y1, int lin, int col, char *qwert) – рисует изображения кнопки за указанными координатами. x, y, x1, y1 – координаты кнопки, lin – толщина кнопки, col – цвет, qwert – надпись на кнопке. void menu(int nf, int of, int ad, int dl, int nr, int pr, int a, int e) – формирования меню программы, параметры этой функции указывают на то, какие кнопки должны быть доступные (параметр равный 1), а что недоступные (параметр равный 0). Сменная nf – отвечает кнопке для создания файла, of – для открытия существующего файла, ad – добавления записи, dl – изъятия текущей записи, nr – следующая запись, pr – предыдущая запись, a – кнопка “О программе”, e – кнопка “Выход”. int input(int x, int y, int length) – функция для ввода символьной информации в графическом режиме. Если ввод закончился клавишей Enter возвращает 1, если клавишей Esc – 0. Ввод проводится в глобальную сменную S. x и y – начало вывода на экране, int – допустимое количество символов для ввода. void status() – выводит информацию о текущем файле, о количестве записей, номер текущей записи и отображение содержимого текущей записи. void next() – вывод следующей записи. void prem() -вывод предыдущей записи. void open() – функция для открытия файла, название которого сохраняется в сменной filename. void add() – функция для добавления новой записи в конец заданного файла. void del() – изъятия текущей записи из файла. При изъятии элемента создается новый файл temp.tmp, в который записываются все записи к текущего, потом текущая запись пропускается и записываются все записи, которые следуют за ним. После этого файл задан в filename вытирается, а файл temp.tpm переименовывается на filename. void newfile() – создания новый файл заданного в filename. void about() – вывод информации об авторе программы. 4. Контрольный пример программы Текст программы описан в Прибавлении 1. Запускается программа на выполнение файлом ref.exe. На экране появится интерфейс программы, который изображен на Рис 2. Поскольку на данный момент ни один файл не открытый, то доступными есть только четыре кнопки меню: для открытия файла, создания нового файла, вывода информации об авторе программы и кнопка выхода. Для выбора существующего файла нужно нажать комбинацию клавиш Ctrl+O, после этого на экране появится запрос на ввод фалу. Для примера введем Data (расширения программы - ref – прибавляется автоматически). Data.ref – это файл, пример базы данных для блокнота , в нем содержатся некоторые графические функции графического режима языка программирование С (Прибавление 2) . После введения названия файла, на экране появится окно ( Рис 3. ) с информацией о количестве записей, номер текущей записи, а также содержимое первой записи. Для добавления новых записей нужно нажать клавишу Ins, для изъятия текущей записи – Del. Перемещаться по записям можно, чем помощь клавиш управлением курсора: влево и вправо. Чтобы создать новый файл нужно нажать комбинацию клавиш Ctrl+N. После этого на экране появится запрос на название нового файла, и ввод названия первого поля, а также описание этого поля. Дале появляется окно с количеством записей (в данном случае 1) и номер текущей записи (1). Для получения справки об авторе программы нужно нажать клавишу F1, чтобы выйти из программы – Esc. Рис 2. Интерфейс программы Рис 3. Вывод информации о файле Вывод Все современные технологические устройства используют приборы для запоминания информации. Широко используются электронные блокноты , которые дают возможность сохранять небольшие объемы информации. В данной курсовой работе была разработана программа, которая дает возможность работать как электронный блокнот . Разрешает прибавлять новые записи, изымать существующие, передвигаться по записям, а также сохранять информацию на шершавый диск и считывать данные из диска. При разработке программы использованный язык программирования С, с помощью стандартных графических функций созданный интерфейс программы. Также разработанная функция для ввода информации из клавиатуры в графическом режиме, стандартного аналогу такой функции нет. Данную программу можно использовать для сохранения небольшой по объему информации, которую можно разделить на два вида: название поля и описание этого поля. Литература 1. Болски М.И. Язык программирования Си. 1988г. 2. Прата С. Язык программирования С. Лекции и упражнения, «Диасофт», 2000.-432с. 3. Фаронов В.В. – Практика программирования. – Москва.: «Нолидж», 2000. – 416с. Прибавления Прибавление 1. Текст программы /* Курсовая работа по предмету : Проблемно ориентированные языки программирования Выполнил ст . гр . КН – 12 Заяць Д . О. */ #include #include #include #include #include #include #include struct reccords char name[200]; char title[200]; ; struct reccords x; char s[200]=""; FILE *fil; char *filename=""; int pos=0; int size=0; int Yes=0; char *s_; // Определения количества цифр в числе S int Le n(int S) int a = 1; if (S > 9) a++; if (S > 99) a++; if (S > 999) a++; if (S > 9999) a++; return a; // Рисования кнопки за указанными координатами void button(int x,int y,int x1,int y1, int lin, int col, char *qwert) setfillstyle(1,col); setcolor(15); bar(x,y,x1,y1); setcolor(0); rectangle(x,y,x1,y1); setcolor(0); rectangle(x+lin,y+lin,x1-lin,y1-lin); line(x,y,x+lin,y+lin); line(x1,y,x1-lin,y+lin); line(x,y1,x+lin,y1-lin); setfillstyle(1,0); floodfill(x1-1,y1-1,0); setcolor(col); rectangle(x,y,x1,y1); setcolor(15); settextstyle(7,0,1); outtextxy(x+lin+3,y+lin+2,qwert); // Вывод на экран главного меню void menu(int nf, int of, int ad, int dl, int nr, int pr, int a, int e) if (nf) button(20,20,210,55,2,1, " New File (Ctrl+N)"); else button(20,20,210,55,2,8, " New File (Ctrl+N)"); if (of) button(20,60,210,95,2,1, " Open File (Ctrl+O)"); else button(20,60,210,95,2,8, " Open File (Ctrl+O)"); if (ad) button(20,100,210, 135,2,1," Add Reccord (Ins)"); else button(20,100,210,135,2,8," Add Reccord (Ins)"); if (dl) button(20,140,210,175,2,1," Del. Reccord (Del)"); else button(20,140,210,175,2,8," Del. Reccord (Del)"); if (nr) button(20,180,210,215,2,1," Next R eccord (->)"); else button(20,180,210,215,2,8," Next Reccord (->)"); if (pr) button(20,220,210,255,2,1,"Prem. Reccord (<-)"); else button(20,220,210,255,2,8,"Prem. Reccord (<-)"); if (a) button(20,260,210,295,2,1," About (F1)"); else button(20,260,210,295,2,8," About (F1)"); if (e) button(20,300,210,335,2,1," Exit (Esc)"); else button(20,300,210,335,2,8," Exit (Esc)"); if (nf) button(20,20,210,55,2,1, " New File (Ctrl+N)"); else button(20,20,210,55,2,8, " New File (Ctrl+N)"); if (of) button(20,60,210,95,2,1, " Open File (Ctrl+O)"); else button(20,60,210,95,2,8, " Open File (Ctrl+O)"); // Функция форматированого ввода в графическом режиме int input(int x, int y, int length) char c; int len, i ; setfillstyle(1,15); bar(x,y,x+350,y+20); setcolor(1); settextstyle(0,0,1); moveto(x+1,y+8); for (i=0;i<=40;i++) s[i]='\x0'; len = 0; while (1) c=getch(); if (c==8) //BackSpase if (len!=0) len--; bar(x,y,x+350,y+20); moveto(x+1,y+8); s[len]='\x0'; outtext(s); continue; if (c==27) return 0; // Esc if (c==13) return 1; // Enter if (c==32) c='_'; // Space if (len>=length) continue; s[len]=c; len++; bar(x,y,x+350,y+20); moveto(x+1, y+8); outtext(s); // Вывод информаций о выбранном файле void status() setfillstyle(7,8); bar(220,20,620,460); button(230,20,600,180,4,6,""); settextstyle(0,0,1); setcolor(14); moveto(270,40); outtext("Файл : "); setcolor(15); outtext(filename); moveto(270,50); setcolor(14); outtext("Количество записей : "); gcvt(size,Len(size),s_); setcolor(15); outtext(s_); moveto(270,60); setcolor(14); outtext("Текущая запись : "); gcvt(pos,Len(pos),s_); setcolor(15); outtext(s_); setcolor(14); outtextxy(270,80,"Название "); setfillstyle(1,15); bar(240,90,580,110); setcolor(1); outtextxy(250,97,x.name); setcolor(14); outtextxy(270,128," Описание ание "); bar(240,140,580,160); setcolor(1); outtextxy(250,147,x.title); // Следующая запись в файле void next() int i; if (pos<=size-1) pos++; fil=fopen(filename,"r"); i=0; while (i1) pos--; fil=fopen(filename,"r"); i=0; while (i0) i=0; tempf=fopen("temp.tmp","w"); while (i
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Объявление.
Меняю хлебное место на место у кормушки. Места под солнцем просьба не предлагать.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Личный блокнот - справочник", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru