ФИЛИАЛ государственного бюджетного




ФИЛИАЛ государственного бюджетного

ПРОФЕССИОНАЛЬНОго образовательного учреждения

ИРКУТСКОЙ ОБЛАСТИ

«Иркутский техникум архитектуры и строительства»

В г.Шелехове

 

 

Специальность: 09.02.03 Программирование в компьютерных системах

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Разработка электронного органайзера средствами C++

наименование работы

 

 

Работу выполнил«» __________ 2017 г.

 

Студент 4 курса группы ПС-13-408:

 

Бочанцев Ярослав Владимирович

Фамилия Имя Отчество

 

Работа допущена к защите:

 

Руководитель ВКР ________ Гончарова Ирина Владимировна _____________

Фамилия Имя Отчество

 

Преподаватель профессионального цикла: Гончарова Ирина Владимировна

Фамилия Имя Отчество

«» _____________ 2017 г.

 

Зам.директора по УР

 

«___»_____________ 2017 г. __________________ О.Н. Сафронова

Подпись

 

 

Шелехов, 2017

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
ДП 09.02.03 Б - 12 ПЗ  
Разраб.
Бочанцев Я.В.
Провер.
Гончарова И.В.
Реценз.
Федосеева А.В.
Н. Контр.
Попова Л.Г.
Утверд.
Гончарова И.В.
  Разработка электронного органайзера средствами C++ Пояснительная записка  
Лит.
Листов
 
Филиал ГБПОУ ИО ИТАС ПС-13-408
СОДЕРЖАНИЕ

 

Лист

Введение 2

Электронный органайзер средствами С++ 6

1.Аналитическая часть 6

1.1 Программа С++ 6

1.2 История создания языка С++ 6

1.3 Достоинства С++ 8

1.4 Недостатки С++ 10

1.5 Аппаратное обеспечение 11

1.6 Программное обеспечение 12

1.7 Охрана труда и техника безопасности 12

2. Практическая часть 15

2.1. Разработка модели программного продукта 15

2.2. Технология разработки программы электронный органайзер 16

2.3. Сопровождение программного обеспечения 23

3.Экономическая часть 27

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

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

 

Изм.
ист
кум.
Подпись
Дата
ист
 
  ДП 09.02.03 Б - 12 ПЗ  
ВВЕДЕНИЕ

 

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

Наличие персонального компьютера заменяет целый ряд устройств, таких как: телевизор, проигрыватель (DVD, Blu-ray и т.п.), акустическая система, фотолабораторию, инструменты для редактирования и создания музыки, разнообразные художественные предметы и т.п. В домах все чаще появляется более одного компьютера. Очень часто, чуть ли ни у каждого члена семьи, есть свой компьютер: привычный стационарный, ноутбук, нетбук, ультрабук, планшет или смартфон.

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

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

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

 

Функции электронного органайзера.

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

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

Каждая персона может сопровождаться такой информацией как:

· фамилия, имя, отчество;

· адрес;

· телефон (домашний, рабочий, сотовый);

· ICQ, e-mail;

· дата рождения;

· название фирмы;

· должность и т.д.

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
Актуальность. Приложение формата органайзера помогают избавиться от поиска ровной поверхности, чтобы сделать какую- либо запись, а также пролистывания страниц в поисках нужной информации, даты. Однако у бумажных органайзеров остается одно преимущество, перед их программной версией, они всегда под рукой. Этот момент можно решить путем создания нескольких версий приложения: для мобильного и для стационарных устройств, и организовать переносимость данных между этими приложениями.

Цель дипломного проекта: разработать программную версию электронного органайзера для операционной системы Windowsсредствами С++.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
В соответствии с целью дипломного проекта поставлены следующие задачи:

1. Обобщить знания по системному программированию (язык программирования С++):

· Изучить дополнительную литературу по программе С++;

· Исследовать современные возможности программы;

· Проанализировать работу программы, выделить плюсы и минусы ее использования;

2. Спроектировать и создать электронный органайзер.

Объект исследования - программа C++.

Предмет исследования – электронный органайзер.

 

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
Электронный органайзер средствами С++

 

1. Аналитическая часть

 

1.1 Программа С++

 

С++ — это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта.

Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на С++, сравнимы по скорости с программами, написанными на языке ассемблера.

 

1.2 История Создания языка с++

 

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell LabsБьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. Когда в конце 1970 - х годов Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов), он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения.

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

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования доступными для решения как с точки зрения времени разработки так и с точки зрения времени вычислений (благодаря быстродействию C). В первую очередь в C были добавлены классы (с инкапсуляцией), наследование классов, строгая проверка типов, inline-функции и аргументы по умолчанию. Ранние версии языка, первоначально именовавшегося «C with classes» («Си с классами»), стали доступны с 1980 года.

Разрабатывая C с классами, Страуструп написал программу cfront— транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Это позволило работать над новым языком и использовать его на практике, применяя уже имеющуюся в UNIX инфраструктуру для разработки на C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его.

К 1983 году в язык были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Получившийся язык уже перестал быть просто дополненной версией классического C и был переименован из C с классами в «C++». Его первый коммерческий выпуск состоялся в октябре 1985 года.

До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. Функцию стандартных описаний языка выполняли написанные Страуструпом печатные работы по C++ (описание языка, справочное руководство и так далее). Лишь в 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году — следующая версия этого стандарта — ISO/IEC 14882:2003.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
1.3 Достоинства С++

 

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

· Высокая совместимость с языком Си: код на Си может быть с минимальными переделками скомпилирован компилятором C++;

· Внешне языковой интерфейс является прозрачным, так что библиотеки в Си могут вызываться из C++ без дополнительных затрат, и более того — при определённых ограничениях код на С++ может экспортироваться внешне не отличим от кода на Си (конструкция extern «C»);

· Как следствие предыдущего пункта — вычислительная производительность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Один из базовых принципов С++ — «не платишь за то, что не используешь» — то есть ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования. Имеется возможность работы с памятью на низком уровне;

· Поддержка различных стилей программирования:

ü традиционное императивное программирование (структурное, объектно-ориентированное),

ü обобщённое программирование,

ü функциональное программирование,

ü порождающее мета программирование;

· Автоматический вызов деструкторов объектов в адекватном порядке (обратном вызову конструкторов) упрощает и повышает надёжность управления памятью и другими ресурсами (открытыми файлами, сетевыми соединениями, соединениями с базами данных и т. п.);

· Перегрузка операторов позволяет кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме;

·

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
Имеется возможность управления константностью объектов (модификаторы const, mutable, volatile). Использование константных объектов повышает надёжность и служит подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять выбор метода в зависимости цели вызова (константный для чтения, не константный для изменения);

· Объявление mutable позволяет сохранять логическую константность при виде извне кода, использующего кэши и ленивые вычисления;

· Шаблоны C++ дают возможность построения обобщённых контейнеров и алгоритмов для разных типов данных. Попутно шаблоны дают возможность производить вычисления на этапе компиляции;

· Возможность расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost.Bind позволяет связывать аргументы функций. Используя шаблоны и множественное наследование, можно имитировать классы-примеси и комбинаторную параметризацию библиотек. Такой подход применён в библиотеке Loki, класс SmartPtr которой позволяет, управляя всего несколькими параметрами времени компиляции, сгенерировать около 300 видов «умных указателей» для управления ресурсами;

· Возможность встраивания предметно-ориентированных языков программирования в основной код. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++. Boost.Spirit реализует рекурсивно-нисходящий алгоритм, что накладывает соответствующие ограничения (такие как недопустимость левой рекурсии);

· Доступность. Для С++ существует огромное количество учебной литературы, переведённой на всевозможные языки. Язык имеет низкий порог вхождения, но среди всех языков такого рода обладает наиболее широкими возможностями.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
1.4 Недостатки С++

 

Сторонники С++ позиционируют его как «универсально применимый» —вплоть до отождествления «применимости» с Тьюринг-полнотой (что является ошибкой) и одновременно с оптимальностью, то есть обоснованностью выбора его в качестве инструмента для данной конкретной задачи; при этом ни одной конкретной задачи не обозначается, а наоборот, делается утверждение, что С++ подходит для любой задачи (что теоретически невозможно).

Однако С++ не отвечает многим требованиям качества программирования, не предъявляемым к Си, но важным для широкого спектра задач прикладного программирования.

В частности:

· Плохо продуманный синтаксис сужает спектр применимости языка (что, с учётом претензий на «универсальность», делает его крайне неудобным в некоторых задачах);

· Унаследованные от Си низкоуровневые свойства существенно тормозят и затрудняют прикладную разработку;

· Язык не содержит многих важных возможностей;

· Язык содержит опасные возможности, существенно снижающие качество программ сразу по всем показателям;

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

Многие конкретные недостатки вытекают непосредственно из свойств семантики системы типов языка: она не отвечает требованиям полноты и ортогональности, при этом обладает избыточностью и предусматривает понятие «приведения типов» (как явно, так и неявно). В отношении типизации, С++ чаще всего противопоставляются либо типизируемые по Хиндли-Милнеру, либо динамически типизируемые языки. Начиная со стандарта C++0x, в языке появилась возможность автоматического выведения типов, из-за чего возникло заблужде-

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
ние, что отныне «С++ поддерживает вывод типов по Хиндли-Милнеру».

Однако системе типов С++ противопоставляется не сам механизм выведения типов, а полиморфная семантика системы типов Хиндли-Милнера, предусматривающая в том числе и механизм выведения, но не как главное преимущество. Существуют примеры развития Си по пути типизации Хиндли-Милнера.

В случае языково-ориентированного проектирования программ применимость С++, как и при использовании любых других языков, ограничивается нижним уровнем системы — реализацией предметно-специфичных языков (DSL) первого уровня. Для этой задачи С++ объективно является далеко не оптимальным выбором. В случае применения методологии «чистого встраивания» DSL в язык общего назначения (которая является традиционной для Lisp / ML, и для которой в С++ потенциально предназначена библиотека Boost.Spirit), с т.з. воплощения изоморфизма Карри-Ховарда выбор С++ в качестве базы был бы абсурден. Наиболее ортодоксальные противники С++ утверждают, что этот язык нельзя использовать в реальной индустрии вообще, и его существование имеет лишь педагогический смысл — в качестве образцово-показательной коллекции антипаттернов в задаче разработки языков программирования.

 

1.5 АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

 

Системный блок ACER Aspire TC-100 содержит такие основный устройства ПК как системная плата с процессором и ОП, накопители на магнитных дисках, CD-ROM, блок питания.

Характеристики:

Процессор: Тактовая частота - 1.5 ГГц,

Модель - A4-5000,

Производитель - Intel,

Оперативная память: Объем - 4 Гб,

Жесткий диск: Объем - 1024 Гб,

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
Графическая система: Объем памяти - 2048 Мб,

Модель - Radeon HD 8470, Производитель - ATI, Оптический привод.

Устройства ввода - это устройства, которые переводят информацию с языка человека на машинный язык.

К устройствам ввода относятся:

Клавиатура – комплект расположенных в определенном порядке рычагов-клавиш у какого-либо механизма для управления каким-либо устройством или для ввода информации.

Характеристики: LogitechkeyboardK120, проводная клавиатура, для настольного ПК, классическая конструкция, интерфейс USB.

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

Характеристики: A4TECHXL-750BHBlack-Brown, Интерфейс - USB, Разрешение сенсора - 3600 dpi, Тип - Лазерная, Соединение – Проводное, Корпус: Количество клавиш – 7.

К устройствам вывода относятся:

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

Характеристики монитора: SamsungS23B300N, Экран: Диагональ - 23дюйма, Разрешение - 1920x1080, Тип матрицы - TN, Время отклика - 5 мс.

Программное обеспечение

 

Характеристики: OCWindows 2010.

Для создания электронного органайзера используется программа Dev C++.

 

1.7 ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ

 

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
временно выполняют одну работу или операцию. Правильная организация рабочего места – это создание на рабочем месте необходимых условий для производительного труда и выполнения работы (операций).

При организации рабочего места учитывают следующие факторы:

- особенности технологического процесса;

- уровень механизации и автоматизации;

- уровень специализации;

- степень разделения труда;

- используемые приемы и методы работы.

На повышение производительности труда на предприятиях оказывает существенную роль правильная планировка рабочего места.

Размещая производственные участки и оборудование, необходимо соблюдать следующие условия:

- располагать оборудование и производственные участки в соответствии с последовательностью выполнения технологических операций;

- выделять для размещения каждого структурного подразделения отдельную комнату.

При расстановке оборудования соблюдать необходимые размеры промежутков между оборудованием (не менее 2 м), высота помещения не менее 3 м, расстояний от стен, которые должны обеспечивать свободу передвижения работающих; рабочие места операторов ПЭВМ следует располагать рядами; расположение мест может быть двухрядными, трехрядными, четырех рядными; расположение рядов может быть прямым и поперечным;

рабочее место должно быть оборудовано подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов.

Клавиатуру компьютера лучше всего располагать на расстоянии 10-15 мм от края стола, тогда запястья рук будут опираться на стол; нельзя устанавливать

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
компьютер рядом с батареей центрального отопления; в соответствии с эргономическими требованиями для работы с регулируемой высотой рабочей поверхности и выдвижной подставкой для клавиатуры; центр экрана монитора должен находиться примерно на уровне глаз, а расстояние между глазами и плоскостью экрана составлять не менее 40-50 см; желательно, чтобы прямой солнечный свет не падал на экран; рабочие места должны быть оснащены настольными лампами.

В профилактике профессиональных заболеваний пользователей ЭВМ, важное значение, имеет правильный режим работы.

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

Безопасная работа в Интернете включает в себя спектр рисков:

· Опасность размещения в сети личных данных (имен, фамилий, адресов, фотографий, электронных адресов и т.п.);

· Антивирусная безопасность;

· Несанкционированное подключение к Вашей сети;

· Ограничение доступа к сайтам с непристойной информацией;

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

Для обеспечения оптимальной работоспособности и сохранения здоровья на протяжении рабочей смены должны устанавливаться регламентированные перерывы продолжительностью 15 или 10 минут через каждый час работы.

 

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
2. ПРАКТИЧЕСКАЯ ЧАСТЬ

 

2.1РАЗРАБОТКА МОДЕЛИ ПРОГРАММНОГО ПРОДУКТА

 

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

Блок - схема электронного органайзера (Рисунок 1).

Начало Органайзер
Личные данные пользователя
Адресная книга
Планировщик задач
Калькулятор
Календарь
Конец
Время

 


Рисунок 1 – Блок-схема электронного органайзера

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
2.2Технология разработки программы

электронный органайзер

 

Для создания органайзера необходимо ввести структуру кода.

#include <iostream>

#include <time.h>

#include <stdio.h>

#include <windows.h>

#include <conio.h>

#define cout std::cout

int main()

{

SYSTEMTIME st, lt;

setlocale(LC_ALL,"Russian");

cout<<" ЭЛЕКТРОННЫЙОРГАНАЙЗЕР\n";

cout<<"\n";

cout<<"\n";

cout<<"ЛИЧНЫЕ ДАННЫЕ ПОЛЬЗОВАТЕЛЯ\n";

cout<<"\n";

cout<<"\n";

cout<<" Ф.И.О. Бочанцев Ярослав Владимирович\n";

cout<<"\n";

cout<<" ГруппаПС-13-408\n";

cout<<"\n";

cout<<" Дата рождения 20.04.1997 год\n";

cout<<"\n";

cout<<" Телефон 8-902-234-87-54\n";

cout<<" 8-964-156-33-21\n";

cout<<"\n";

 

cout<<" E - mail Yroslav1997@mail.ru\n";

Изм.
ЛистЛ
№ докум.№ до
Подпись
Дата
ЛистЛ
 
  ДП 09.02.03 Б - 12 ПЗ
cout<<"\n";

cout<<" Адрес г.Шелехов, м-он Привокзальный, д.3, кв.13\n";

cout<<"\n";

cout<<"\n";

cout<<" АДРЕСНАЯКНИГА\n";

cout<<"\n";

cout<<"\n";

cout<<" Ф.И.О. Лозовая Анна Дмитриевна\n";

cout<<"\n";

cout<<" Адрес г.Шелехов, м-он Привокзальный, д.2,кв.22\n";

cout<<"\n";

cout<<"\n";

cout<<" Ф.И.О. ________________________________________\n";

cout<<"\n";

cout<<" Адрес ________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<" Ф.И.О. ________________________________________\n";

cout<<"\n";

cout<<" Адрес ________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<"\n";

cout<<" ПЛАНИРОВЩИК ЗАДАЧ\n";

cout<<"\n";

cout<<"\n";

cout<<" ПОНЕДЕЛЬНИК Визиты и главное дело на день\n";

cout<<"\n";

 

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
cout<<"\n";

cout<<" ВТОРНИК Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<" СРЕДА Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<" ЧЕТВЕРГ Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<" ПЯТНИЦА Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

 

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
cout<<"\n";

cout<<" СУББОТА Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<" ВОСКРЕСЕНЬЕ Визиты и главное дело на день\n";

cout<<"\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"________________________________________________________\n";

cout<<"\n";

cout<<"\n";

cout<<"\n";

time_t t;// ВРЕМЯ

struct tm *t_m;

t=time(NULL);

t_m=localtime(&t);

cout<<" ТЕКУЩЕЕ ВРЕМЯ: "<<t_m->tm_hour<<":"<<t_m->tm_min<<":"<<t_m->tm_sec;

cout<<"\n";

cout<<"\n";

cout<<"\n";

 

 

{

cout<<" КАЛЬКУЛЯТОР\n";

cout<<"\n";

{

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
char znak,r;

int a,b,c,d,e;

do

{

printf("Введите первую переменную\n");

scanf("%d",&a);

if (a>32767) printf("недопустимое значение");

if (a<-32768) printf("недопустимое значение");

printf("Введите знак(+ * - /)\n");

scanf(" %c",&znak);

printf("Введите вторую переменную\n");

scanf("%d",&b);

if (b>32767) printf("недопустимое значение");

if (b<-32768) printf("недопустимое значение");

switch (znak)

{

case '+':{c=a+b;

break;}

case '-':{c=a-b;

break;}

case '*':{c=a*b;

break;}

case '/':{c=a/b;

d=a%b;

break;}

 

}

if (c>32767) printf("недопустимое значение");

if (c<-32768) printf("недопустимое значение");

printf("Результат\n%d\n",c);

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
if (znak=='/') printf("ostatok\n%d\n",d);

printf("Для повтороного использование калькулятора нажмите)n\n");

scanf (" ");

scanf("%c",&r);

}

while (r=='n');

}

time_tnow;//КАЛЕНДАРЬ РАБОТАЕТ С 1970 ГОДА

struct tm * timeinfo;

int year, m, i, j;

char* month[] = {"ЯНВАРЬ","ФЕВРАЛЬ","МАРТ","АПРЕЛЬ", "МАЙ","ИЮНЬ","ИЮЛЬ","АВГУСТ","СЕНТЯБРЬ","ОКТЯБРЬ","НОЯБРЬ","ДЕКАБРЬ"};

printf ("Год: "); scanf ("%d",&year);

time (&now);

timeinfo = localtime (&now);

timeinfo->tm_year = year-1900;

timeinfo->tm_mon = 0;

m =-1;

while(m<12)

{ for(i=1; i<33; i++)

{ timeinfo->tm_mday = i;

mktime (timeinfo);

if(timeinfo->tm_mon > m)

{ printf("\n %s\n",month[timeinfo->tm_mon]);

 

printf(" _______________________________\n");

printf(" Пн Вт Ср Чт Пт Сб Вс\n");

printf(" _______________________________\n");

for(j=0;j<(timeinfo->tm_wday);j++)

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
printf(" ");

m++;

break;

}

if (m==11 && timeinfo->tm_mon ==0)

{ m++;

break;

}

printf("%4d",timeinfo->tm_mday); //

if(timeinfo->tm_wday==6)//

printf("\n");

}

}

getchar();getchar();

}

return 0;

}

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
  ДП 09.02.03 Б - 12 ПЗ  
2.3. СОПРОВОЖДЕНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

 

2.3.1ТЕХНИЧЕСКОЕ ЗАДАНИЕ ГОСТ 19.102 – 78 ЕСПД



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-12-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: