Программирование на C / C++ / Лабораторные работы [18 вариант, 2 семестр] / Лабораторка № 5_2
.docУфимский государственный авиационный технический университет
Кафедра АПрИС.
Отчёт по лабораторной работе № 5
по программированию
«Классы».
Выполнил: студент группы САПР -130 Манаев Р. Н.
Проверила: старший преподаватель кафедры АПрИС Бежаева О. Я.
УФА 2007.
Цель работы: Научиться составлять программы, используя классы.
Вариант № 18.
Постановка задачи:
Произвести чтение данных из массива записей, содержащего сведения о датах рождения студентов группы. Каждая запись содержит фамилию и дату рождения(число, месяц, год) Отсортировать данные.
-
Блок схем.
нет
да
нет
да
нет
нет
да да
-
Листинг программы.
#include<iostream.h>
#include<string.h>
#include<conio.h>
#include <fstream.h>
#define fname "D:\\Руслан\\Проги\\Лаба 4\\f.txt"
#define n 4
class student
{
public:
char surname[10];
int day;
int month;
int year;
};
void main()
{
student s[n],a;
ifstream in(fname);
int i,g;
cout.setf(ios::left);
cout<<"\nIshodniye danniye:\n";
cout<<"\nSurname Day Month Year\n";
for (i=0;i<n;i++)
{
in>>s[i].surname;
in>>s[i].day;
in>>s[i].month;
in>>s[i].year;
cout.width(10); cout<<s[i].surname;
cout.width(5); cout<<s[i].day;
cout.width(6); cout<<s[i].month;
cout.width(6); cout<<s[i].year;
cout<<endl;
}
cout<<"\n";
in.close();
cout<<"Otsortirovannuye danniye:\n\nSurname Day Month Year \n";
for (i=0;i<n;i++)
{
for (j=i+1;j<=n-1;j++)
{
if (strcmp(s[i].surname,s[j].surname)>=0)
{
a =s[i];
s[i] = s[j];
s[j] = a;
}
}
}
for (i=0;i<n;i++)
{
cout.setf(ios::left);
cout.width(10); cout << s[i].surname;
cout.width(5); cout << s[i].day;
cout.width(6); cout << s[i].month;
cout.width(6); cout << s[i].year;
cout << endl;
}
getch();
}
-
Вводимые данные.
-
Тестирование программы.
Вывод:
Выполнив лабораторную работу, мы научились составлять программы, используя файлы.