Контроль успеваемости студентов (рейтинговая система)
МИНСКИЙ ИНСТИТУТ
УПРАВЛЕНИЯ
Факультет
учетно-финансовый
Кафедра
АИС ______________________
«
»
2011 г.
КУРСОВАЯ РАБОТА
по дисциплине
«Объектно-ориентированное программирование»
на тему «Контроль успеваемости студентов
(рейтинговая система)»
Выполнил студент гр. 91203з Асанович Александр Сергеевич
специальность
ИСиТ (управленческая деятельность)
Руководитель
_________________________ Демидович Е. М.
МИНСК 2011
РЕФЕРАТ
курсовой работы
«Контроль успеваемости студентов
(рейтинговая система)»
Объём работы 22 страницы, 10 рисунков.
В курсовой работе описан процесс работы классов и функций, которые реализуют следующие задачи:
- Открытие данных из файла
- Сохранение данных в файл
- Добавление в базу
- Удаление из базы
- Поиск данных
- Сортировка данных
- Замена данных
- Вывод данных
МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ
Факультет Учетно-финансовый
Специальность Информационные системы и технологии (управленческая деятельность)
Зав. кафедрой
ЗАДАНИЕ
на курсовую
работу
по дисциплине “Объектно-ориентированное программирование”
студенту Асанович Александр Сергеевич, группа № 91203з
1. Тема:” Контроль успеваемости студентов (рейтинговая система). ”.
2. Срок сдачи
студентом законченной
3. Исходные данные: используя базовый класс создать производный класс, в котором реализовать перегрузку операторов, создать меню, используя которое выполнять соответствующие операции, результаты записать в файл, имя файла ввести.
4. Перечень подлежащих
разработке вопросов и
| № п/п | Наименование вопросов курсовой работы | Срок исполнения |
| 1 | Ознакомление с литературой | 15.03.11 |
| 2 | Системное проектирование | 31.03.11 |
| 3 | Разработка структуры приложения | 10.04.11 |
| 4 | Разработка базы данных | 20.04.11 |
| 5 | Функциональное проектирование | 30.04.11 |
| 6 | Разработка классов | 10.05.11 |
| 7 | Разработка методов | 20.05.11 |
| 8 | Тестирование приложения | 31.05.11 |
| 9 | Оформление курсовой работы | 20.06.11 |
Приложение:
диаграммы вариантов использования;
диаграмма классов;
диаграмма пакетов;
диаграммы объектов;
диаграмма последовательности;
диаграмма состояний;
диаграмма
деятельности.
Руководитель
______________________________
Задание
принял к исполнению__________________
Содержание
ПОСТАНОВКА ЗАДАЧИ
Необходимо
разработать программное
В приложении должны быть реализованы следующие модули:
- Открытие базы из файла
- Сохранение базы в файл
- Добавление данных в базу.
- Вывод данных из базы на монитор для просмотра.
- Поиск элемента.
- Замена данных.
- Модуль удаления данных из базы.
Также должен быть предусмотрен вывод сообщений об ошибках, в случае введения неверных команд или данных.
ВВЕДЕНИЕ
Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений и, в частности, баз знаний.
C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft.NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
C#
относится к семье языков с
C-подобным синтаксисом, из
Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).
1. Системное проектирование
- Разработка спецификаций функций
Для решения поставленных задач необходимо разработать следующие функции:
void save() - функция сохранения в файл
void load() - функция загрузки из файла
void add() - функция добавления данных
void showall() - функция вывода базы на экран
void sort_mid() - функция сортировки по среднему баллу
void del() - функция удаления из базы
void find() - функция поиска студента по фамилии
void replace() - функция
замены данных
Так как разрабатываемая программа состоит из подпрограмм, то реализация вышеописанных функций на языке С# представлена в Приложении.
2 ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ
2.1. Разработка обобщенного алгоритма функционирования приложения
Разработаем обобщенный алгоритм функционирования приложения.
Рис. 1 Блок-схема обобщенного алгоритма функционирования приложения
2.2. Разработка структуры приложения и структуры данных
Приложение будет иметь меню, через которое можно будет обращаться к реализуемым функциям.
Структура меню имеет следующий вид:
Рис.
2 Cхема меню
Для работы программы необходимо задать структуры данных, описанные конструкциями языка С#, необходимые для корректного функционирования приложения.
Создаем базовый класс Raiting, в нем содержится информация о фамилии студента, его оценки по физике, математике, химии и информатике.
class Raiting
{
public:
string name; //фамилия студента
double mid; //средний балл
int phys; //оценка по физике
int math; //оценка по математике
int chem; //оценка по химии
int inf; //оценка по информатике
2.3. Разработка программного кода приложения
C#
- универсальный язык программирования,
задуманный так, чтобы сделать программирование
более приятным для серьезного программиста.
За исключением второстепенных деталей
C# является надмножеством языка программирования
C. Помимо возможностей, которые дает C,
C#+ предоставляет гибкие и эффективные
средства определения новых типов. Используя
определения новых типов, точно отвечающих
концепциям приложения, программист может
разделять разрабатываемую программу
на легко поддающиеся контролю части.
Такой метод построения программ часто
называют абстракцией данных. Информация
о типах содержится в некоторых объектах
типов, определенных пользователем. Такие
объекты просты и надежны в использовании
в тех ситуациях, когда их тип нельзя установить
на стадии компиляции. Программирование
с применением таких объектов часто называют
объектно-ориентированным. При правильном
использовании этот метод дает более короткие,
проще понимаемые и легче контролируемые
программы. Ключевым понятием C# является
класс. Класс - это тип, определяемый пользователем.
Классы обеспечивают скрытие данных, гарантированную
инициализацию данных, неявное преобразование
типов для типов, определенных пользователем,
динамическое задание типа, контролируемое
пользователем управление памятью и механизмы
перегрузки операций. C# предоставляет
гораздо лучшие, чем в C, средства выражения
модульности программы и проверки типов.
В языке есть также усовершенствования,
не связанные непосредственно с классами,
включающие в себя символические константы,
перегруженные имена функций, операции
управления свободной памятью и ссылочный
тип. В C# сохранены возможности языка C
по работе с основными объектами аппаратного
обеспечения (биты, байты, слова, адреса
и т.п.). Это позволяет весьма эффективно
реализовывать типы, определяемые пользователем.
C++ и его стандартные библиотеки спроектированы
так, чтобы обеспечивать переносимость.
Имеющаяся на текущий момент реализация
языка будет идти в большинстве систем,
поддерживающих C.
Листинг
программы представлен в
2.4. Результаты тестирования приложения, используемые тесты.
Протестировать функционирование всего приложения по пунктам меню.
При запуске приложения появляется главное меню. (Рис 3)
Рис 3 Запуск
приложения.
При нажатии клавиши “1” попадаем в меню открытия данных из файла (Рис 4), где нам предлагают ввести имя открываемого файла.
Рис
4 Открытие файла.
Так же в программе предусмотрено сохранение содержимого базы в файл (Рис 5).
Рис 5 Сохранение
в файл.
При нажатии клавиши 3 в меню приложения попадаем в секцию для добавления новых данных: фамилии студента и его оценок (Рис 6).
.
Рис 6 Ввод
данных.
В программе предусмотрен и вывод всей базы на экран монитора (Рис 7)
Рис
7 Вывод данных.
Так же предусмотрена сортировка данных (кнопка 5). Результаты сортировки представлены на рисунке 8.
Рис 8 Результат
сортировки.
При нажатии клавиши 6 можно произвести поиск студента по его фамилии (Рис 9). Результаты поиска выводятся в виде таблицы (Рис 10).
Рис 9 Ввод
фамилии для поиска.
Рис 10 Результаты поиска.
2.5. Описание приложения, инструкция по его использованию
Программа
предназначена для ведения упрощенной
автоматизации учета товаров, находящихся
на складе. Подробное описание работы
с программой приведено в п.2.4. Для функционирования
программы необходим персональный компьютер
любой конфигурации. Программа может
работать в операционных системах MS DOS,
Windows 3.1./95/98/Me/NT/2000/XP/
Минимальный размер места на винчестере для корректной работы с программой ~ 200Кб.
Заключение.
В данном проекте разработана программа по автоматизации учёта успеваемости студентов.
В программе были выполнены следующие функции:
- Открытие данных из файла
- Сохранение данных в файл
- Добавление в базу
- Удаление из базы
- Поиск данных
- Сортировка данных
- Замена данных
- Вывод данных
Пояснительная
записка оформлена при помощи
MS Word 2010.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Демидович Е.М. Основы алгоритмизации и программирования. Язык СИ.: Пособие для студентов БГУИР. – Мн.: Бестпринт, 2001. – 440 с.
- Керниган Б., Ритчи Д. Язык программирования Си. - М.: Финансы и статистика, 1998.
- Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. 2-е доп. изд. - М.: Финансы и статистика, 1999.
- Подбельский В.В. Язык С++. - М.: Финансы и статистика, 2000. – 560 с.
- Шилдт Г. Самоучитель С++. – СПб.: BHV–Санкт-Петербург, 1998. – 688 с.
- Страуструп Б. Язык программирования С++. – М.:СПб.: «Издательство БИНОМ» - «Невский диалект», 2001 г.
- Х.Дейтел, П.Дейтел. Как прграммировать на С++: Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2001 г.
- Архангельский А.Я. Программирование в C++Builder 4. - М.: ЗАО Издательство БИНОМ", 1999.
ПРИЛОЖЕНИЕ
Листинг программы :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using
System.Runtime.Serialization.
namespace ConsoleApplication1
{
[Serializable]
class Raiting
{
string name; double mid; int phys, math, chem, inf;
public string Name { set { name = value; } get { return name; } }
public double Mid { set { mid = value; } get { return mid; } }
public int Phys { set { phys = value; } get { return phys; } }
public int Math { set { math = value; } get { return math; } }
public int Chem { set { chem = value; } get { return chem; } }
public int Inf { set { inf = value; } get { return inf; } }
}
class Rait
{
//----------------------------
public static void add(ref int n, Raiting[] obj)
{
obj[n] = new Raiting();
Console.WriteLine("\n Введите фамилию");
obj[n].Name = Console.ReadLine();
Console.WriteLine("\n Введите оценку по физике");
obj[n].Phys = Convert.ToInt32(Console.
Console.WriteLine("\n Введите оценку по математике");
obj[n].Math = Convert.ToInt32(Console.
Console.WriteLine("\n Введите оценку по химии");
obj[n].Chem = Convert.ToInt32(Console.
Console.WriteLine("\n Введите оценку по информатике");
obj[n].Inf = Convert.ToInt32(Console.
obj[n].Mid = (obj[n].Phys + obj[n].Math + obj[n].Chem + obj[n].Inf) / 4.0;
n++;
Console.WriteLine("\n\n Запись успешно добавлена!");
Console.WriteLine(" Нажмите любую клавишу для продолжения...");
Console.ReadKey(true);
System.Console.Clear();
}
//----------------------------
public static void showall(int n, Raiting[] obj)
{
int len; string spc = "";
Console.WriteLine(" ______________________________
Console.WriteLine(" Фамилия Оценка по Оценка по Оценка по Оценка по Средний");
Console.WriteLine(" студента физике математике химии информатике балл");
Console.WriteLine(" ______________________________
for (int i = 0; i < n; i++)
{
len = obj[i].Name.Length;
len = 13 - len;
spc = "";
for (int j = 0; j < len; j++)
{
spc = spc + " ";

- Контроль учета основных средств в банке
- Контроль учёта расчётов по налогам
- Контроль финансовых результатов
- Контроль хода реализации проекта
- Контроль хозяйственных операций по учету денежных средств на валютных счетах в банке
- Контроль хозяйственных операций по учету затрат и жестикулирования себестоимости продукции вспомогательного производства
- Контроль хозяйственных операций по учету реализации продукции
- Контроль технического состояния обсадной колонны методом электромагнитной дефектоскопии
- Контроль технической подготовленности футболистов
- Контроль технологии производства творога
- Контроль управления Федерального казначейства РФ за исполнением бюджета структурных подразделений МВД России
- Контроль управления Федерального казначейства РФ за исполнением бюджета структурных подразделений МВД России
- Контроль управления Федерального казначейства РФ за исполнением бюджета структурных подразделений МВД России
- Контроль уровня качества мебели