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