Классы, их инициализация с помощью конструктора и инициализатора, перегрузка, страница 5

                        fmenu.getline(record[i-min],80,'\n');

            }

            while (fmenu.peek()!=EOF)

            {          char* buffer=new char [80];

                        fmenu.getline(buffer,80,'\n');

                        cout<<buffer<<endl;

            }

            for (i=min; i<max+1; i++)

            {

                        cout.width(4);

                        cout.setf(ios::right,ios::adjustfield);

                        cout<<i;

                        cout<<" - "<<record[i-min]<<endl;

            }

            free (record);

            do

            {

                        cout<<"\nMake your choice: ";

                        cin>>choose;

                        cout<<"\n";

            }

            while ((choose>max)||(choose<min));

            return choose;

}

4.2.3.  student.h

#include <string.h>

#include <stdlib.h>

#include <iostream.h>

#include <stdio.h>

#include <fstream.h>

#include "student_addon_functions.h"

#include "student_discription.h"

#include "student_new_info.h"

#include "student_constructor.h"

#include "student_calculations.h"

#include "student_list.h"

#include "student_operators.h"

4.2.4.  student_addon_functions.h

template <class type>

int size_info(type* ptr)

{         

            int c=0;

            int i=0;

            if (ptr==NULL) return 0;

            if (sizeof(type)==1) c=(int)'\0';

            while ((int)(ptr[i])!=c) i++;

            return i;

}

4.2.5.  student_calculations.h

double student::middle()

{          int k,i;

            double mid=0;

            if (this->marks==NULL) return 0;

            if (this->marks[0]==0) return 0;