Главная страница

Кулешов. Курсовая работа по дисциплине Информационные технологии


Скачать 280.5 Kb.
НазваниеКурсовая работа по дисциплине Информационные технологии
Дата03.07.2021
Размер280.5 Kb.
Формат файлаdoc
Имя файлаКулешов.doc
ТипКурсовая
#223134


ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

(ГОУ ВО «ВГТУ»)

Факультет радиотехники и электроники

Кафедра «Радиоэлектронных устройств и систем»


КУРСОВАЯ РАБОТА
по дисциплине «Информационные технологии»


Разработка ПО анализа занятости работоспособного населения

Разработали студенты группы РП-174 Кулешов М. С.
Руководитель Сукачев А.И.
2018

Замечания руководителя.

Содержание

1. Замечания руководителя 2

2. Введение ………………………………………………………………………….….. 4

3. Основная часть ………………………………………………………….…………… 4

4. Краткие теоретические сведения 4

5. Основные классы 4

6. Заключение 4

7. Список литературы .. 5


8. Приложение А 6

9. Приложение Б 7

10. Приложение В 8

11. Приложение Г 10

12. Приложение Д 11

13. Приложение Е 14

14. Приложение Ж 16

15. Приложение И 25
16. Приложение К 26

17. Приложение Л 27

18. Приложение М 28



Введение:

Актуальность: 1) ПО по контролю занятости работоспособного населения

2) Интерфейс способен отслеживать и анализировать занятость работоспособного населения

Цель: Создать ПО анализа занятости работоспособног онаселения.
Основная часть:
Краткие теоретические сведения SQL:

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

Краткие теоретические сведения Qt:
QT – кроссплатформенный инструментарий разработки ПО на языке программирования С++. Позволяет запускать с его помощью ПО в большинстве современных операционных систем, путем простой компиляции программы для каждого ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.

Выбор основных классов графического интерфейса.

1) QtWidget – описание классов

2) QLayout - это базовый класс для менеджеров компоновки (компоновщиков). Это абстрактный базовый класс, от которого наследуются конкретные классы QBoxLayout, QGridLayout, которые будут использоваться в дальнейшем. Позволяет использовать компоновщики
3) QSqlTableModel – модель, которая позволяет работать с таблицами и заполняемая из базы данных

4) QTableView – класс, являющийся частью модели - представления и необходимый для показа sql таблиц
5) QPushButton – класс, представляющий из себя кнопку. Этот класс будет использоваться повсеместно и будет связываться со слотами, используя сигнал clicked(bool)
6) QLineEdit – класс, необходимый для добавления данных о событии
7) QDate – класс, который позволяет задать дату и ввести ее в таблицу. Посредством метода daysto() можно узнать разницу между датами в днях, что входит в формулу анализа
8) QSpinBox – предоставляет виджет счетчика

9) QStandartItemModel – модель представления, состоящяя из item

Вывод: В ходе выполнения курсовой работы, цель была достигнута. ПО анализа занятости работоспособного населения создано.


Список литературы.


1) Qt 5.3. Профессиональное программирование на C++, основная литература, http://revall.info/qt-5-3-professionalnoe-programmirovanie-na-c.html
2) Работа с основными классами http://sitev.ru/post/131
3) Задача занятости населения http://fb.ru/article/44728/proizvodstvenno-tehnicheskiy-otdel
4) Решаем программы https://moluch.ru/archive/117/32084/
5) Язык программирования C++ http://cppstudio.com/cat/274/

ПРИЛОЖЕНИЕ А

(обязательное)
Общая схема



ПРИЛОЖЕНИЕ Б

(обязательное)
Добавить



ПРИЛОЖЕНИЕ В

(обязательное)
mainwindow.cpp
#include "mainwindow.h"

#include "ui_mainwindow.h"

#include

#include

#include

#include
#define ACCESS "DRIVER={Microsoft Access Driver (*.mdb)};" "FIL={MS Access};DBQ=C:\\workes.mdb"

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);
st = new Stat;
data = QSqlDatabase::addDatabase("QODBC");

data.setDatabaseName(ACCESS);

if (!data.open())

{

QMessageBox::critical(this,"Error", data.lastError().text());

return;

}
model = new QSqlTableModel(this);

model->setTable("workers");

model->select();

ui->tableView->setModel(model);

}
MainWindow::MainWindow()

{

delete ui;

}
void MainWindow::on_pushButton_clicked()

{

model->select();

}
void MainWindow::on_pushButton_2_clicked()

{

model->removeRow(ui->tableView->currentIndex().row());

}
void MainWindow::on_pushButton_3_clicked()

{

model->insertRow(model->rowCount());

}
void MainWindow::on_pushButton_4_clicked()

{

for(int row =0; row<=model->rowCount(); row++)

{

QSqlRecord rec = model->record(row);
if(rec.value("Год").toString()==ui->lineEdit->text())

{

QString a,b,c,d,e,f,y;

a = rec.value("СХ").toString();

b = rec.value("Образование").toString();

c = rec.value("Здравохранение").toString();

d = rec.value("Транспорт").toString();

e = rec.value("Рыболовство").toString();

f = rec.value("Строительство").toString();

y = rec.value("Год").toString();

st->select(a,b,c,e,d,f,y);

st->show();

return;

}

}

}

ПРИЛОЖЕНИЕ Г

(обязательное)
mainwindow.h
#ifndef MAINWINDOW_H

#define MAINWINDOW_H
#include

#include "stat.h"

#include

#include

#include

#include

namespace Ui {

class MainWindow;

}

class MainWindow : public QMainWindow

{

Q_OBJECT
public:

explicit MainWindow(QWidget *parent = 0);

MainWindow();
private slots:

void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
void on_pushButton_4_clicked();
// void on_pushButton_5_clicked();
private:

Ui::MainWindow *ui;

QSqlDatabase data;

QSqlQueryModel query;

QSqlTableModel *model;

Stat *st;

};
#endif // MAINWINDOW_H


Приложение Д

(обязательное)
mainwindow.ui




MainWindow




0

0

802

352



Занятость населения





20

10

741

151







20

180

141

23



Обновить





360

180

141

23



Удалить





190

180

141

23



Добавить





200

250

75

23



Отобразить





50

250

113

20







70

230

71

16



Введите год







0

0

802

21










TopToolBarArea





false

















Приложение Е

(обязательные)
stat.cpp

#include "stat.h"

#include "ui_stat.h"

Stat::Stat(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::Stat)

{

ui->setupUi(this);

}
Stat::Stat()

{

delete ui;

}
void Stat::select(QString a, QString b, QString c, QString d, QString e, QString f, QString y)

{

QString cx, ed, hl, car, fish, build;

cx = a; ed = b; hl = c; car = d; fish = e; build = f;
double x;

x = cx.toDouble()+ed.toDouble()+hl.toDouble()+car.toDouble()+fish.toDouble()+build.toDouble();
QStringList horHed, vertHed;

horHed.append("Тыс. человек");

horHed.append("Занятость %");
vertHed.append("Всего");

vertHed.append("С/Х");

vertHed.append("Образование");

vertHed.append("Здравохранение");

vertHed.append("Транспорт");

vertHed.append("Рыболовство");

vertHed.append("Строительство");
model->setHorizontalHeaderLabels(horHed);

model->setVerticalHeaderLabels(vertHed);
item = new QStandardItem(QString::number(x)); //1 строка

model->setItem(0,0,item);

item = new QStandardItem("100");

model->setItem(0,1,item);
item = new QStandardItem(cx); // 2я

model->setItem(1,0,item);

item = new QStandardItem(QString::number(cx.toDouble()/x*100));

model->setItem(1,1,item);
item = new QStandardItem(ed); //3я

model->setItem(2,0,item);

item = new QStandardItem(QString::number(ed.toDouble()/x*100));

model->setItem(2,1,item);
item = new QStandardItem(hl); //4я

model->setItem(3,0,item);

item = new QStandardItem(QString::number(hl.toDouble()/x*100));

model->setItem(3,1,item);
item = new QStandardItem(car); //5я

model->setItem(4,0,item);

item = new QStandardItem(QString::number(car.toDouble()/x*100));

model->setItem(4,1,item);
item = new QStandardItem(fish); //6я

model->setItem(5,0,item);

item = new QStandardItem(QString::number(fish.toDouble()/x*100));

model->setItem(5,1,item);
item = new QStandardItem(build); //7я

model->setItem(6,0,item);

item = new QStandardItem(QString::number(build.toDouble()/x*100));

model->setItem(6,1,item);
ui->tableView->setModel(model);

ui->tableView->resizeRowsToContents();

ui->tableView->resizeColumnsToContents();
ui->label->setText("Информация за "+y+" год");

}
void Stat::on_pushButton_clicked()

{

this->close();

}

ПРИЛОЖЕНИЕ Ж

(обязательное)


work.pro.user






EnvironmentId

{12c91ae4-c8ed-47bc-8ea6-5f1b09f53719}





ProjectExplorer.Project.ActiveTarget

0





ProjectExplorer.Project.EditorSettings



true

false

true



Cpp



CppGlobal







QmlJS



QmlJSGlobal





2

UTF-8

false

4

false

80

true

true

1

true

false

0

true

true

0

8

true

1

true

true

true

false







ProjectExplorer.Project.PluginSettings







ProjectExplorer.Project.Target.0



Desktop Qt 5.9.0 MinGW 32bit

Desktop Qt 5.9.0 MinGW 32bit

qt.59.win32_mingw53_kit

0

0

0



C:/Jobs/workes/build-work-Desktop_Qt_5_9_0_MinGW_32bit-Debug





true

qmake



QtProjectManager.QMakeBuildStep

true



false

false

false





true

Сборка



Qt4ProjectManager.MakeStep



false







2

Сборка



ProjectExplorer.BuildSteps.Build







true

Сборка



Qt4ProjectManager.MakeStep



true

clean





1

Очистка



ProjectExplorer.BuildSteps.Clean



2

false



Отладка



Qt4ProjectManager.Qt4BuildConfiguration

2

true





C:/Jobs/workes/build-work-Desktop_Qt_5_9_0_MinGW_32bit-Release





true

qmake



QtProjectManager.QMakeBuildStep

false



false

false

false





true

Сборка



Qt4ProjectManager.MakeStep



false







2

Сборка



ProjectExplorer.BuildSteps.Build







true

Сборка



Qt4ProjectManager.MakeStep



true

clean





1

Очистка



ProjectExplorer.BuildSteps.Clean



2

false



Выпуск



Qt4ProjectManager.Qt4BuildConfiguration

0

true





C:/Jobs/workes/build-work-Desktop_Qt_5_9_0_MinGW_32bit-Profile





true

qmake



QtProjectManager.QMakeBuildStep

true



false

true

false





true

Сборка



Qt4ProjectManager.MakeStep



false







2

Сборка



ProjectExplorer.BuildSteps.Build







true

Сборка



Qt4ProjectManager.MakeStep



true

clean





1

Очистка



ProjectExplorer.BuildSteps.Clean



2

false



Профилирование



Qt4ProjectManager.Qt4BuildConfiguration

0

true



3





0

Установка



ProjectExplorer.BuildSteps.Deploy



1

Локальная установка



ProjectExplorer.DefaultDeployConfiguration



1





false

false

1000



true



false

false

false

false

true

0.01

10

true

1

25



1

true

false

true

valgrind



0

1

2

3

4

5

6

7

8

9

10

11

12

13

14



2



work



Qt4ProjectManager.Qt4RunConfiguration:C:/Jobs/workes/work/work.pro

true



work.pro

false



C:/Jobs/workes/build-work-Desktop_Qt_5_9_0_MinGW_32bit-Debug

3768

false

true

false

false

true



1







ProjectExplorer.Project.TargetCount

1





ProjectExplorer.Project.Updater.FileVersion

18





Version

18





ПРИЛОЖЕНИЕ И

(обязательное)
main.cpp
#include "mainwindow.h"

#include
int main(int argc, char *argv[])

{

QApplication a(argc, argv);

MainWindow w;

w.show();
return a.exec();

}

ПРИЛОЖЕНИЕ К

(обязательное)
stat.h
#ifndef STAT_H

#define STAT_H
#include

#include

#include

namespace Ui {

class Stat;

}
class Stat : public QMainWindow

{

Q_OBJECT
public:

explicit Stat(QWidget *parent = 0);

Stat();

void select(QString a, QString b, QString c, QString d, QString e, QString f, QString y);

private slots:

void on_pushButton_clicked();
private:

Ui::Stat *ui;

QStandardItem *item;

QStandardItemModel *model = new QStandardItemModel;

};
#endif // STAT_H


ПРИЛОЖЕНИЕ Л

(обязательное)
stat.ui




Stat




0

0

345

351



Информация





104

260

111

31



Закрыть





10

50

311

191







30

15

291

21




10


Qt::LeftToRight









0

0

345

21















ПРИЛОЖЕНИЕ М

(обязательное)
#-------------------------------------------------

#

# Project created by QtCreator 2018-06-01T22:16:13

#

#-------------------------------------------------
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = work

TEMPLATE = app
# The following define makes your compiler emit warnings if you use

# any feature of Qt which as been marked as deprecated (the exact warnings

# depend on your compiler). Please consult the documentation of the

# deprecated API in order to know how to port your code away from it.

DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.

# In order to do so, uncomment the following line.

# You can also select to disable deprecated APIs only up to a certain version of Qt.

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \

main.cpp \

mainwindow.cpp \

stat.cpp
HEADERS += \

mainwindow.h \

stat.h
FORMS += \

mainwindow.ui \

stat.ui



написать администратору сайта