Алгоритмізація та програмування задачі обробки економічної інформації

Автор работы: Пользователь скрыл имя, 28 Апреля 2012 в 15:07, курсовая работа

Краткое описание

Метою курсової роботи є закріплення теоретичних знань з використання сучасних засобів програмування, набуття практичних навичок проектування та розробки програмних засобів за допомогою C++.

Під час виконання курсової роботи було набуто практичних навичок використання сучасних засобів та методів розробки програм; використані знання, які набуті у процесі вивчення дисципліни, для алгоритмізації типових процедур обробки соціально-економічної інформації; отримано навички налагодження та тестування програмних виробів в інтегрованих середовищах мови C++, розроблено проектну документацію, оформлено програмні та експлуатаційні документи.

Содержание работы

Технічне завдання…………….4.
Пояснювальна записка……….11
Текст програми……………….14
Опис програми……………….16
Опис застосування……………19
Література…………………….22
Додатки………………………..23

Содержимое работы - 1 файл

kursovayam.docx

— 61.16 Кб (Скачать файл)

 

2.2 Опис та обґрунтування  вибору методу організації вхідних  та вихідних даних

Всі дані що будуть використовуватися  описані в розділі 1 Технічне завдання. Структура та організація даних  приведена також у першому  розділі та у додатках.

Даний метод організації  даних є зручним у веденні, застосуванні та отриманні потрібних  даних для розв’язку поставленої  задачі, тому що поданий у табличному вигляді із чіткою інформацією.

Подібна організація даних використовується при постановці завдань із подальшим групуванням та розрахунком бажаних результатів.

 

 

 

 

 

 

2.3 Опис алгоритму функціонування програмного забезпечення

 

Таблиця 1. Алгоритм реалізації задачі

 

  1. Створення файлу

Створюється файл як основа для майбутнього програмного  виробу, підключаються бібліотеки.

  1. Створення структурного шаблону

Задаються типи даних для програмних розрахунків, виводиться структура таблиці даних.

  1. Заповнення шаблону інформацією

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

  1. Створення шаблону таблиці на вихідні дані

Створюється образ таблиці, що буде містити в  собі результати обчислень запиту.

  1. Створення запиту на розрахунок даних

Задається запит на обчислення кількості робітників згідно з певними характеристиками.

  1. Виконання розрахунків

Машина  виконує обчислення, згідно функції  що сортирує працівників за розрядами  і розраховує кількість за статтю.

  1. Виведення результатів

Результати  представлені у таблиці, шаблон якої запроваджено у пункті 4 і виводиться на екран чи у друкованому вигляді.


 

 

 

 

 

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ

імені ВАДИМА ГЕТЬМАНА»

Факультет інформаційних систем і технологій

Кафедра інформаційного менеджменту

 

 

ТИТУЛЬНИЙ ЛИСТ ДЛЯ ТЕКСТУ ПРОГРАМИ

 

 

 

Студента групи  2,

2 курсу, факультету ІСіТ

                                                       Сенюков Б. К. __________

прізвище, ініціали, підпис


 

Керівник роботи

Потапенко С.Д. __________

прізвище, ініціали, підпис


КИЇВ  – 2010

 

 

3. ТЕКСТ ПРОГРАМИ

3.1 Інформаційна  частина

 

База даних складається  з відомостей, даних наведених  у додатку А. Таблиці задаються  у програмному середовищі перед  самим обчисленням. Програма визначає потрібну інформацію з попередньо введеною користувачем. Використовуються системи С++ введення-виведення інформації, створення запитів.

3.2 Текст програмного комплексу

#include <iostream.h>

#include <fstream.h>

#include <iomanip.h>

#include <stdlib.h>

#include <windows.h>

//Структура inData, яка включає  в себе 

//елементи, що будуть містити  інформацію

//про працівників підприємства

struct inData{

int kpr; //код підприємства

int kc; //код цеху

int stat; //стать

int summ; //кількість 

 

};

//Структура outData, яка використовується

//для виведення форматованих  даних на екран

//або у файл на основі  запиту

struct outData{

int kpr; //код підприємства

int kc; //код цеху

int kpraz; //кількість працівників

char stat[20]; //стать

};

//Визначення підпрограм, що використовуються 

//в програмному комплексі

int enterChoice(void); //вибір пунктів  меню

void textFile(fstream&); //вивід запиту  у файл або на екран

void newRecord(fstream&); //внесення  даних про нового працівника

void outputLine (ostream&, outData); //форматоване  виведення даних

 

main ()

{

SetConsoleOutputCP(1251); //відображення  російської та української мов  у консолі

//Задання файлу баз  даних

fstream dataFile("base.dat", ios::in | ios::out);

//Перевірка доступності  файла баз даних

if (!dataFile) {

cerr << "Файл не відкрито." << endl;

exit (1);

}

 

int choice; //змінна вибору  пункту меню

while ( (choice = enterChoice ( )) != 51 ) {

switch (choice) {

case 49:

textFile(dataFile);

break;

case 50:

newRecord(dataFile);

break;

default:

cerr << "Неправильне  введення." << endl;

break;

}

dataFile.clear ( ); //обнулення індикатора  кінця файлу

}

return 0;

}

// Запрошення обрати пункт  меню

int enterChoice(void){

cout << endl << "Оберіть:" << endl

<< "1 - виведення запиту  у текстовий файл "

<< endl

<< " або на екран." << endl

<< "2 - внесення даних  про нового працівника" << endl

<< "3 - завершення роботи" << endl << "? ";

char menuChoice;

cin >> menuChoice;

//обробка можливого введення  символу

int i=(int) menuChoice;

return i;

}

//Виведення запиту

void textFile(fstream &readFromFile){

int i=0;

//Створення файлу для  виведення запиту

ofstream outPrintFile("query.txt", ios::out);

//Перевірка доступності  файлу print.txt

if (!outPrintFile) {

cerr << "Файл не відкрито." << endl;

exit (1);

}

//Задання структурної  змінної типу Output

outData wl;

//Введення коду підприємства

cout<<endl<<"Введіть  код підприємства: ";

cin>>wl.kpr;

//Введення коду цеху

cout<<endl<<"Введіть  код цеху: ";

cin>>wl.kc;

wl.zahal = 0;

wl.kpraz=0;

//перехід на початок  файлу

readFromFile.seekg(0);

//Задання структурної  змінної типу factoryData

inData query;

//Цикл читання даних  з файлу

while (! readFromFile.eof()) {

readFromFile.read((char *)&query, sizeof(inData));

if (query.kpr == wl.kpr && query.kc == wl.kc){

wl.kpraz=wl.kpraz+1;

wl.zahal=query.okl;

}

}

int choose;

//запит на виведення  запиту

cout << endl << "Оберіть:" << endl

<< "1 - виведення запиту  у текстовий файл "

<< endl

<< "2 - виведення запиту  на екран." << endl

<< "3 - вихід" << endl<< "? ";

cin>>choose;

//обробка вибору користувача

switch (choose){

case 1:

outPrintFile << setiosflags(ios::left) << setw(14) <<"Код "<< setw(6) << "Код  "<<setw(8) << "Кількість"

<< setw (18)<< "Стать" 00:29:55 

<<endl;

outputLine(outPrintFile, wl);

break;

case 2:

cout << setiosflags(ios::left) << setw(14) <<"Код "<< setw(6) << "Код  "<<setw(8) << "Кількість"

<< setw (19)<< "стать"<< endl

<<endl;

outputLine(cout, wl);

break;

case 3:

break;

default:

cerr<<"Неправильний  вибір.";

break;

}

}

// Додавання нового працівника  у базу

void newRecord(fstream &insertInFile){

int a, b, r;

inData w;

do{

cout <<"Введіть дані \n";

a = 0;

do{

b = 0;

do{

cout <<"Введіть код  підприємства:";

r = 0;

cin>> w.kpr;

if (w.kpr<10000 && w.kpr>99999) r = 1;

if (r == 1) cout<<"Помилка  введення\n";

}while (r == 1);

do{

r=0;

cout <<"Введіть код  цеху:";

cin>> w.kc;

if (w.kc<10 || w.kc>99) r=1;

if (r==1) cout<<"Помилка  введення\n";

}while (r == 1);

do{

r=0;

cout <<"Кількість працівників  розряду:";

cin>>w.tab;

if (w.tab<1000 || w.tab>9999) r=1;

if (r==1) cout<<"Помилка  введення\n";

}while (r == 1);

cout <<"Стать:";

cin>>w.stat;

 

do {

cout << "Введіть стать: ";

cin >> w.okl;

cout<<"Введіть 1, якщо  під час введення зроблена  помилка:";

cin >>b;

} while (b == 1);

cout <<"Введіть 1 для  продовження:";

cin >>a;

insertInFile.write ((char *)&w,sizeof(w));

} while (a == 1);

} while (b == 1);

 

}

// Підпрограма для форматованого  виведення запиту

void outputLine(ostream &output, outData c){

output << setiosflags(ios::left) << setw(14) << c.kpr

<< setw(6) << c.kc << setw(8) << c.kpraz

<<resetiosflags(ios::left)

<< setiosflags(ios::fixed | ios::right)<<setprecision(2)

<<setw(18) << c.zahal << endl;

}

 

 

 

 

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ

імені ВАДИМА ГЕТЬМАНА»

Факультет інформаційних систем і технологій

Кафедра інформаційного менеджменту

 

 

ТИТУЛЬНИЙ ЛИСТ ДЛЯ ОПИСУ ПРОГРАМИ

 

 

 

Студентки групи  2,

2 курсу, факультету ІСіТ

                                                       Сенюков Б. К. __________

прізвище, ініціали, підпис


 

Керівник роботи

Потапенко С.Д. __________

прізвище, ініціали, підпис


КИЇВ  – 2010

 

 

4. ОПИС ПРОГРАМИ

4.1 Загальні відомості

 

Програма обробки запитів на розрахунку робочих певного підприємства та певного цеху є складовою частиною пакету прикладних програм для обробки запитів на основу потоків інформацій (бази даних). Програмний комплекс буде функціональним у середовищі Windows, хоча може бути використаний у Linux, але час на обчислювання може бути не таким економним.

Керування базою даних  виконується  безпосередньо з середини програмного комплексу за участю користувача якому потрібно внести зміни. Інструментальною програмою яка була використана для програмування є Visual studio або Geanny (для Linux), мова програмування – С++, використані транслятори та інтерпретатори для розрахунків та виведення проміжкових форм.

Програма має, як проміжкові так і кінцеве представлення, у вигляді таблиці запиту. Проміжком є база даних з вхідною інформацією.

 

4.2. Функціональне  призначення

 

Програмний комплекс призначений  для надання користувачу вичерпної  інформації про роботу працівників за статтю, розформованих за підприємством, цехом та розрядом. Тобто працівник підприємства чи керівник може згідно з наданої інформацією проглянути запит та зробити висновки про єфективнисть праці жінок та чоловіків.

Сфера застосування – облік  та аудит на підприємстві, управління персоналом.

Застосовувалися методи математичного  моделювання та алгоритмізації для  постановки виконання задачі обчислювальною системою.

Програма  не буде працювати за умови невірного введення користувачем даних, обмеження на дані були описані у першому розділі. Розв’язується задача динамічна, у декілька етапів, що містить запит і його реалізацію у формі звіту-таблиці.

 

 

4.3. Технічні засоби, що використовувалися

Для функціонування програми не потрібні спеціальні технічні засоби, лише злагоджена робота операційної  системи та програм. Мінімальні технічні засоби – ПК та принтер (для виведення інформації у друкованому вигляді).

4.4. Виклик та завантаження.

Програма викликається за допомогою впровадження програмного  коду у компілятор, виконання зборки та компіляції. Програма буде висвітлена в окремому вікні.

База даних буде зберігатися  в окремому файлі формату txt і за необхідністю до неї може бути звернення через компілятор. Обсяг пам’яті для програми не буде великим, тому не перезавантажувати оперативну пам'ять і може зберігатися на диску С.

 

4.5 Вхідні та вихідні дані

База даних буде складатися з таблиць наведених у Додатку  А. Це буде  таблиця на введення інформації та відповідність характеристикам. Всі реквізити мають однаковий реквізит кодування, текстовий формат. Попередній вигляд даний приводиться окремо на кожного працівника у вигляді таблиць.

Видання інформації виконується  за бажанням користувача у табличній  формі наведеній на Рис.1, перевірка  вірності виконується функціями  у програмі .

 

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ

імені ВАДИМА ГЕТЬМАНА»

Факультет інформаційних систем і технологій

Кафедра інформаційного менеджменту

 

 

ТИТУЛЬНИЙ ЛИСТ ДЛЯ ОПИСУ ЗАСТОСУВАННЯ

 

 

 

Студента групи  2,

2 курсу, факультету ІСіТ

                                                       Сенюков Б. К. __________

прізвище, ініціали, підпис


 

Керівник роботи

Потапенко С.Д. __________

прізвище, ініціали, підпис


КИЇВ  – 2010

 

 

5. ОПИС ЗАСТОСУВАННЯ

5.1 Призначення  програми

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

Обсяг пам’яті не повинен  бути меншим за 100 Мб для спокійного і швидкого запровадження програмного  комплексу. Обмеження існують по даним, описані в першому розділі. Галузь застосування – економічна, пов’язана з обліком працівників та їх характеристик.

 

5.2. Умови застосування

Для роботи програмного комплексу  потрібний стандартний набір  устаткування ПК включаючи принтер. ПК повинно мати достатньо пам’яті  та конфігурація для використання операційної  системи сумісної для виконання  програмного комплексу. Мають бути наявні програми що будуть виводи інформацію у текстовому вигляді.

Информация о работе Алгоритмізація та програмування задачі обробки економічної інформації