Разработка программы на языке С++

Задание время отсчета, окно на приостановку таймера. Основные свойства форм, удобный интерфейс управления свойствами элемента. Добавление форм в проект, взаимодействие между ними. Работа с WINDOWS FORM и простыми классами, разработка, реализация задачи.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.02.2016
Размер файла 523,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

[Введите текст]

Белорусский национальный технический университет

Международный институт дистанционного образования

Кафедра «Информационные системы и технологии»

КУРСОВАЯ РАБОТА

По курсу «Операционные системы и системное программирование»

На тему: « Разработка программы на языке С++ согласно варианту»

Выполнил: студент группы 41702112

Шут В.В.

Проверила: Кондратенок Е.В.

Минск 2015

СОДЕРЖАНИЕ

Введение

Постановка задачи

Теоретические основы

Код программы

Результат работы программы

Заключение

Литература

ВВЕДЕНИЕ

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C.

Начав работать над задачами теории очередей (в приложении к моделированию телефонных вызовов), Бьёрн Страуструп обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными.

Вспомнив опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения.

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

ПОСТАНОВКА ЗАДАЧИ

Таймеры (Timers)

Можно предложить следующий вариант реализации.

Рис 28.1 Окно на запуск таймера

Внешний вид программы показан на рисунке (Рис 28.1). Можно задать время отсчета (часы, минуты и секунды). При нажатии на кнопку старт, начнется отсчет в обратном порядке.

Для остановки отсчета служит кнопка Стоп (Рис 28.2).

Рис 28.2 Окно на приостановку таймера

Окончание отсчета сопровождается звуковым сигналом и сообщением (Рис 28.3). Для выхода из программы служит кнопка "Выход".

Рис 28.3 Окно при окончании отсчета

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ

Основные свойства форм

С помощью специального окна Properties (Свойства) справа Visual Studio предоставляет нам удобный интерфейс для управления свойствами элемента:

Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:

· Name: устанавливает имя формы - точнее имя класса, который наследуется от класса Form

· BackColor: указывает на фоновый цвет формы. Щелкнув на это свойство, мы сможем выбрать тот цвет, который нам подходит из списка предложенных цветов или цветовой палитры

· BackgroundImage: указывает на фоновое изображение формы

· BackgroundImageLayout: определяет, как изображение, заданное в свойстве BackgroundImage, будет располагаться на форме.

· ControlBox: указывает, отображается ли меню формы. В данном случае под меню понимается меню самого верхнего уровня, где находятся иконка приложения, заголовок формы, а также кнопки минимизации формы и крестик. Если данное свойство имеет значение false, то мы не увидим ни иконку, ни крестика, с помощью которого обычно закрывается форма

· Cursor: определяет тип курсора, который используется на форме

· Enabled: если данное свойство имеет значение false, то она не сможет получать ввод от пользователя, то есть мы не сможем нажать на кнопки, ввести текст в текстовые поля и т.д.

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

· ForeColor: цвет шрифта на форме

· FormBorderStyle: указывает, как будет отображаться граница формы и строка заголовка. Устанавливая данное свойство в None можно создавать внешний вид приложения произвольной формы

· HelpButton: указывает, отображается ли кнопка справки формы

· Icon: задает иконку формы

· Location: определяет положение по отношению к верхнему левому углу экрана, если для свойства StartPosition установлено значение Manual

· MaximizeBox: указывает, будет ли доступна кнопка максимизации окна в заголовке формы

· MinimizeBox: указывает, будет ли доступна кнопка минимизации окна

· MaximumSize: задает максимальный размер формы

· MinimumSize: задает минимальный размер формы

· Opacity: задает прозрачность формы

· Size: определяет начальный размер формы

· StartPosition: указывает на начальную позицию, с которой форма появляется на экране

· Text: определяет заголовок формы

· TopMost: если данное свойство имеет значение true, то форма всегда будет находиться поверх других окон

· Visible: видима ли форма, если мы хотим скрыть форму от пользователя, то можем задать данному свойству значение false

· WindowState: указывает, в каком состоянии форма будет находиться при запуске: в нормальном, максимизированном или минимизированном

Программная настройка свойств

С помощью значений свойств в окне Свойства мы можем изменить по своему усмотрению внешний вид формы, но все то же самое мы можем сделать динамически в коде. Перейдем к коду, для этого нажмем правой кнопкой мыши на форме и выберем в появившемся контекстном меню View Code (Просмотр кода). Перед нами открывается файл кода Form1.cs. Изменим его следующим образом:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace HelloApp

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

Text = "Hello World!";

this.BackColor = Color.Aquamarine;

this.Width = 250;

this.Height = 250;

}

}

}

В данном случае мы настроили несколько свойств отображения формы: заголовок, фоновый цвет, ширину и высоту. При использовании конструктора формы надо учитывать, что весь остальной код должен идти после вызова метода InitializeComponent(), поэтому все установки свойств здесь расположены после этого метода.

Установка размеров формы

Для установки размеров формы можно использовать такие свойства как Width/Height или Size. Width/Height принимают числовые значения, как в вышеприведенном примере. При установке размеров через свойство Size, нам надо присвоить свойству объект типа Size:

this.Size = new Size(200,150);

Объект Size в свою очередь принимает в конструкторе числовые значения для установки ширины и высоты.

Начальное расположение формы

Начальное расположение формы устанавливается с помощью свойства StartPosition, которое может принимать одно из следующих значений:

· Manual: Положение формы определяется свойством Location

· CenterScreen: Положение формы в центре экрана

· WindowsDefaultLocation: Позиция формы на экране задается системой Windows, а размер определяется свойством Size

· WindowsDefaultBounds: Начальная позиция и размер формы на экране задается системой Windows

· CenterParent: Положение формы устанавливается в центре родительского окна

Все эти значения содержатся в перечислении FormStartPosition, поэтому, чтобы, например, установить форму в центре экрана, нам надо прописать так:

this.StartPosition = FormStartPosition.CenterScreen;

Фон и цвета формы

Чтобы установить цвет как фона формы, так и шрифта, нам надо использовать цветовое значение, хранящееся в структуре Color:

this.BackColor = Color.Aquamarine;

this.ForeColor = Color.Red;

Кроме того, мы можем в качестве фона задать изображение в свойстве BackgroundImage, выбрав его в окне свойств или в коде, указав путь к изображению:

this.BackgroundImage = Image.FromFile ("C:\\Users\\Eugene\\Pictures\\3332.jpg");

Чтобы должным образом настроить нужное нам отображение фоновой картинки, надо использовать свойство BackgroundImageLayout, которое может принимать одно из следующих значений:

· None: Изображение помещается в верхнем левом углу формы и сохраняет свои первоначальные значения

· Tile: Изображение располагается на форме в виде мозаики

· Center: Изображение располагается по центру формы

· Stretch: Изображение растягивается до размеров формы без сохранения пропорций

· Zoom: Изображение растягивается до размеров формы с сохранением пропорций

Например, расположим форму по центру экрана:

1this.StartPosition = FormStartPosition.CenterScreen;

Добавление форм в проект. Взаимодействие между формами

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне Solution Explorer (Обозреватель решений) правой кнопкой мыши и выберем Add(Добавить)->Windows Form...

Дадим новой форме какое-нибудь имя, например, Form2.cs:

Итак, у нас в проект была добавлена вторая форма. Теперь попробуем осуществить взаимодействие между двумя формами. Допустим, первая форма по нажатию на кнопку будет вызывать вторую форму. Во-первых, добавим на первую форму Form1 кнопку и двойным щелчком по кнопке перейдем в файл кода. Итак, мы попадем в обработчик события нажатия кнопки, который создается по умолчанию после двойного щелчка по кнопке:

private void button1_Click(object sender, EventArgs e)

{

}

Теперь добавим в него код вызова второй формы. У нас вторая форма называется Form2, поэтому сначала мы создаем объект данного класса, а потом для его отображения на экране вызываем метод Show:

private void button1_Click(object sender, EventArgs e)

{

Form2 newForm = new Form2();

newForm.Show();

}

Теперь сделаем наоборот - чтобы вторая форма воздействовала на первую. Пока вторая форма не знает о существовании первой. Чтобы это исправить, надо второй форме как-то передать сведения о первой форме. Для этого воспользуемся передачей ссылки на форму в конструкторе.

Итак перейдем ко второй форме и перейдем к ее коду - нажмем правой кнопкой мыши на форму и выберем View Code (Просмотр кода). Пока он пустой и содержит только конструктор. Поскольку C# поддерживает переопределение методов, то мы можем создать несколько методов и конструкторов с разными параметрами и в зависимости от ситуации вызывать один из них. Итак, изменим файл кода второй формы на следующий:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace HelloApp

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

public Form2(Form1 f)

{

InitializeComponent();

f.BackColor = Color.Yellow;

}

}

}

Фактически мы только добавили здесь новый конструктор public Form2(Form1 f), в котором мы получаем первую форму и устанавливаем ее фон в желтый цвет. Теперь перейдем к коду первой формы, где мы вызывали вторую форму и изменим его на следующий:

private void button1_Click(object sender, EventArgs e)

{

Form2 newForm = new Form2(this);

newForm.Show();

}

Поскольку в данном случае ключевое слово this представляет ссылку на текущий объект - объект Form1, то при создании второй формы она будет получать ее (ссылку) и через нее управлять первой формой.

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

Мы можем также создавать объекты и текущей формы:

private void button1_Click(object sender, EventArgs e)

{

Form1 newForm1 = new Form1();

newForm1.Show();

Form2 newForm2 = new Form2(newForm1);

newForm2.Show();

}

При работе с несколькими формами надо учитывать, что одна из них является главной - которая запускается первой в файле Program.cs. Если у нас одновременно открыта куча форм, то при закрытии главной закрывается все приложение и вместе с ним все остальные формы.

КОД ПРОГРАММЫ

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication12

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

int h, m, s; //часы, минуты, секунды

private void button1_Click(object sender, EventArgs e)

{

h = Convert.ToInt32(textBox1.Text); //заносим написанные пользователем числа в переменные

m = Convert.ToInt32(textBox2.Text);

s = Convert.ToInt32(textBox3.Text);

timer1.Start(); // запускаем таймер

}

private void timer1_Tick(object sender, EventArgs e)

{

s = s - 1; //каждую секунду счетчик таймера секунд уменьшается на 1

if (s == -1) //если кончается минута, а секундная переменная становится меньше единицы, значит минута уменьшается на единицу, а секундный счетчик начинает с 59

{

m = m - 1;

s = 59;

}

if (m == -1) //то же самое для часов

{

h = h - 1;

m = 59;

}

if (h == 0 && m == 0 && s == 0) // если часы, минуты и секунды в таймере будут равны нулю, значит время, указанное пользователем вышло

{

timer1.Stop();

Console.Beep();

MessageBox.Show("Время вышло!");

}

label4.Text = Convert.ToString(h); //выводим таймер на экран, чтобы пользователь наглядно видел, сколько время осталось.

label6.Text = Convert.ToString(m);

label8.Text = Convert.ToString(s);

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Text = Convert.ToString(h);

textBox2.Text = Convert.ToString(m);

textBox3.Text = Convert.ToString(s);

timer1.Stop(); // при нажатии пользователем на кнопку "Стоп" таймер останавливается форма таймер интерфейс класс

}

private void button3_Click(object sender, EventArgs e)

{

timer1.Stop(); // при нажатии пользователем на кнопку "Сброс" таймер останавливается, а текст в label'ах "сбрасывается" до нуля.

label4.Text = "0";

label6.Text = "0";

label8.Text = "0";

textBox1.Text = "0";

textBox2.Text = "0";

textBox3.Text = "0";

}

}

}

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы были закреплены практические навыки в разработке программ на языке С#. Освоены основы языка, такие работа с WINDOWS FORM и простыми классами. Изучены основные подходы для решения поставленной задачи.

Язык С# на данный момент является одним из самых популярных языков, который позволяет в полной мере и без лишних трудностей выполнять разработку и реализацию задуманной цели.

ЛИТЕРАТУРА

1. http://metanit.com/sharp/windowsforms/2.2.php

2. http://metanit.com/sharp/windowsforms/2.3.php

Размещено на Allbest.ru

...

Подобные документы

  • Создание таблиц в приложении Microsoft Access; определение связей между ними. Задание полю индивидуального значения. Разработка запросов в режиме конструктора, форм с помощью "Мастера форм" и отчетов. Составление главной и подчиненных кнопочных форм.

    курсовая работа [3,8 M], добавлен 13.02.2013

  • Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.

    курсовая работа [1,4 M], добавлен 16.03.2012

  • Разработка и реализация проекта информационной системы, предназначенной для хранения сведения о клиентах и недвижимости. Моделирование и реализация информационной системы. Разработка пользовательского интерфейса. Затраты на написание программы и отладку.

    курсовая работа [1,0 M], добавлен 30.06.2022

  • Использование драйвера режима ядра и управляющего приложения для создания системных потоков. Имитация обработки данных и организация задержек. Разработка драйвера на языке C++. Конфигурация тестового стенда. Точность изменения задержек и работы таймера.

    курсовая работа [182,4 K], добавлен 24.06.2009

  • Бинарные деревья поиска, основные действия с ними. Сущность префиксного (прямого), инфиксного (симметричного) и постфиксного (обратного) обхода в глубину. Описание функций редактирования исходных данных. Листинг и текст программы Form 1 и Form 2.

    курсовая работа [1,7 M], добавлен 08.06.2014

  • Создание системной утилиты, работающей с реестром ОС Windows; структура, функции и роль реестра. Разработка программного обеспечения: интерфейс, структурная схема вызовов окон приложений; реализация и тестирование программы, процедуры; листинг модулей.

    курсовая работа [1,2 M], добавлен 01.06.2013

  • Реализация программы, созданной средствами языка C#. Предназначение Windows-приложения для решения комплекса задач. Определение состава форм с графиком функции. Вычисление коэффициентов полинома. Создание текстового поля для введения корней многочлена.

    курсовая работа [234,8 K], добавлен 13.11.2016

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

    курсовая работа [3,5 M], добавлен 22.06.2012

  • Основные программы, функционирующие в среде Windows и поддерживающие диалоговые окна и другие возможности. Разработка программы на языке Builder C++ 6.0, осуществляющей выдачу сообщения в заданное время. Описание ее алгоритмов. Общие сведения о IBM PC.

    курсовая работа [49,1 K], добавлен 13.11.2009

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

    курсовая работа [788,1 K], добавлен 22.06.2011

  • Реализация линейных списков в языке программирования C++. Основные операции при работе с ними. Разработка интерфейса и алгоритмов. Описание работы программы на псевдокоде. Составление программного кода. Тестирование, отладка и результат работы программы.

    курсовая работа [1,1 M], добавлен 07.01.2014

  • Функционирование разрабатываемого элемента управления ActiveX, его свойства и методы. Создание внешнего вида элемента управления. Программирование событий инициализации и изменения размеров. Тестирование элемента на этапе проектирования и выполнения.

    курсовая работа [1,4 M], добавлен 07.04.2014

  • Графический интерфейс (операционные системы), объекты Windows и их свойства. Рабочий стол – графическая среда, на которой отображаются объекты и элементы управления Windows, примеры окон и рабочего стола. Основные приемы управления с помощью мыши.

    презентация [1,1 M], добавлен 12.04.2010

  • Обзор технологии COM (Component Object Technology). Особенности графического интерфейса пользователя и методы его реализации. Интерфейс операционных систем Microsoft Windows: работа с папками, файлами и окнами, использование буфера обмена, проводник.

    контрольная работа [6,4 M], добавлен 16.04.2011

  • Компиляция и использование модулей. Разработка интерфейса программы. Факторы, воздействующие на комфорт пользователя. Структура диалога типа меню и разработка экранных форм. Обоснование выбора типа подпрограмм для решения задачи. Текст программы.

    курсовая работа [30,1 K], добавлен 22.02.2014

  • Описание предметной области коучинга, его основные понятия. Разработка, реализация прикладной программы на базе WindowsForms. Описание пользовательских классов и реализованных форм. Описание принципа работы программы, структур хранения и получения данных.

    курсовая работа [1,3 M], добавлен 09.09.2012

  • Доступ пользователей сети к электронным сообщениям, хранящимся на сервере. Описание программы, аутентификация простая, APOP и AUTH-аутентификация. Реализация функций, руководство пользователя, алгоритмы функционирования программы, графический интерфейс.

    курсовая работа [1,1 M], добавлен 13.11.2009

  • Освоение языка программирования Delphi. Построение блок-схемы запуска главного таймера и основная логика программы. Использованные свойства и события Form, MediaPlayer, Timer, MainMenu. Запуск, пауза и остановка анимациии. Создание листинга программы.

    курсовая работа [771,9 K], добавлен 22.06.2014

  • Разработка программы-модели в среде "Adamview" для имитации стратегии и наглядной иллюстрации работы программы. Настройка сети; описание эмулятора стратегии и экранных форм интерфейса оператора. Структурная схема распределённой системы управления.

    курсовая работа [2,6 M], добавлен 21.01.2013

  • Разработка программы на языке Assembler, отсчитывающую время от заданного значения до 0. Осуществление ввода с помощью стандартной шестнадцатикнопочной терминальной клавиатуры, подключаемой к параллельному порту (P1). Логика построения программы.

    курсовая работа [188,8 K], добавлен 15.08.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.