Автор работы: Пользователь скрыл имя, 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
class List
{
private:
int count;
Abiturient list[10];
public:
List()
{
count=0;
for(int i=0;i<10; i++) list[i].deleted=false;
};
void ReadData(char *name);
void SaveData(char *name);
void PrintList(void);
void AddRecord();
void DelRecord();
void ChangeRecord();
void RestoreRecord();
};
proc.cpp
#include <iostream>
#include <string>
#include <stdlib.h>
#include <conio.h>
#include "list.h"
void Faculty::SetParam(char *name)
{
strcpy(nameFaculty,name)
};
void Speciality::SetParam(char *nameF,char *nameS,int sumBalls)
{
Faculty::SetParam(nameF)
strcpy(nameSpeciality,
this->sumBalls=sumBalls;
}
void List::ReadData(char *name)
{
const int dl=125;
char s[dl];
int i=0,sumBalls;
char faculty[15];
char speciality[15];
FILE *_f;
_f = fopen(name,"r");
while (fgets(s,dl,_f))
{
int pos=0;
int j=0;
while(s[pos+j]!=' ')
{list[count]
list[count].fio.
pos+=sizeof(list[
while(s[pos+j]!=' ')
{list[count]
list[count].fio.
pos+=sizeof(list[
while(s[pos+j]!=' ')
{list[count]
list[count].fio.
pos+=sizeof(list[
list[count].dr.day = atoi(&s[pos]);
pos+=3;
list[count].dr.
pos+=3;
list[count].dr.
pos+=5;
for(j=0;j<4;j++)
list[count].
list[count].
pos+=5;
for(j=0;j<6;j++)
list[count].pasport_n[j]=s[
list[count].
pos+=7;
for(int k=0; k<sizeof(list[count].balls)/4; k++)
list[count].
pos+=15;
for(j=0;j<sizeof(
faculty[j]=
j--;
while (faculty[j]==' ')
j--;
j++;
faculty[j]='\0';
pos+=sizeof(
for(j=0;j<sizeof(
speciality[
j--;
while (speciality[j]==' ')
j--;
j++;
speciality[j]='\0'
pos+=sizeof(
sumBalls=atoi(&s[
pos+=1;
this->list[count].
count++;
}
count--;
fclose(_f);
}
void List::AddRecord()
{
Abiturient abit;
printf("- NEW RECORD ------------------------------
printf("\n -
SOURNAME : ");scanf("%s",abit.fio.
printf(" - NAME : ");scanf("%s",abit.fio.name);
printf(" - FATHERNAME
: ");scanf("%s",abit.fio.father)
printf(" - BIRTH DAY : ");std::cin>>abit.dr.day;
printf(" - BIRTH MONTH: ");std::cin>>abit.dr.month;
printf(" - BIRTH YEAR : ");std::cin>>abit.dr.year;
printf(" - PASPORT S : ");scanf("%s",abit.pasport_s);
printf(" - PASPORT N : ");scanf("%s",abit.pasport_n);
printf(" - BALLS : \n");
for(int i=0; i<5; i++)
{
printf("\tBall[%d]
std::cin>>abit.
};
printf(" - FACULTY
: ");scanf("%s",abit.speciality.
printf(" - SPECIALITY
: ");scanf("%s",abit.speciality.
printf(" - SUM
BALLS : ");std::cin>>abit.speciality.
count++;
this->list[count]=abit;
printf("\tThe record %d added...\n",count+1);
printf("----------------
};
void List::PrintList()
{
printf("- LIST ------------------------------
int i=0;
while(i<count+1)
{
if (!list[i].deleted)
{
printf("
- %d ------------------------------
list[i].
i++;
}
else
i++;
};
printf("----------------
};
void List::DelRecord()
{
this->PrintList();
int number;
printf("\n- DELETE RECORD
------------------------------
printf(" - ENTER NUMBER: ");std::cin>>number;
list[number-1].deleted = true;
printf("\tThe record %d deleted...\n",count+1);
printf("\tPress L for print the new list...\n");
printf("----------------
};
void List::ChangeRecord()
{
this->PrintList();
int number;
printf("\n- CHANGE RECORD
------------------------------