Создание диалоговых программ с использованием структур и файлов в среде C++Builder. Курсовая работа (т). Информационное обеспечение, программирование.

Создание диалоговых программ с использованием структур и файлов в среде C++Builder. Курсовая работа (т). Информационное обеспечение, программирование.




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Создание диалоговых программ с использованием структур и файлов в среде C++Builder

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

Тема курсовой работы «Создание диалоговых программ с использованием
структур и файлов в среде C++Builder»


Ключевые слова: алгоритм, программа, структура данных, файл, обработка
данных, среда программирования C++Builder.


Цель курсовой работы - обобщить знания по управляющим операторам языка C++; овладеть практическими навыками в
организации ввода/вывода значений комбинированных типов данных; получить
практические навыки программирования задач с использованием структур и файлов в
среде C++Builder.


Объектом исследования выступают структурированные данные, которые можно
представить в виде таблицы.


Предметом исследования настоящей работы является разработка компьютерной
программы в среде C++Builder, которая позволяет создать и
обработать структуру данных, определенную вариантом задания.


В работе были использованы методы сортировки и фильтрации данных.





.1.1 Название и назначение разрабатываемого приложения


.1.2 Спецификация входных и выходных данных


.1.3 Обоснование выбора средства программирования


.1.4 Требования к аппаратной части и ПО


.2 Основные аспекты обработки структур и файлов в среде
C++Builder


.3 Алгоритм и сценарий работы программы


.1 Проектирование интерфейса пользователя


.3 Результаты тестирования программы


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


Ø информация объективна, так как это свойство материи -
отражение;


Ø информация проявляется в виде сигналов и лишь при
взаимодействии объектов;


Ø одна и та же информация различными получателями может быть
интерпретирована по-разному в зависимости от "настройки"
"приемника".


Последовательность действий, выполняемых с информацией, называют
информационным процессом. Основными информационными процессами являются:


Ø подготовка (преобразование) информации;


Ø обработка (преобразование) информации;


Ø отображение (воспроизведение) информации.


Так как материальным носителем информации является сигнал, то реально это
будут этапы обращения и преобразования сигналов (рис.1).


На этапе восприятия информации осуществляется целенаправленное извлечение
и анализ информации о каком-либо объекте (процессе), в результате чего
формируется образ объекта, проводятся его опознание и оценка.





Рис. 1. Основные информационные процессы


программирование
диалоговый приложение


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


На этапе передачи информация пересылается из одного места в другое (от
отправителя получателю - адресату). Передача осуществляется по каналам
различной физической природы, самыми распространенными из которых являются
электрические, электромагнитные и оптические.


На этапах обработки информации выявляются ее общие и существенные
взаимозависимости, представляющие интерес для системы. Преобразование
информации на этапе обработки (как и на других этапах) осуществляется либо
средствами информационной техники, либо человеком.


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


На этапе хранения информацию записывают в запоминающее устройство для
последующего использования. Для хранения информации используются в основном
полупроводниковые и магнитные носители.


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


В данной курсовой работе предусматривается выполнение следующих действий:


1)      постановка задачи в формализованном виде;


2)     построение алгоритма решения задачи;


)       реализация алгоритма на ПК путем создания программы в среде C++Builder;


)       тестирование и отладка программы;


)       анализ полученных данных и формулировка выводов;


)       создание и оформление резюме.


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


В соответствии с заданием на разработку создание программы производилась
в среде C++ Builder 6. C++ Builder - программный продукт, инструмент
быстрой разработки приложений (RAD), интегрированная среда программирования
(IDE), система, используемая программистами для разработки программного
обеспечения на языке программирования C++.++ Builder объединяет в себе комплекс
объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор
кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство
компонентов, разработанных в Delphi, можно использовать и в C++ Builder без
модификации, но обратное утверждение не верно.++ Builder содержит инструменты,
которые делают разработку визуальной, упрощает программирование благодаря
встроенному WYS/WYG - редактору интерфейса.


Условно программированием можно назвать научную и практическую деятельность
по созданию программ. Основной частью программирования является процесс решения
задачи на ЭВМ, который можно разбить на следующие этапы:


1) математическая или информационная формулировка задачи;


) выбор численного или иного метода решения поставленной задачи;


) построение алгоритма решения поставленной задачи;


) выбор языка программирования и запись построенного алгоритма по его
правилам, т.е. написание текста программы;


) отладка программы - это процесс обнаружения, локализации и устранения
возможных ошибок;


) выполнение программы, т.е. получение требуемого результата [2].


Формулировка задачи является темой данной курсовой работы и заключается в
написании программы, которая позволяет создать анимацию неподвижного объекта в
среде разработки C++ Builder 6.


Среда C++Builder представляет собой средство быстрой разработки
приложений (Rapid Application Development - RAD).


Концепция
RAD стала ответом на неуклюжие методы разработки программ 1970-х
<#"871091.files/image002.gif">


Рисунок 1.1. - Алгоритм работы программы





При проектировании интерфейса были использованы следующие компоненты:


)       Для отображения различных надписей на форме используются в
основном компоненты Label;


)       MainMenu, расположеный на странице Standard, это невизуальный
компонент, т.е. место его размещения на форме в процессе проектирования не
имеет никакого значения для пользователя - он все равно увидит не сам
компонент, а только меню, сгенерированное им. Обычно на форму помещается один
компонент MainMenu. В этом случае его имя автоматически заносится в свойство
формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с
разными наборами разделов, соответствующими различным режимам работы
приложения. В этом случае во время проектирования свойству Menu формы
присваивается ссылка на один из этих компонентов. А в процессе выполнения в
нужные моменты это свойство можно изменять, меняя соответственно состав
главного меню приложения.


Основное свойство компонента - Items. Его заполнение производится с
помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu
или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора
Объектов.
)       Компонент StringGrid представляет собой таблицу, содержащую
строки. Данные таблицы могут быть только для чтения или редактирования. Таблица
может иметь полосы прокрутки, причем заданное число первых строк и столбцов
может быть фиксированным и не прокручиваться. Таким образом, можно задать
заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой
ячейке таблицы может быть поставлен в соответствие некоторый объект. Компонент
StringGrid предназначен в первую очередь для отображения таблиц текстовой
информации. Однако компонент может отображать и графическую информацию.




Рисунок 2.1. - Скрин формы «Ведомость выработки изделий»





Для второй формы использовались следующие компоненты:


)       компонент Image - отображение картинки на форме.


)       Компонент Memo - многострочный текстовый редактор. Memo формат
определяется текущим состоянием свойства Font компонента Memo.




) Обработчик события - закрытие формы:


void __fastcall TForm1::N7Click(TObject *Sender)


Программный код каждого обработчика событий в полном размере приведен в
приложении.


) Обработчик события - удаление текущей строки:


void __fastcall TForm1::N9Click(TObject *Sender).


3)     Обработчик события - Добавление строки в конец таблицы


void __fastcall TForm1::N8Click(TObject *Sender).


4)     Обработчик события - Создать (очистка таблиц):


void __fastcall TForm1::N12Click(TObject *Sender).


5)     Обработчик события - Открытие второй формы (справка):


void __fastcall TForm1::N4Click(TObject *Sender).


6)     Обработчик события - Запись таблицы в файл:


void __fastcall TForm1::N6Click(TObject *Sender).


7)     Обработчик события - Открытие файла и чтение его в таблицу:


void __fastcall TForm1::N5Click(TObject *Sender).


8)     Обработчик события - Вычислить для каждой общее время и сумму:


void __fastcall TForm1::N13Click(TObject *Sender).


9)     Обработчик события - Сортировка данных по возрастанию общего
времени на изготовление изделий:


void __fastcall TForm1::N10Click(TObject *Sender).


10)   Обработчик события - Сортировка данных по № п/п (вернуться к
исходной последовательности строк):


void __fastcall TForm1::N11Click(TObject *Sender).


11)   Обработчик события - Вычисление среднего времени выработки одного
изделия по данным всей таблицы:


void __fastcall TForm1::Button1Click(TObject *Sender).


12) Обработчик события -Отображение данных, у которых сумма меньше
указанной:


void __fastcall TForm1::Button2Click(TObject *Sender).


Для тестирования программы подготовили тестовые данные. Они вводятся в
верхнюю таблицу и по команде меню Сохранить записываются в двоичный файл. Перед
записью данных из таблицы в файл выполняется команда Вычислить, для вычисления
средних баллов. Имя файла с тестовыми данными table.txt.


По команде меню Создать таблица с данными очищается.


По команде меню Открыть данные читаются из файла и отображаются в верхней
таблице (см. рис. 5).


Наименование изделия - Гайка;Гвоздь.


Норма времени на 1 изд., час - 10;15.


Рисунок 2.1. - Результат выполнения программы при вводе данных с
клавиатуры и отображение в окне «Ведомость выработки изделий».




Следующий режим тестирования - «ввод данных из файла».


Рисунок 2.1. - Результат выполнения программы при вводе данных из файла и
отображение в окне «Ведомость выработки изделий»




Рисунок 2.3. Результат поиска по Сумме меньшей чем «10000000» и результат
сортировка по общему времени





Программа, описанная в курсовой работе, разработана в соответствии с
постановкой задачи на выполнение курсовой работы.


Разработка программы производилась в среде C++ Builder
6. Интерфейс созданной программы удобен, прост, наглядно отображает её
возможности.


Тестирование программы осуществлялось в трёх режимах: ввод данных для
построения с клавиатуры, ввод данных из файла.


Работоспособность программы позволяет сделать вывод о её пригодности для
автоматизации подсчета суммы и общего времени.







1.         Основы алгоритмизации и программирования. Язык
Си: учеб. пособие / М. П. Батура, В. Л. Бусько, А. Г. Корбит, Т. М.
Кривоносова. - Минск: БГУИР, 2007. - 240 с. : ил.


2.     Керниган Б., Ритчи Д. Язык программирования Си = The
C programming language. - 2-е изд. - М.: Вильямс, 2007.


3.         Программирование в C++ Builder
6: А.Я. Архангельский. -М.: изд. "Бином", 2003.


4.     Побельский В.В. Язык Си++: Учеб. Пособие. - М.;
Финансы и статистика, 1995. - 560с.: ил.


5.     Самоучитель C++ Builder: Н.Б. Культин. -СПб.: БХВ-Петербург,
2004.


.       Вычислительная геометрия и компьютерная графика на C++: М. Ласло пер. с англ.В. Львова.
-М.: изд. "Бином", 1997.


.       Романов Е.Л., Практикум по программированию на С++.
СПБ, 2004 - 432с.





//---------------------------------------------------------------------------


//---------------------------------------------------------------------------


//Ñòðóêòóðà
çàïèñè:sved {namber; //Ïîðÿäêîâûé
íîìåð.Naimenovanie[20]; //Íàèìåíîâàíèå
Èçäåëèÿ.nachas; //Íîðìà
íà 1 èçä., ÷àñ.rascenka; //Ðàñöåíêà
íà 1 èçä., ÷àñ.colvo; //Êîëëè÷åñòâî
èçäåëèé.obshee; //Îáùååå
âðåìÿ.sum; //Ñóììà
ðóá.


int
size=sizeof(sved); //ðàçìåð â
áàéòàõ
îäíîé
ñòðóêòóðû
(çàïèñè).


//Ïåðåìåííàÿ
- ñòðóêòóðû:sved sprav;


//---------------------------------------------------------------------------


__fastcall
TForm1::TForm1(TComponent* Owner)


//---------------------------------------------------------------------------__fastcall
TForm1::FormCreate(TObject *Sender)


//Íà÷àëüíûå
äåéñòâèÿ ïðè
ñîñäàíèè
ôîðìû:->Options = StringGrid1->Options <<
goEditing;


//Ôîðìèðîâàíèå
çàãîëîâêîâ
ñòîëáöîâ:->Cells[0][0]=" ¹
ï/ï";->Cells[0][1]="1";


StringGrid1->Cells[1][0]="Íàèìåíîâàíèå
èçäåëèÿ";


StringGrid1->Cells[2][0]="Íîðìà
âðåìåíè íà 1
èçä., ÷àñ";


StringGrid1->Cells[3][0]="Ðàñöåíêà
íà 1
èçä.,ðóá.";id1->Cells[4][0]="Êîë-âî
èçäåëèé";


StringGrid1->Cells[5][0]="Îáùåå
âðåìÿ,÷àñ";


StringGrid1->Cells[6][0]="Ñóììà,
ðóá.";->Cells[0][1]="1";


StringGrid2->Cells[1][0]="Íàèìåíîâàíèå
èçäåëèÿ";


StringGrid2->Cells[2][0]="Íîðìà
âðåìåíè íà 1
èçä., ÷àñ";


StringGrid2->Cells[3][0]="Ðàñöåíêà
íà 1 èçä.,ðóá.";


StringGrid2->Cells[4][0]="Êîë-âî
èçäåëèé";


StringGrid2->Cells[5][0]="Îáùåå
âðåìÿ,÷àñ";


StringGrid2->Cells[6][0]="Ñóììà,
ðóá.";


//---------------------------------------------------------------------------__fastcall
TForm1::Save1Click(TObject *Sender)


//Ïåðåñ÷åò
ñðåäíèõ
áàëëîâ ïåðåä
ñîõðàíåíèåì:


//Îòêðûòèå
ôàéëà äëÿ
çàïèñè:(SaveDialog1->Execute()){_Zap =
SaveDialog1->FileName;=fopen(File_Zap.c_str(),"wb");=StringGrid1->RowCount-1;


//Çàïèñü
ñòðîê
òàáëèöû â
ôàéë:(i=1;i<=n;i++)
{.namber=StrToInt(StringGrid1->Cells[0][i]);=StringGrid1->Cells[1][i];(sprav.Naimenovanie,str.c_str());.nachas=StrToFloat(StringGrid1->Cells[2][i]);.rascenka=StrToFloat(StringGrid1->Cells[3][i]);.colvo=StrToInt(StringGrid1->Cells[4][i]);.obshee=StrToFloat(StringGrid1->Cells[5][i]);.sum=StrToFloat(StringGrid1->Cells[6][i]);(&sprav,size,1,f);


ShowMessage("Äàííûå
ñ òàáëèöû
óñïåøíî
çàïèñàíû â ôàéë!");


//Îáðàáîòêà
îøèáêè
íåêîððåêòíîñòè
äàííûõ:(f);


ShowMessage("Íåêîððåêòíûå
äàííûå!");


//---------------------------------------------------------------------------__fastcall
TForm1::Open1Click(TObject *Sender)


{(OpenDialog1->Execute()){_Zap
= OpenDialog1->FileName;=fopen(File_Zap.c_str(),"rb");


//×òåíèå
n (êîëè÷åñòâî
çàïèñåé):D_f = fileno(f); //
Íàõîäèì
äåñêðèïòîð
ôàéëàlen = filelength(D_f); //
Íàõîäèì
ðàçìåð ôàéëài,n;= len/size; //Êîëè÷åñòâî
çàïèñåé â
ôàéëå->RowCount=n+1;


//×òåíèå
n çàïèñåé èç
ôàéëà â
òàáëèöó:(i=1;i<=n;i++)
{(&sprav,size,1,f);->Cells[0][i]=IntToStr(sprav.namber);->Cells[1][i]=sprav.Naimenovanie;->Cells[2][i]=FloatToStr(sprav.nachas);->Cells[3][i]=FloatToStr(sprav.rascenka);->Cells[4][i]=IntToStr(sprav.colvo);->Cells[5][i]=FloatToStr(sprav.obshee);->Cells[6][i]=FloatToStr(sprav.sum);


//---------------------------------------------------------------------------__fastcall
TForm1::N2Click(TObject *Sender)


{j;->RowCount=2;(j=1;j<=StringGrid1->ColCount-1;j++)->Cells[j][1]="";


//---------------------------------------------------------------------------__fastcall
TForm1::Button1Click(TObject *Sender)


{->RowCount++;->Cells[0][StringGrid1->RowCount-1]=IntToStr(StringGrid1->RowCount-1);


//---------------------------------------------------------------------------__fastcall
TForm1::Button2Click(TObject *Sender)


{i,j;(StringGrid1->RowCount>2)
{(i=StringGrid1->Row;iRowCount-1;i++)
{->Cells[0][i]=IntToStr(i);(j=1;j<=StringGrid1->ColCount-1;j++)
{->Cells[j][i]=StringGrid1->Cells[j][i+1];


//-------------------------------------------------------------------------__fastcall
TForm1::Edit1Change(TObject *Sender)


//---------------------------------------------------------------------------__fastcall
TForm1::N6Click(TObject *Sender)


{i;(i=1;iRowCount;i++)
{.nachas=StrToFloat(StringGrid1->Cells[2][i]);.rascenka=StrToFloat(StringGrid1->Cells[3][i]);.colvo=StrToFloat(StringGrid1->Cells[4][i]);.obshee=sprav.nachas*sprav.colvo;.sum=sprav.rascenka*sprav.colvo;->Cells[5][i]=FloatToStrF(sprav.obshee,ffFixed,8,2);->Cells[6][i]=FloatToStrF(sprav.sum,ffFixed,8,2);
//---------------------------------------------------------------------------__fastcall
TForm1::N4Click(TObject *Sender)


{sb,sb_next;i,j,n;p;st;=StringGrid1->RowCount-1;{=false;(i=1;iCells[0][i]);_next=StrToFloat(StringGrid1->Cells[0][i+1]);(sb>sb_next)
{(j=0;j<=StringGrid1->ColCount-1;j++)
{=StringGrid1->Cells[j][i];->Cells[j][i]=StringGrid1->Cells[j][i+1];->Cells[j][i+1]=st;


//---------------------------------------------------------------------------__fastcall
TForm1::N5Click(TObject *Sender)


{sb,sb_next;i,j,n;p;st;=StringGrid1->RowCount-1;{=false;(i=1;iCells[5][i]);_next=StrToFloat(StringGrid1->Cells[5][i+1]);(sb>sb_next)
{(j=0;j<=StringGrid1->ColCount-1;j++) {=StringGrid1->Cells[j][i];->Cells[j][i]=StringGrid1->Cells[j][i+1];->Cells[j][i+1]=st;


//---------------------------------------------------------------------------__fastcall
TForm1::Exit1Click(TObject *Sender)


//---------------------------------------------------------------------------__fastcall
TForm1::Button4Click(TObject *Sender)


{i,n,
k;Summ;enteredsumm;=StringGrid1->RowCount;=0;=StrToFloat(Edit1->Text);(i=1;iCells[6][i]);(SummCells[0][k]=IntToStr(k);->Cells[1][k]=StringGrid1->Cells[1][i];->Cells[2][k]=StringGrid1->Cells[2][i];->Cells[3][k]=StringGrid1->Cells[3][i];->Cells[4][k]=StringGrid1->Cells[4][i];->Cells[6][k]=StringGrid1->Cells[6][i];->Cells[5][k]=StringGrid1->Cells[5][i];


//---------------------------------------------------------------------------.h


//---------------------------------------------------------------------------


//---------------------------------------------------------------------------


//---------------------------------------------------------------------------TForm1
: public TForm


__published: //
IDE-managed
Components*StringGrid1;*Button1;*Button2;*Button4;*OpenDialog1;*SaveDialog1;*MainMenu1;*N1;*Open1;*Save1;*Exit1;*N2;*N3;*N4;*N5;*Edit1;*N6;*StringGrid2;__fastcall
FormCreate(TObject *Sender);__fastcall Save1Click(TObject *Sender);__fastcall
Open1Click(TObject *Sender);__fastcall N2Click(TObject *Sender);__fastcall
Button1Click(TObject *Sender);__fastcall Button2Click(TObject
*Sender);__fastcall Edit1Change(TObject *Sender);__fastcall N6Click(TObject
*Sender);__fastcall N4Click(TObject *Sender);__fastcall N5Click(TObject
*Sender);__fastcall Exit1Click(TObject *Sender);__fastcall Button4Click(TObject
*Sender);: // User declarations: // User declarations


__fastcall
TForm1(TComponent* Owner);


//---------------------------------------------------------------------------PACKAGE
TForm1 *Form1;


//---------------------------------------------------------------------------


-----------------------------------------






Похожие работы на - Создание диалоговых программ с использованием структур и файлов в среде C++Builder Курсовая работа (т). Информационное обеспечение, программирование.
Дипломная работа: Національна депозитарна система України
Курсовая работа по теме Выбор материалов для изготовления мужского демисезонного пальто
Реферат по теме Социальные проблемы студентов при трудоустройстве
Сочинение по теме Киевская летопись
Реферат: Белок остеопонтина. Скачать бесплатно и без регистрации
Контрольная работа: Проектирование АРП
Реферат На Тему Философские Взгляд Абая Кунанбаева
Шпаргалка: Политика шпора
Реферат: Реалізація шкіряного взуття
Учебное пособие: Современные представления о профилактике наркомании
Реферат: John Calhoun Essay Research Paper JOHN CALHOUNJohn
Дипломная Работа На Тему Проблемы Толерантности В Современном Обществе
Сочинение Про Школу 6 Класс По Литературе
Гроза Краткое Содержание Для Сочинения
Сочинение Про Осенние Праздники
Дипломная работа: Художественные особенности романов Ги де Мопассана "Жизнь" и "Милый друг": переводческий аспект
Контрольная работа: Прогнозирование и планирование НТП и инновационной деятельности
Контрольная Работа На Тему Философские Основы Вальдорфской Педагогики
Сочинение На Тему День Победы
Курсовая работа по теме Особенности работы реабилитационных центров для несовершеннолетних детей
Похожие работы на - Буфер обмена
Дипломная работа: Атмосфера в спектакле
Курсовая работа: Стимулы и антистимулы инвестиционной деятельности

Report Page