ФИЛИАЛ государственного бюджетного
ПРОФЕССИОНАЛЬНОго образовательного учреждения
ИРКУТСКОЙ ОБЛАСТИ
«Иркутский техникум архитектуры и строительства»
В г.Шелехове
Специальность: 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 с классами, Страуструп написал программу 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 ПЗ |
C++ содержит средства разработки программ контролируемой эффективности для широкого спектра задач, от низкоуровневых утилит и драйверов до весьма сложных программных комплексов. В частности:
· Высокая совместимость с языком Си: код на Си может быть с минимальными переделками скомпилирован компилятором C++;
· Внешне языковой интерфейс является прозрачным, так что библиотеки в Си могут вызываться из C++ без дополнительных затрат, и более того — при определённых ограничениях код на С++ может экспортироваться внешне не отличим от кода на Си (конструкция extern «C»);
· Как следствие предыдущего пункта — вычислительная производительность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Один из базовых принципов С++ — «не платишь за то, что не используешь» — то есть ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования. Имеется возможность работы с памятью на низком уровне;
· Поддержка различных стилей программирования:
ü традиционное императивное программирование (структурное, объектно-ориентированное),
ü обобщённое программирование,
ü функциональное программирование,
ü порождающее мета программирование;
· Автоматический вызов деструкторов объектов в адекватном порядке (обратном вызову конструкторов) упрощает и повышает надёжность управления памятью и другими ресурсами (открытыми файлами, сетевыми соединениями, соединениями с базами данных и т. п.);
· Перегрузка операторов позволяет кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме;
·
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ДП 09.02.03 Б - 12 ПЗ |
· Объявление mutable позволяет сохранять логическую константность при виде извне кода, использующего кэши и ленивые вычисления;
· Шаблоны C++ дают возможность построения обобщённых контейнеров и алгоритмов для разных типов данных. Попутно шаблоны дают возможность производить вычисления на этапе компиляции;
· Возможность расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost.Bind позволяет связывать аргументы функций. Используя шаблоны и множественное наследование, можно имитировать классы-примеси и комбинаторную параметризацию библиотек. Такой подход применён в библиотеке Loki, класс SmartPtr которой позволяет, управляя всего несколькими параметрами времени компиляции, сгенерировать около 300 видов «умных указателей» для управления ресурсами;
· Возможность встраивания предметно-ориентированных языков программирования в основной код. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++. Boost.Spirit реализует рекурсивно-нисходящий алгоритм, что накладывает соответствующие ограничения (такие как недопустимость левой рекурсии);
· Доступность. Для С++ существует огромное количество учебной литературы, переведённой на всевозможные языки. Язык имеет низкий порог вхождения, но среди всех языков такого рода обладает наиболее широкими возможностями.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ДП 09.02.03 Б - 12 ПЗ |
Сторонники С++ позиционируют его как «универсально применимый» —вплоть до отождествления «применимости» с Тьюринг-полнотой (что является ошибкой) и одновременно с оптимальностью, то есть обоснованностью выбора его в качестве инструмента для данной конкретной задачи; при этом ни одной конкретной задачи не обозначается, а наоборот, делается утверждение, что С++ подходит для любой задачи (что теоретически невозможно).
Однако С++ не отвечает многим требованиям качества программирования, не предъявляемым к Си, но важным для широкого спектра задач прикладного программирования.
В частности:
· Плохо продуманный синтаксис сужает спектр применимости языка (что, с учётом претензий на «универсальность», делает его крайне неудобным в некоторых задачах);
· Унаследованные от Си низкоуровневые свойства существенно тормозят и затрудняют прикладную разработку;
· Язык не содержит многих важных возможностей;
· Язык содержит опасные возможности, существенно снижающие качество программ сразу по всем показателям;
· Производительность труда программистов на языке оказывается неоправданно низка, а продукт труда — низкокачественным.
Многие конкретные недостатки вытекают непосредственно из свойств семантики системы типов языка: она не отвечает требованиям полноты и ортогональности, при этом обладает избыточностью и предусматривает понятие «приведения типов» (как явно, так и неявно). В отношении типизации, С++ чаще всего противопоставляются либо типизируемые по Хиндли-Милнеру, либо динамически типизируемые языки. Начиная со стандарта 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 ПЗ |
Модель - 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 ПЗ |
В профилактике профессиональных заболеваний пользователей ЭВМ, важное значение, имеет правильный режим работы.
Во время перерывов необходимо выполнять специализированные комплексы гимнастических упражнений: для глаз, для улучшения мозгового кровообращения, для снятия утомления с плечевого пояса и рук, с туловища и ног.
Безопасная работа в Интернете включает в себя спектр рисков:
· Опасность размещения в сети личных данных (имен, фамилий, адресов, фотографий, электронных адресов и т.п.);
· Антивирусная безопасность;
· Несанкционированное подключение к Вашей сети;
· Ограничение доступа к сайтам с непристойной информацией;
Строго выполняйте все указанные выше правила, а также текущие указания преподавателя; следите за исправностью аппаратуры и немедленно прекращайте работу при появлении необычного звука или самопроизвольного отключения аппаратуры.
Для обеспечения оптимальной работоспособности и сохранения здоровья на протяжении рабочей смены должны устанавливаться регламентированные перерывы продолжительностью 15 или 10 минут через каждый час работы.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ДП 09.02.03 Б - 12 ПЗ |
2.1РАЗРАБОТКА МОДЕЛИ ПРОГРАММНОГО ПРОДУКТА
Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
Блок - схема электронного органайзера (Рисунок 1).
Начало Органайзер |
Личные данные пользователя |
Адресная книга |
Планировщик задач |
Калькулятор |
Календарь |
Конец |
Время |
Рисунок 1 – Блок-схема электронного органайзера
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ДП 09.02.03 Б - 12 ПЗ |
электронный органайзер
Для создания органайзера необходимо ввести структуру кода.
#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<<" Адрес г.Шелехов, м-он Привокзальный, д.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";
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ДП 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";
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 ПЗ |
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 ПЗ |
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 ПЗ |
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.1ТЕХНИЧЕСКОЕ ЗАДАНИЕ ГОСТ 19.102 – 78 ЕСПД