Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! ЗАКЛЮЧЕНИЕ. Системное программное обеспечение
КУРСОВАЯ РАБОТА по дисциплине Системное программное обеспечение
на тему Органайзер-ежедневник
Пояснительная записка
Студент группы ВС2 – 08 …………………………………..Курков М. О. (Подпись, дата)
Руководитель канд. техн. наук, доцент ………………….. Тонкий Л. В. (Подпись, дата)
Рыбинск 2011 Содержание
ВВЕДЕНИЕ
На данный момент создано большое количество ПО, упрощающего работу человека с записями, заметками. Они представляют собой необходимый инструмент делового человека, но, зачастую, задачи, выполняемые ими носят сложный, комплексный характер. Целью разработки данной программы стала упрощение работы пользователя с заметками, которые необходимо всегда иметь под рукой. Аналогом анной программы является всем известный ежедневник. 1 АНАЛИЗ ТРЕБОВАНИЙ ТЕХНИЧЕСКОГО ЗАДАНИЯ
Реализация этой программы осуществляется в среде программирования Visual Studio 2010 на языке C#. При запуске программы перед пользователем появляется главное окно (форма) программы. Она включает календарь, в котором можно посмотреть расписание на любой день, набор кнопок, нажатие на которые приводит к появлению соответствующего дня недели (от понедельника до вторника). Главным является компонент ListBox, который собственно и отображает занятия, меню MainMenu, предназначенное для управления работой программы. Главное меню содержит набор функций для работы со списком: - Создание; - Загрузка списка; - Сохранение; - Завершение работы. Так же для удобства работы с заметками предусмотрено отображение текущего времени и даты, и текущий день недели. 2 РАЗРАБОТКА БЛОК-СХЕМ АЛГОРИТМОВ Основной алгоритм работы программы представлен следующей блок-схемой на рисунке Рисунок 2.1 – Блок-схема работы программы 3 РАЗРАБОТКА И ОПИСАНИЕ ПРОГРАММЫ
1) Получение системного времени и даты. Для этого используется тип данных DateTime и метод Now. Тип данных dateTimeFormats служит для удобного преобразования времени в строковый формат. Текущее время и дата отображаются над списком задач.
2) Разработка секции хранения событий. Разработана соответствующая структура xml для хранения всех заметок и заданий. Также их можно удобно редактировать кликнув по кнопке «Добавить/Изменить».
3) Разработка и реализация секундомера. Управление программой осуществляется из меню MainMenu. Возможны следующие операции: - Создание нового списка заметок; - Открытие окна настроек; - Открытия окна «О программе» - Завершение работы программы.
4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 4.1 НАЗНАЧЕНИЕ ПРОГРАММЫ - Программа нацелена на круг людей, день которых расписан поминутно и каждое событие имеет высокую степень значимости. - Интуитивно понятный, простой интерфейс, удобный ввод расписания - Напоминание о занятиях - Учитывать четные/нечетные учебные недели – IBM совместимый компьютер с микропроцессором Intel Pentium; – 10 Мб свободного пространства на HDD; – не менее 64 Мб оперативной памяти; – видеоадаптер SVGA; – программный продукт должен корректно выполняться в операционных системах Windows XP/Vista/7; – среда разработки – Visual Studio 2010.NET – средства управления: клавиатура, манипулятор типа «мышь». Программа представляет собой единый *.exe файл с названием «My Goals.exe». 4.3 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ При запуске программы появляется основное окно, рисунок 4.1. Рисунок 4.1 – Основное окно программы Слева находится календарь, справа от него кнопки выбора дня недели ПН…СБ. В верхней части программы отображается день недели, номер и четность/нечетность недели, дата и время. Справа находится ListBox, в котором отображаются текущие заметки и задания. В верхней части окна располагается меню и панель инструментов рисунок 4.2 Рисунок 4.2 – Панель инструментов Панель инструментов состоит из трех кнопок(создать новый файл с заметками, настройки и выход) которые дублируют пункты в главном меню. Это улучшает интерфейс программы, так как пользователю не придется использовать меню Форма управления расписанием(рисунок 4.3).
При клике на кнопку «Добавить/Изменить» появляется форма 4.3, где можно удобно ввести свое расписание. В форме присутствует три поля: 1. Наименование предмета 2. Тип: лекция/практика 3. На четной или нечетной неделе
5 ИСХОДНЫЙ КОД ПРОГРАММЫ
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml; using System.IO; using System.Globalization;
namespace WindowsFormsApplication1 { public partial class Form1: Form { public static string[] MON1 = new string[6]; //массивы строк для хранения public static string[] MON2 = new string[6]; //занятий на каждый день public static string[] MON3 = new string[6]; public static string[] MON4 = new string[6]; public static string[] MON5 = new string[6];
public static string[] THU1 = new string[6]; public static string[] THU2 = new string[6]; public static string[] THU3 = new string[6]; public static string[] THU4 = new string[6]; public static string[] THU5 = new string[6];
public static string[] WEN1 = new string[6]; public static string[] WEN2 = new string[6]; public static string[] WEN3 = new string[6]; public static string[] WEN4 = new string[6]; public static string[] WEN5 = new string[6];
public static string[] THUR1 = new string[6]; public static string[] THUR2 = new string[6]; public static string[] THUR3 = new string[6]; public static string[] THUR4 = new string[6]; public static string[] THUR5 = new string[6];
public static string[] FRI1 = new string[6]; public static string[] FRI2 = new string[6]; public static string[] FRI3 = new string[6]; public static string[] FRI4 = new string[6]; public static string[] FRI5 = new string[6];
public static string[] SAT1 = new string[6]; public static string[] SAT2 = new string[6]; public static string[] SAT3 = new string[6]; public static string[] SAT4 = new string[6]; public static string[] SAT5 = new string[6];
public static string ss = String.Empty; static public string peremen = String.Empty; public static DateTime CurrTime; //текущее время public static int nWeekNumber; public static int day; public static int week; public Form1() { InitializeComponent(); }
static void Read() { //Чтение настроек
if (! File.Exists(@" settings.xml")) { MessageBox.Show(" File 'Settings.xml' Not Found! ", " Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { XmlReader reader1 = XmlReader.Create(@" settings.xml"); if (! reader1.Read()) { MessageBox.Show(" Read Error", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { while (reader1.Read()) { if (reader1.Name == " WEEK") { week = Convert.ToInt32(reader1.ReadInnerXml());
} } } } if (! File.Exists(@" Week.xml")) { MessageBox.Show(" File Not Found! ", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { XmlReader reader = XmlReader.Create(@" Week.xml"); if (! reader.Read()) { MessageBox.Show(" Read Error", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { while (reader.Read()) { if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 1") { peremen = reader.ReadInnerXml(); MON1 = peremen.Split('? ');
} if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 2") { peremen = reader.ReadInnerXml(); MON2 = peremen.Split('? ');
} if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 3") { peremen = reader.ReadInnerXml(); MON3 = peremen.Split('? ');
} if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 4") { peremen = reader.ReadInnerXml(); MON4 = peremen.Split('? ');
} if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 5") { peremen = reader.ReadInnerXml(); MON5 = peremen.Split('? '); } //--------------------------------------------------------------------
if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 1") { peremen = reader.ReadInnerXml(); THU1 = peremen.Split('? ');
} if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 2") { peremen = reader.ReadInnerXml(); THU2 = peremen.Split('? ');
} if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 3") { peremen = reader.ReadInnerXml(); THU3 = peremen.Split('? ');
} if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 4") { peremen = reader.ReadInnerXml(); THU4 = peremen.Split('? ');
} if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 5") { peremen = reader.ReadInnerXml(); THU5 = peremen.Split('? '); }
if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 1") { peremen = reader.ReadInnerXml(); WEN1 = peremen.Split('? ');
} if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 2") { peremen = reader.ReadInnerXml(); WEN2 = peremen.Split('? ');
} if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 3") { peremen = reader.ReadInnerXml(); WEN3 = peremen.Split('? ');
} if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 4") { peremen = reader.ReadInnerXml(); WEN4 = peremen.Split('? ');
} if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 5") { peremen = reader.ReadInnerXml(); WEN5 = peremen.Split('? '); }
} reader.Close(); } }
private void button1_Click(object sender, EventArgs e) { Form F = new Form2(); F.Show(); }
public string dayofweek(int d, int m, int y) { int result = 0; int n = 0; string return_s = " "; if (m > 2) { m = m + 1; } else { m = m + 13; y = y - 1; } n = 36525 * y / 100 + 306 * m / 10 + d - 621050; result = n - n / 7 * 7 + 1;
switch (result) { case 1: return_s = " Понедельник"; break; case 2: return_s = " Вторник"; break; case 3: return_s = " Среда"; break; case 4: return_s = " Четверг"; break; case 5: return_s = " Пятница"; break; case 6: return_s = " Суббота"; break; case 7: return_s = " Воскресение"; break; } return return_s; } private int week_of_year() { DateTime dtNow = DateTime.Now; return 0; }
private void label1_Click(object sender, EventArgs e) { MessageBox.Show(DateTime.Now.DayOfWeek.ToString()); DateTime dtNow = DateTime.Now;
int nWeekNumber = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(dtNow, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday); label1.Text = nWeekNumber.ToString();
} private void Weeks() { Form F3 = new Form3();
}
private void Form1_Load(object sender, EventArgs e) { Read(); DateTime dtNow = DateTime.Now; switch (dtNow.DayOfWeek) {
case DayOfWeek.Monday: button2_Click(sender, e); MessageBox.Show(" MON"); break; case DayOfWeek.Tuesday: button3_Click(sender, e); break; case DayOfWeek.Wednesday: button4_Click(sender, e); break; case DayOfWeek.Thursday: button5_Click(sender, e); break; case DayOfWeek.Friday: button6_Click(sender, e); break; case DayOfWeek.Saturday: button7_Click(sender, e); break;
}
}
private void timer1_Tick(object sender, EventArgs e) { CurrTime = DateTime.Now; DateTimeFormatInfo dateTimeFormats; dateTimeFormats = new CultureInfo(" ru-RU").DateTimeFormat; string s; if (week % 2 == 0) s = " Четная"; else s = " Нечетная";
day = monthCalendar1.TodayDate.ToString()[0]; nWeekNumber = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(CurrTime, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday); label2.Text = CurrTime.ToString(" dddd")+" / " +week.ToString() + s + " неделя "; label3.Text = CurrTime.ToString(); }
private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i+1+". " +MON5[i]+" - " +MON1[i]);
} }
private void button3_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i + 1 + ". " + THU5[i] + " - " + THU1[i]);
} }
private void button4_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i + 1 + ". " + WEN5[i] + " - " + WEN1[i]);
} }
private void button5_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i + 1 + ". " + THUR5[i] + " - " + THUR1[i]);
} }
private void button6_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i + 1 + ". " + FRI5[i] + " - " + FRI1[i]);
} }
private void button7_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for (int i = 0; i < = 5; i++) { listBox1.Items.Add(i + 1 + ". " + SAT5[i] + " - " + SAT1[i]);
} }
private void toolStripButton2_Click(object sender, EventArgs e) { Form F3 = new Form3(); F3.Show(); }
private void quitToolStripMenuItem_Click(object sender, EventArgs e) { Close(); }
private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { Form F3 = new Form3(); F3.Show(); }
private void добавитьИзменитьToolStripMenuItem_Click(object sender, EventArgs e) { Form F2 = new Form2(); F2.Show(); } } }
ЗАКЛЮЧЕНИЕ В результате работы было создано удобное и практичное приложение «Органайзер-ежедневник». Были получены навыки работы с функциями в среде проектирования Visual Studio 2010 вместе с.NET 4.0. Были выполнены все функциональные требования и требования по надежности изложенные в техническом задании.
|