Санкт-Петербургский государственный университет
Аэрокосмического приборостроения
Кафедра №41
Работу проверил
преподователь: Козенко С.Л.
Отчет :
О лабораторных работах
По курсу “Лингвистическое и программное обеспечение САПР”
САПР230104.11
Работу выполнил
студент гр1617 Семенов С.В.
Санкт Петербург
2008
Работа №1:Ввести исходный список людей, отобрать иногородних женщин. Упорядочить их по убыванию суммы баллов.
Программа:
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <string.h>
class date
{
public:
int year, month, day;
} ;
class students
{
public:
char name[20], gender, finish,from;
date born;
int marks[4];
int summ_marks;
} ;
void print_spisok( students mstud[], int new_number_of_students);
void main()
{
int i, j, number_of_students, new_number_of_students;
students std[20], mstud[20], st;
clrscr();
cout<< "Enter number of students in group: ";
cin>> number_of_students ;
for( i= 0; i < number_of_students; i++ )
{ for(j=0;j<20;j++)
std[i].name[j]=' ';
cout<< "Name: ";
cin>> std[i].name;
cout<< "Gender: " ;
cin>> std[i].gender ;
cout<< "Finish: ";
cin>>std[i].finish;
cout<< "From: " ;
cin>>std[i].from ;
cout<< "Birth date (dd mm yyyy): " <<endl;
cout<<" day ";
cin>>std[i].born.day;
cout<< " month ";
cin>> std[i].born.month;
cout<<" year ";
cin>>std[i].born.year;
std[i].summ_marks=0;
cout<< "Enter marks (4 integers from 3 to 5): " ;
for( j= 0; j < 4; j++ )
{ cin>> std[i].marks[j];
std[i].summ_marks += std[i].marks[j];
}
}
cout<< " v#vodim spisok:"<<endl;
print_spisok( std, number_of_students);
new_number_of_students=0;
for( i= 0; i < number_of_students; i++ )
{
if((std[i].gender=='f') && (std[i].from=='i'))
{
mstud[new_number_of_students]=std[i];
new_number_of_students++;
}
}
cout<< " otobrannbIi spisok:"<<endl;
print_spisok( mstud, new_number_of_students);
for(i=0; i < new_number_of_students-1; i++ )
{
for(j=i+1; j<new_number_of_students;j++)
{ if(mstud[j].summ_marks<mstud[j].summ_marks);
{ st=mstud[i];
mstud[i]=mstud[j];
mstud[j]=st;
}
{
}
cout<< " otsortirovann#i spisok:"<<endl;
print_spisok( mstud, new_number_of_students);
getch();
return;
}
}
}
void print_spisok( students mstud[], int new_number_of_students)
{
if (new_number_of_students!=0)
{ cout<<"| Name |gender|finish|from|born(dd mm yyyy)|marks( 1 2 3 4 )|"<<endl;
cout<<"|____________________|______|______|_____|_______________|________________|"<<endl;
for(int i=0; i<new_number_of_students;i++)
{ cout<<"|"
<<setw(15)<< mstud[i].name
<<setw(6)<<"|"<<mstud[i].gender <<setw(6)<<"|"<< mstud[i].finish <<setw(6)<<"|"<< mstud[i].from <<setw(5)<<"|"<< mstud[i].born.day<<setw(2)<<" "<<mstud[i].born.month <<setw(2)<<" "<<mstud[i].born.year <<setw(4)<<"|"<<mstud[i].marks[0] <<setw(2)<<" "<<mstud[i].marks[1] <<setw(2)<<" "<<mstud[i].marks[2] <<setw(2)<<" "<<mstud[i].marks[3]<<setw(7)<<"|"<<endl;
}
}
else{
cout<<"\n spisok pyst :"<<endl;
getch();
}
}
Задание№2:Ввести в предыдущей программе класс функций, конструктор, деструктор и перегрузку функций.
Программа:
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <string.h>
class date
{
public:
int year, month, day;
} ;
class students
{
public:
int idx;
char name[20], gender, finish,from;
date born;
int marks[4];
students(){cout << "Constructor"<< endl;};
~students();
void
int summ_marks;
} ;
class Func
{
public:
void vivod (students mstud[], int new_number_of_students);
void s (students std[], students mstud[], int number_of_students, int *new_number_of_students);
void s (students mstud[], int new_number_of_students);
}fun;
void main()
{ clrscr();
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.