Автор работы: Пользователь скрыл имя, 03 Сентября 2011 в 13:28, реферат
Самостоятельная работа по философии,где приведены анализ использованной литературы,анализ высказываний преподавателя, а также выражение собственного мнения по теме
Оглавление 2
Задание на курсовую работу 3
Введение 4
1. Постановка задачи 5
2. Анализ задания 6
2.1. Методы решения 6
2.2. Подробный анализ выбранного метода решения 7
3. Описание классов и структур 8
4. Основные алгоритмы методов класса LIST 9
4.1. Чтение данных 9
4.2. Добавление записи 10
4.3. Удаление записи 10
4.4. Сохранение изменений 11
5. Результат работы программы 12
Список использованной литературы 15
Приложение 16
faculty.h: 16
abiturient.h 16
list.h 17
proc.cpp 17
menu.cpp 21
main.cpp 22
5.
Результат работы программы
При
запуске программы появляется меню
со следующим списком действий:
I N F O R M A T I O N S E A R C H S Y S T E M
A B I T U R I E N T
- MENU ------------------------------
F1 - About
L - Print list
A - Add record to list
C - Change record
D - Delete record of list
R - Restore deleted record
S - Save list
ESC - Exit
------------------------------
Вывод списка абитуриентов(L):
- LIST ------------------------------
- 1 ------------------------------
FIO: Kuznetsov Alexey Petrovich
DR: 2.6.1991
Passport: 9704 352216
Balls: 81 77 75 0 0
Faculty: IVT
Speciality: Speciality
- 2 ------------------------------
FIO: Averkiev Aleksandr Vitalievich
DR: 17.7.1991
Passport: 9704 332211
Balls: 80 80 80 0 0
Faculty: IVT
Speciality: PO
------------------------------
Добавление
нового абитуриента(A):
- NEW RECORD ------------------------------
- SOURNAME : Petrov
- NAME : Aleksandr
- FATHERNAME : Alekseevich
- BIRTH DAY : 12
- BIRTH MONTH : 2
- BIRTH YEAR : 1989
- PASPORT S : 1212
- PASPORT N : 121212
- BALLS :
Ball[1]: 67
Ball[2]: 83
Ball[3]: 88
Ball[4]: 0
Ball[5]: 0
- FACULTY : IVT
- SPECIALITY : PO
- SUM BALLS : 217
The record 6 added...
------------------------------
Изменение записи:
- CHANGE RECORD ------------------------------
- ENTER NUMBER:
6
- CHANGE RECORD 6 ------------------------------
- SOURNAME (Petrov): Petrov
- NAME (Aleksandr): Aleksey
- FATHERNAME (Alekseevich): Petrovich
- BIRTH DAY (12): 12
- BIRTH MONTH(2): 2
- BIRTH YEAR (1989): 198
- PASPORT S (1212121212): 1212
- PASPORT N (): 121212
- BALLS :
Ball[1] (67): 12
Ball[2] (83): 12
Ball[3] (88): 12
Ball[4] (0): 12
Ball[5] (0): 12
- FACULTY (IVT): 12
- SPECIALITY (PO): 12
- SUM BALLS (217): 12
The record 6 changed...
------------------------------
Вывод
Мною решена задача проектирования и написания программы система «Абитуриент» с применением основных принципов объектно-ориентированного программирования.
В этой задаче очень много данных и деталей, которые сложно удержать в голове, поэтому возникла необходимость обратиться к методам повышения абстракции с целью упростить структуру данных, что позволило управлять большим объемом информации.
Благодаря тому, что
программа системы
Плохо спроектированная иерархия классов приводит к созданию сложных и запутанных программ. Важно до начала проектирования правильно определить, требуется ли вообще применить объектно-ориентированный подход. Применение к этой задаче объектно-ориентированного подхода, по моему мнению, добавила к положительным качествам программы такие пункты, как эффективность, компактность и надежность. Также программа стала хорошо читаемой и легко модифицируемой.
Список
использованной литературы
Вильямс,
2005.
Приложение
faculty.h:
class Faculty
{
public:
char nameFaculty[15];
public:
void SetParam(char *name);
void Print()
{
printf("\tFaculty:
};
};
class Speciality: public Faculty
{
public:
char nameSpeciality[15];
int sumBalls;
public:
void SetParam(char *nameF, char *nameS, int sumBalls);
void Print()
{
Faculty::Print();
printf("\
};
void PrintBalls()
{
printf("\t%d",
}
};
abiturient.h
#include "faculty.h"
struct sfio
{
char surname[15];
char name[15];
char father[15];
};
struct sdr
{
int day;
int month;
int year;
};
struct Abiturient
{
public:
bool deleted;
Speciality speciality;
sfio fio;
sdr dr;
int balls[5];
char pasport_s[4];
char pasport_n[6];
public:
const Abiturient& operator = (const Abiturient &abit)
{
if (&abit == this) return *this;
for(int i=0; i<5; i++) this->balls[i]=abit.balls[i];
this->
(char *)abit.speciality.
abit.
strcpy(this-
strcpy(this-
strcpy(this-
this->dr.
this->dr.
this->dr.
strcpy(this-
strcpy(this-
return *this;
};
void Print()
{
printf("\
printf("\
printf("\
for(int i=0;i<4; i++) printf("%c",pasport_s[i]);
printf(" %s\n",pasport_n);
printf("\
for(int i=0; i<5; i++)
printf
printf("\n")
speciality.
};
};
list.h
#include "abiturient.h"