Разработка информационно аналитической системы на тему «Конкурс поэтов» с использованием технологии объектно-ориентированного программ

Автор работы: Пользователь скрыл имя, 18 Июня 2013 в 23:17, курсовая работа

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

Данная программа будет незаменима организаторам подобных мероприятий. Целью курсового проекта является разработка аналитической системы, в которой должны поддерживаться режимы учета зрителей и выступающих, их произведений, жанра, творческого багажа, порядка проведения. Система будет реализована на основе языка программирования C++ и библиотеки MFC. Для достижения намеченной цели необходимо будет решить следующие задачи:

Содержание

Введение
1. Задание на разработку
2. Анализ предметной области
3. Разработка оконного приложения
3.1. Разработка информационной модели предметной области
3.2. Выбор и описание средств проектирования
3.3. Реализация приложения
4.Результаты тестирования
Заключение
Список использованных источников
Приложение А. Внешний вид основного окна приложения
Приложение Б. Программный код проекта

Вложенные файлы: 1 файл

курсовик.docx

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

Разработанную систему можно  использовать на конкурсных мероприятиях с участием поэтов, в котором нужен  учет посетителей.

 

Список использованных источников


 

  1. Дейл, Н. Программирование на С++/Н. Дейл, Ч. Уимз, М. Хедингтон. –М.: ДМК Пресс, 2007. – 672 с.
  2. ИНТУИТ: Национальный открытый университет [Электронный ресурс]. – Режим доступа: URL: http://www.intuit.ru/studies/courses/17/17/lecture/265 (дата обращения: 25.03.13).
  3. Википедия: свободная энциклопедия [Электронный ресурс]. – Режим доступа: URL: http://ru.wikipedia.org (дата обращения: 5.04.13).
  4. Семакин, И.Г. Основы программирования: учебник для сред.проф. образования / И.Г. Семакин, А.П. Шестаков. –М.: Академия, 2008.– 374 с.

 


ПРИЛОЖЕНИЕ А

 

Общий вид главного окна приложения

 

 

Рисунок А – Общий вид  главного окна приложения информационно аналитической системы на тему «Конкурс поэтов»

 

 

 

ПРИЛОЖЕНИЕ Б


 

// Poets_KonkursDlg.cpp : файл реализации

//

 

#include "stdafx.h"

#include "Poets_Konkurs.h"

#include "Poets_KonkursDlg.h"

#include "afxdialogex.h"

#include "afxdialogex.h"

#include <iostream>

#include "stdio.h"

#include <fstream>

#include <clocale>

#include <string>

using namespace std;

 

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

 

 

// Диалоговое окно CAboutDlg используется  для описания сведений о приложении

 

class CAboutDlg : public CDialogEx


{

public:

CAboutDlg();

 

// Данные диалогового окна

enum { IDD = IDD_ABOUTBOX };

 

protected:

virtual void DoDataExchange(CDataExchange* pDX);    // поддержка DDX/DDV

 

// Реализация

protected:

DECLARE_MESSAGE_MAP()

};

 

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)

{

}

 

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

}

 

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)


END_MESSAGE_MAP()

 

 

// диалоговое окно CPoets_KonkursDlg

 

 

 

 

CPoets_KonkursDlg::CPoets_KonkursDlg(CWnd* pParent /*=NULL*/)

: CDialogEx(CPoets_KonkursDlg::IDD, pParent)

, Familiya(_T(""))

, Imya(_T(""))

, Otchestvo(_T(""))

, Ochered(_T(""))

, Proiz(_T(""))

{

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

 

void CPoets_KonkursDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, Familiya);

DDX_Text(pDX, IDC_EDIT2, Imya);

DDX_Text(pDX, IDC_EDIT3, Otchestvo);


DDX_Text(pDX, IDC_EDIT4, Ochered);

DDX_Text(pDX, IDC_EDIT5, Proiz);

DDX_Control(pDX, IDC_COMBO1, Zhanr);

DDX_Control(pDX, IDC_COMBO2, Poets);

}

 

BEGIN_MESSAGE_MAP(CPoets_KonkursDlg, CDialogEx)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTON3, &CPoets_KonkursDlg::OnBnClickedButton3)

ON_BN_CLICKED(IDC_BUTTON1, &CPoets_KonkursDlg::OnBnClickedButton1)

ON_BN_CLICKED(IDC_BUTTON2, &CPoets_KonkursDlg::OnBnClickedButton2)

ON_BN_CLICKED(IDC_RADIO1, &CPoets_KonkursDlg::OnBnClickedRadio1)

ON_BN_CLICKED(IDC_RADIO2, &CPoets_KonkursDlg::OnBnClickedRadio2)

END_MESSAGE_MAP()

 

 

// обработчики сообщений CPoets_KonkursDlg

 

BOOL CPoets_KonkursDlg::OnInitDialog()

{

CDialogEx::OnInitDialog();

Zhanr.AddString(_T("Поэма"));


Zhanr.AddString(_T("Зритель"));

Zhanr.AddString(_T("Рассказ"));

Zhanr.AddString(_T("Роман"));

Zhanr.AddString(_T("Водевиль"));

Zhanr.AddString(_T("Трагедия"));

Zhanr.AddString(_T("Повесть"));

Zhanr.AddString(_T("Ямб"));

Zhanr.AddString(_T("Эскиз"));

Zhanr.AddString(_T("Эпопея"));

Zhanr.AddString(_T("Очерк"));

Zhanr.AddString(_T("Сказка"));

Zhanr.AddString(_T("Ода"));

Zhanr.AddString(_T("Миф"));

 

Poets.AddString(_T("Тютчев"));

Poets.AddString(_T("Гоголь"));

Poets.AddString(_T("Пушкин"));

Poets.AddString(_T("Лермонтов"));

Poets.AddString(_T("Есенин"));

Poets.SetCurSel(0);

 

// Добавление пункта "О  программе..." в системное меню.

 

// IDM_ABOUTBOX должен быть в  пределах системной команды.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);


 

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

BOOL bNameValid;

CString strAboutMenu;

bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);

ASSERT(bNameValid);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

 

// Задает значок для  этого диалогового окна. Среда  делает это автоматически,

//  если главное окно  приложения не является диалоговым

SetIcon(m_hIcon, TRUE);   // Крупный значок

SetIcon(m_hIcon, FALSE);  // Мелкий значок

 

// TODO: добавьте дополнительную  инициализацию

 

return TRUE;  // возврат значения TRUE, если фокус не передан элементу  управления


}

 

void CPoets_KonkursDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialogEx::OnSysCommand(nID, lParam);

}

}

 

// При добавлении кнопки  свертывания в диалоговое окно  нужно воспользоваться приведенным  ниже кодом,

//  чтобы нарисовать  значок. Для приложений MFC, использующих  модель документов или представлений,

//  это автоматически  выполняется рабочей областью.

 

void CPoets_KonkursDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // контекст устройства  для рисования


 

SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

 

// Выравнивание значка  по центру клиентского прямоугольника

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

 

// Нарисуйте значок

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialogEx::OnPaint();

}

}

 

// Система вызывает эту  функцию для получения отображения  курсора при перемещении

//  свернутого окна.

HCURSOR CPoets_KonkursDlg::OnQueryDragIcon()

{


return static_cast<HCURSOR>(m_hIcon);

}

 

 

 

void CPoets_KonkursDlg::OnBnClickedButton3()

{

switch(Poets.GetCurSel())

{

case 0:

ShellExecute(NULL,_T("open"), _T("http://demo.aiva-studio.ru/gogol.html"), _T(""), _T("c:\\"), SW_SHOWNORMAL);

break;

case 1:

ShellExecute(NULL,_T("open"), _T("http://demo.aiva-studio.ru/esenin.html"), _T(""), _T("c:\\"), SW_SHOWNORMAL);

break;

case 2:

ShellExecute(NULL,_T("open"), _T("http://demo.aiva-studio.ru/lermontov.html"), _T(""), _T("c:\\"), SW_SHOWNORMAL);

break;

case 3:

ShellExecute(NULL,_T("open"), _T("http://demo.aiva-studio.ru/pushkin.html"), _T(""), _T("c:\\"), SW_SHOWNORMAL);

break;

case 4:

ShellExecute(NULL,_T("open"), _T("http://demo.aiva-studio.ru/tutchev.html"), _T(""), _T("c:\\"), SW_SHOWNORMAL);

break;

}

 

 

void CPoets_KonkursDlg::OnBnClickedButton1()

{

UpdateData(true);

 

if (Familiya>="0"&&Familiya<="9")

{CWnd::MessageBox(_T("В поле <Фамилия>  должно быть текстовое значение"),_T("Ошибка"),0);

return;}

 

 

if (Imya>="0"&&Imya<="9")

{CWnd::MessageBox(_T("В поле <Имя>  должно быть текстовое значение"),_T("Ошибка"),0);

return;}

 

if (Otchestvo>="0"&&Otchestvo<="9")

{CWnd::MessageBox(_T("В поле <Отчество> должно быть текстовое значение"),_T("Ошибка"),0);


return;}

 

 

 

char *locale=setlocale(LC_ALL,"RUS");

CString r;

Zhanr.GetLBText(Zhanr.GetCurSel(),r);

 

fstream datei; 

datei.open("Konkurs_Poetov.txt",ios::app);

if(!datei)

{

cout<<"Error"<<endl;

}

else

{

 

 

datei<<Familiya<<"   "<<Imya<<"   "<<Otchestvo<<"        "<<r<<"            "<<Proiz<<"           "<<Ochered<<"   "<<endl;

}

datei.close();

 

UpdateData(false);

}


 

void CPoets_KonkursDlg::OnBnClickedButton2()

{


UpdateData(true);

Familiya=Imya=Otchestvo=Proiz=Ochered=" ";

UpdateData(false);

}

 

 

void CPoets_KonkursDlg::OnBnClickedRadio1()

{

GetDlgItem(IDC_EDIT4)->EnableWindow(false);

GetDlgItem(IDC_EDIT5)->EnableWindow(false);

GetDlgItem(IDC_COMBO1)->EnableWindow(false);

}

 

 

void CPoets_KonkursDlg::OnBnClickedRadio2()

{

GetDlgItem(IDC_EDIT4)->EnableWindow(true);

GetDlgItem(IDC_EDIT5)->EnableWindow(true);

GetDlgItem(IDC_COMBO1)->EnableWindow(true);

}


Информация о работе Разработка информационно аналитической системы на тему «Конкурс поэтов» с использованием технологии объектно-ориентированного программ