Реферат по предмету "Компьютеры и цифровые устройства"


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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ ЛЬВОВСКАЯ ПОЛИТЕХНИКА Кафедра АСУ К У Р С О В А Я Р О Б О Т А из дисциплины Проблемно ориентированные языки программирования на тему Личный блокнот - справочник Выполнил студент группы КН 12 Руководитель ЛЬВОВ - 2002 Содержание Вступление 3 1. формулирование задания 4 2.

Теоретические сведения 5 2.1. функции для работы з графикой 2. Функции для работы с файлами 1. Функции форматированого ввода-вывода. 2. Функции безформатного ввода-вывода 7 2.2.3. блочный ввод 4. Блочный вывод 7 2.3. другие функции для работы з файлами 3. Алгоритм реализации программы 9 4. программа и ее описание 11 5.

Контрольный пример программы 13 Вивод 15 Литература 16 Прибавления 17 Прибавление 1. Текст программы 17 Вступление Сохранение информации на компьютерных носителях данных на сегодняшний день не редкость. Любой электронный прибор имеет встроенный носитель информации, которая вмещает значения о своих данных. Персональные компьютеры имеют два вида памяти постоянно запоминающее устройство

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

т.п Широко используются электронные записные книжки-справочники, которые дают возможность сохранять текстовую информацию небольших размеров, а также осуществлять пополнение базы данных и изъятия ее элементов. Создание электронного блокнота основная задача данной курсовой работы. 1. Формулирование задачи В курсовой работе нужно разработать программу, которая дает возможность создавать базу данных записей, перемещаться по них, а также прибавлять и изымать записи.

Все даны нужно сохранять на диске, также чтения существующего файла данных проводится из файла. Программа должна содержать графический интерфейс, а также выводить общую информацию о текущем файле и о текущей записи в этом файле, то есть название файла, количество записей, номер текущей записи. Все созданные файлы данных будут иметь текстовый формат и сохраняться в файлах с расширением ref. Текстовый, а не бинарный формат выбран для того, чтобы созданную базу данных можно было бы пересматривать

и редактировать, не только с помощью данной программы, а также и стандартными средствами редактирования текстовых файлов например, NotePad. Для разработки программы используется язык программирования С. С помощью стандартных функций этого языка можно просто и эффективно изображать графические объекты для разработки интерфейса. А также использовать функции ввода и вывода в файл. Язык С имеет стандартный тип FILE, используя что можно работать с файлами двух типов бинарным или текстовым.

Для ввода из клавиатуры в графическом режиме будет разработана функция ввода, которая дает возможность форматировать текст, который вводится, а также заканчивать выполнение после нажатия клавиши Esc. 2. Теоретические сведения Для разработки программы будут использоваться стандартные функции для работы с файлами и графикой, которые будут описаны в этом разделе. 1. Функции для работы с графикой К основным функциям, для работы с графикой, в языке

С относят такие q rectanglex1, y1, x2, y2 изображения прямоугольника текущего цвета с координатами верхнего левого угла x1,y1 и нижнего правого x2,y2. q barx1, y1, x2, y2 изображения закрашенного прямоугольника текущей палитры и цвета с координатами верхнего левого угла x1,y1 и нижнего правого x2,y2. q putpixelx1, x2, color рисование точки за координатами x1, y1 и текущим цветом. q getpixelx1,x2 определения цвета точки за указанными координатами. q linex1, y1, x2, y2 изображения линии текущего цвета с координатами

начала x1, y1 и конца x2, y2. q setcolorcolor - установления текущего цвета вывода объектов на экран. Цвета задаются стандартными константами или числовыми значениями. q setfillstylepattern, color установления параметров закрашивания объектов. Палитра закрашивания задается стандартными константами или числовыми значениями. q getimagex1, y1, x2, y2, bitmap сохранение области экрану прямоугольной формы x1, y1, x2, y2 в оперативную память по адресу bitmap. q putimagex1, y1, bitmap, mode вывод на экран, начиная из

точки x1, y1, графического изображения, которое сохраняется по адресу bitmap. q circlex1, y1, radius изображения кола текущего цвета с центром в точке x1, y1 и радиусом radius. q sectorx1, y1, startangle, endangle, verradius, gorradius рисования закрашенного сектору с заданной палитрой и цветом с центром в точке x1, y1, начальными и конечными углами сектору startangle, endangle и вертикальным и горизонтальным радиусом verradius, gorradius. Функции для работы с файлами

Организация поточного буферного ввода-вывода проводится за такой последовательностью 1. Объявить указатель на файловую структуру FILE f 2. Открыть файл FILE fopenchar filename, char mode filename название файла для открытия mode режим открытия файла, может содержать два символа. Первый определяет направление передачи данных, второй режим открытия t текстовый, b бинарный. СимволОпределенияrОткрывает файл для чтения, должен существоватьwОткрывает

для записи, если не существовал, то создает новыйaДля записи в конец файлаrДля чтения и записи, должен существоватьwДля записи и чтение, создает несуществующий файлaДля дополнения и чтениеТаблица определений первого символа 3. Использовать функции для работы с файлами 4. Закрытия файла int fcloseFILE f int fcloseallvoid Если файл закрылся нормально, то возвращается 0, в другом случае возвращается 1. Функции форматированого ввода-вывода. int fscanfFILE f, char format, список

адресов сменных Для введения информации из файла. Записывает в файл f, форматирование данные, какие указанные в списке адресов сменных. int fprintfFILE f, char format, список констант и сменных для записи в файл Выводит в файл f отформатированый список констант и сменных. Возвращает количество успешно переданных байтов. Функции безформатного ввода-вывода int fgetcFILE f возвращает ASCII код введенного символа, при ошибке ли в конце файла возвращается

EOF. Можно использовать чтобы читать посимвольно файл. int fputschar s, FILE f - записывает строка s в файл f к нулевому символу, сам нулевой символ в файл не записывается. Возвращает код последнего записанного символа. Блочный ввод int freadvoid buffer, sizet size, sizet n, FILE f считывает n элементов размером size байтов каждый, из файла f в буфер buffer. Возвращает число прочитанных элементов. Если ошибка, то возвращает число меньше за n. int getwFILE

f считывает два байта из файла f, если ошибка или конец файла, то возвращает EOF. Блочный вывод int fwritevoid buffer, sizet size, sizet n, FILE f -записывает n элементов размером size байтов каждый, с буферу buffer в файле f. Возвращает число записанных элементов. Если ошибка, то возвращает число меньше за n. int putwint w, FILE f записывает целое двохбайтное число w в файл f.

Возвращает это же самое число. Другие функции для работы с файлами int filenoFILE f возвращает значения дескриптора открытого файла. Дескриптор номер файла есть целым числом. В PSP записывается номер каждого файла. int feofFILE f возвращает отличное от нуля значения, если прочитан кнець файла int ferrorFILE f осуществляет проверку наличия ошибки при чтении или записи. Возвращает 0, если ошибок не выявлен int fflushFILE f записывает символ из буфера связанного с потоком

f в файл, если ее применить для файла открытого для чтения, то буфер очистится. В случае когда файл открытый для записи данные из буфера переносятся на диск. int flushall void записывает символы с буфере во все соответствующие открытые в программе файлов. int unlinkconst char filename вытирает файл с именем filename. Файл должен быть закрытый. Возвращает 0 при завершении без ошибки, в другом случае возвращает 1. int removeconst char filename

аналогичная к unlink. 3. Алгоритм реализации программы Алгоритм основной программы работает таким образом происходит установления графического режима, если графический режим установить не удалось, то программа завершает свое выполнение, так как интерфейс выполнен с помощью графических функций. Если графика иницыализировалась, то формируется изображения заднего фона и на экран выводится главное меню программы. Поскольку еще ни один файл не открытый, то доступных могут

быть только четыре пункта открыть, создать новый файл, о программе и выходе. В программе используется сменная Yes, которая может принимать два значения 0 или 1.0 означает, что файл не открытый и нужно выводить только четыре пункта меню, 1 файл открыть и доступные все пункты. Дале задается цикл, в котором читаются все данные из клавиатуры и соответственно нужной комбинации клавиш вызовется заданная функция.

Если нажатая клавиша Esc происходит выход из цикла, закрытия графического режима и окончание программы. Программа и ее описание В программе используется структура данных, с помощью которой происходит операция ввода вывода в файл. struct reccords char name200 char title200 Программа использует такие сменные Символьный массив, который использует функция для ввода в графическом режиме char s200 Указатель на файл FILE fil Указатель на название текущего файла char filename

Текущая позиция в файле int pos0 Размер текущего файла int size0 Сменная, которая равная 1, когда открытый файл int Yes0 Промежуточная сменная char s Сменная для помещения кода нажатой клавиши char key Сменная файла int и Программа содержит такие функции-подпрограммы int Lenint S возвращает количество цифр в числе S. Эта функция используется для определения параметру количества

цифр при использовании стандартной функции gctv void buttonint x,int y,int x1,int y1, int lin, int col, char qwert рисует изображения кнопки за указанными координатами. x, y, x1, y1 координаты кнопки, lin толщина кнопки, col цвет, qwert надпись на кнопке. void menuint 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 inputint 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. Поскольку на данный момент ни один файл не открытый, то доступными есть только четыре кнопки меню для открытия файла, создания нового файла, вывода информации об авторе программы и кнопка выхода. Для выбора существующего файла нужно нажать комбинацию клавиш

CtrlO, после этого на экране появится запрос на ввод фалу. Для примера введем Data расширения программы - ref прибавляется автоматически. Data.ref это файл, пример базы данных для блокнота, в нем содержатся некоторые графические функции графического режима языка программирование С Прибавление 2. После введения названия файла, на экране появится окно

Рис 3. с информацией о количестве записей, номер текущей записи, а также содержимое первой записи. Для добавления новых записей нужно нажать клавишу Ins, для изъятия текущей записи Del. Перемещаться по записям можно, чем помощь клавиш управлением курсора влево и вправо. Чтобы создать новый файл нужно нажать комбинацию клавиш CtrlN. После этого на экране появится запрос на название нового файла, и ввод названия первого поля,

а также описание этого поля. Дале появляется окно с количеством записей в данном случае 1 и номер текущей записи 1. Для получения справки об авторе программы нужно нажать клавишу F1, чтобы выйти из программы Esc. Рис 2. Интерфейс программы Рис 3. Вывод информации о файле Вывод Все современные технологические устройства используют приборы для запоминания информации. Широко используются электронные блокноты, которые дают возможность сохранять

небольшие объемы информации. В данной курсовой работе была разработана программа, которая дает возможность работать как электронный блокнот. Разрешает прибавлять новые записи, изымать существующие, передвигаться по записям, а также сохранять информацию на шершавый диск и считывать данные из диска. При разработке программы использованный язык программирования С, с помощью стандартных графических функций созданный интерфейс программы.

Также разработанная функция для ввода информации из клавиатуры в графическом режиме, стандартного аналогу такой функции нет. Данную программу можно использовать для сохранения небольшой по объему информации, которую можно разделить на два вида название поля и описание этого поля. Литература 1. Болски М.И. Язык программирования Си. 1988г. 2. Прата С. Язык программирования С. Лекции и упражнения,

Диасофт, 2000 432с. 3. Фаронов В.В. Практика программирования. Москва. Нолидж, 2000. 416с. Прибавления Прибавление 1. Текст программы Курсовая работа по предмету Проблемно ориентированные языки программирования Выполнил ст. гр. КН 12 Заяць Д. О. include stdio.h include conio.h include graphics.h include process.h include string.h include stdlib.h include dos.h struct reccords char name200 char title200 struct

reccords x char s200 FILE fil char filename int pos0 int size0 int Yes0 char s Определения количества цифр в числе S int Lenint S int a 1 if S 9 a if S 99 a if S 999 a if S 9999 a return a Рисования кнопки за указанными координатами void buttonint x,int y,int x1,int y1, int lin, int col, char qwert setfillstyle1,col setcolor15 barx,y,x1,y1 setcolor0 rectanglex,y,x1,y1 setcolor0 rectanglexlin,

ylin,x1-lin,y1-lin linex,y,xlin,ylin linex1,y,x1-lin,ylin linex,y1,xlin,y1-lin setfillstyle1,0 floodfillx1-1,y1-1,0 setcolorcol rectanglex,y,x1,y1 setcolor15 settextstyle7,0,1 outtextxyxlin3,ylin2,qwert Вывод на экран главного меню void menuint nf, int of, int ad, int dl, int nr, int pr, int a, int e if nf button20,20,210,55,2,1, New File CtrlN else button20,20,210,55,2,8, New File CtrlN if of button20,60,210,95,2,1, Open File

CtrlO else button20,60,210,95,2,8, Open File CtrlO if ad button20,100,210,135,2,1, Add Reccord Ins else button20,100,210,135,2,8, Add Reccord Ins if dl button20,140,210,175,2,1, Del. Reccord Del else button20,140,210,175,2,8, Del. Reccord Del if nr button20,180,210,215,2,1, Next Reccord - else button20,180,210,215,2,8, Next

Reccord - if pr button20,220,210,255,2,1,Prem. Reccord - else button20,220,210,255,2,8,Prem. Reccord - if a button20,260,210,295,2,1, About F1 else button20,260,210,295,2,8, About F1 if e button20,300,210,335,2,1, Exit Esc else button20,300,210,335,2,8, Exit Esc if nf button20,20,210,55,2,1, New File CtrlN else button20,20,210,55,2,8, New File CtrlN if of button20,60,210,95,2,1, Open File

CtrlO else button20,60,210,95,2,8, Open File CtrlO Функция форматированого ввода в графическом режиме int inputint x, int y, int length char c int len, i setfillstyle1,15 barx,y,x350,y20 setcolor1 settextstyle0,0,1 movetox1,y8 for i0i 40i six0 len 0 while 1 cgetch if c8 BackSpase if len0 len barx,y,x350,y20 movetox1,y8 slenx0 outtexts continue if c27 return 0 Esc if c13 return 1 Enter if c32 c Space if len length continue slenc len barx,y,x350,y20 movetox1,y8

outtexts Вывод информаций о выбранном файле void status setfillstyle7,8 bar220,20,620,460 button230,20,600,180,4,6, settextstyle0,0,1 setcolor14 moveto270,40 outtextФайл setcolor15 outtextfilename moveto270,50 setcolor14 outtextКоличество записей gcvtsize,Lensize,s setcolor15 outtexts moveto270,60 setcolor14 outtextТекущая запись gcvtpos,Lenpos,s setcolor15 outtexts setcolor14 outtextxy270,80,Название setfillstyle1,15 bar240,90,580,110 setcolor1 outtextxy250,97,x.name setcolor14 outtextxy270,128,Описаниеание bar240,140,580,160 setcolor1

outtextxy250,147,x.title Следующая запись в файле void next int i if pos size-1 pos filfopenfilename,r i0 while i pos fscanffil,s s,x.name,x.titlei status fclosefil Предыдущая запись в файле void prem int i if pos 1 pos filfopenfilename,r i0 while i pos fscanffil,s s,x.name,x.titlei fclosefil status Открыть файл void open int и menu0,0,0,0,0,0,0,0 Недоступные все кнопки меню setfillstyle7,8 bar220,20,620,460 setfillstyle1,1 bar230,150,600,190 settextstyle0,0,1

setcolor14 outtextxy230,150, Введите название файла для открытия if input240,160,80 setfillstyle7,8 bar220,20,620,460 menu1,1,0,0,0,0,1,1 return else for i0i 40i filenameix0 strcatfilename,s strcatfilename ref if filfopenfilename,rNULL putsОшибка при открытии файла exit1 size0 while fscanffil,s s,x.name,x.titleEOF size Количество записей fclosefil filfopenfilename,r fscanffil,s s,x.name,x.title pos1 status fclosefil Yes1 menu1,1,1,1,1,1,1,1 Доступные все кнопки

Прибавить новую запись void add int i setfillstyle7,8 bar220,200,620,460 setfillstyle1,1 bar230,200,600,240 setcolor14 settextstyle0,0,1 outtextxy240,200,Введите название поля if input240,210,450 setfillstyle7,8 bar220,200,620,460 return for i0i strlensi x.nameisi setfillstyle1,1 bar230,260,600,300 setcolor14 outtextxy240,260,Введите описаниеание поля if input240,270,450 setfillstyle7,8 bar220,200,620,460 return for i0i strlensi x.titleisi if filfopenfilename,aNULL putsОшибка при открытии файла exit1 fprintffil,ns s,x.name,x.title fclosefil

size pos1 fclosefil filfopenfilename,r fscanffil,s s,x.name,x.title setfillstyle7,8 bar220,200,620,460 status Уничтожения текущей записи void del int i FILE tempf filfopenfilename,r size0 while fscanffil,s s,x.name,x.titleEOF size Количество записей fclosefil filfopenfilename,r if size 0 i0 tempffopentemp.tmp,w while i pos-1 fscanffil,s s,x.name,x.title i fprintftempf,s sn,x.name,x.title fscanffil,s s,x.name,x.title while fscanffil,s s,x.name,x.titleEOF fprintftempf,s sn,x.name,x.title fclosefil fclosetempf

removefilename renametemp.tmp,filename pos1 size fclosefil filfopenfilename,r fscanffil,s s,x.name,x.title status Создания нового файла записей void newfile int i menu0,0,0,0,0,0,0,0 setfillstyle7,8 bar220,20,620,460 setfillstyle1,9 bar230,150,600,190 settextstyle0,0,1 setcolor14 outtextxy230,150, Введите название файла для создания if input240,160,80 setfillstyle7,8 bar220,20,620,460 menu1,1,0,0,0,0,1,1 return else for i0i 40i filenameix0 strcatfilename,s strcatfilename ref if filfopenfilename,wbNULL putsОшибка

при создании файла exit1 add setfillstyle7,8 bar220,20,620,460 size1 pos1 status Yes1 menu1,1,1,1,1,1,1,1 fclosefil Вывод нфоромац об авторе программы void about menu0,0,0,0,0,0,0,0 button300,100,500,300,5,1, setcolor14 settextstyle0,0,1 outtextxy310,150, Курсовая работа outtextxy310,160, с предмету outtextxy310,170, ПОМП outtextxy310,190, на тему outtextxy310,200, Личный записник outtextxy310,220,

Выполнил ст. гр КН-12 outtextxy310,230, Заяць Д. О. getch if Yes menu1,1,1,1,1,1,1,1statusreturn menu1,1,0,0,0,0,1,1 setfillstyle7,8 bar220,20,620,460 Начало основной программы main char key int i int gdriver DETECT, gmode, errorcode initgraphgdriver, gmode, errorcode graphresult if errorcode grOk an error occurred printfGraphics error sn, grapherrormsgerrorcode printfPress any key to halt getch exit1 setfillstyle7,8

floodfill1,1,2 for и1и 15и setcolorиrectangleи,и,640-i,480-i Yes0 Ни один файл не открытый menu1,1,0,0,0,0,1,1 while 1 keygetch if key0 keygetch if key15 opencontinue if key14 newfilecontinue if key27 break if key75 Yes prem if key77 Yes next if key82 Yes add if key83 Yes del if key59 about closegraph



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

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

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

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