Основы работы в С++
Краткое сожержание материала:
Размещено на
Размещено на
Лабораторная работа №1
Тема: Создание классов и объект. Основные приемы работы с классами и объектами.
Задача 1
Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы. Написать программу, демонстрирующую работу с этим классом. Класс соответствует индивидуальному варианту.
1. Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Средний балл, Факультет, Курс. Определить является ли студент «двоечником», «троечником», «хорошистом», «отличником».
#include<iostream>
using namespace std;
class student {
char fam[10];
char im[10];
char otch[10];
char datarog[10];
char adress[10];
double ball;
char fak[10];
char kurs[10];
public:
void set (char fam[10], char im[10], char otch[10], char datarog[10], char adress[10], double ball, char fak[10], char kurs[10])
{
strcpy (this->fam, fam);
strcpy (this->im, im);
strcpy (this->otch, otch);
strcpy (this->datarog, datarog);
strcpy (this->adress, adress);
this->ball=ball;
strcpy (this->fak, fak);
strcpy (this->kurs, kurs);
}
int get_rec (char f[10], char i[10], char o[10], char d[10], char ad[10], double & ba,
char faki[10], char ku[10])
{strcpy (f, fam);
strcpy (i, im);
strcpy (o, otch);
strcpy (d, datarog);
strcpy (ad, adress);
ba=ball;
strcpy (faki, fak);
strcpy (ku, kurs);
}
void show()
{cout<< «informziyu»<<endl;
cout<<fam;
cout<<im<<endl;
cout<<otch<<endl;
cout<<datarog<<endl;
cout<<adress<<endl;
cout<<ball<<endl;
cout<<fak<<endl;
cout<<kurs<<endl;}
void red (double ball) {if ((ball>0)||(ball<3)) cout<< «dvoichick»<<endl;}
void red1 (double ball) {if ((ball>4)||(ball<=5)) {cout<< «horoshist»<<endl;}
else {cout<< «troeishnik»<<endl;}}
void red3 (double ball) {if (ball==5) cout<< «otlichnik»<<endl;}
};
int main() {
student wee;
char a[10];
char b[10];
char c[10];
char d[10];
char q[10];
double w;
char e[10];
char t[10];
cout<< «vvedite dannie»;
cout<< "_____"<<endl;
cout<< «familiya»<<endl;
cin>>a;
cout<< «imya»<<endl;
cin>>b;
cout<< «otchestvo»<<endl;
cin>>c;
cout<< «datarog»<<endl;
cin>>d;
cout<< «adress»<<endl;
cin>>q;
cout<< «ball»<<endl;
cin>>w;
cout<< «fak»<<endl;
cin>>e;
cout<< «kurs»<<endl;
cin>>t;
wee.set (a, b, c, d, q, w, e, t);
wee.red(w);
wee.red1 (w);
wee.red3 (w);
wee.show();
return 0;
}
Задание 2
1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию, конструктор инициализации и конструктор преобразования.
2. Определить функции-члены класса для ввода и вывода членов-данных внутри объявления класса.
3. Составить программу, которая определяет четыре объекта класса и выводит их на экран. Первый объект должен инициализироваться по умолчанию, второй использовать конструктор инициализации, третий - преобразование типа своего параметра к типу своего класса, а четвертый - функцию ввода данных.
4. Выполнить программу и проверить соответствие заданных и полученных данных. 5. Определить функции ввода и вывода вне объявления класса и повторить выполнение программы.
6. Объявить функции ввода и вывода как «друзей» класса с параметром - объектом класса, передаваемым по значению. Изменить определение этих функций и повторить выполнение программы.
7. Объявить функции ввода и вывода как «друзей» класса с параметром - объектом класса, передаваемым по ссылке. Изменить определение этих функций и повторить выполнение программы.
#include<iostream>
using namespace std;
class comchislo
{
double x;
double y;
public:
comchislo (double x, double y)
{
this->x=x;
this->y=y;
}
void set (double x, double y)
{
this->x=x;
this->y=y;
}
void get_1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
void show()
{
cout<< «z=»<<x<< "+i*"<<y<<endl;
}
void set_s1 (double x, double y);
void get_s1 (double &x, double &y);
friend void vivod (comchislo o);
};
void comchislo:set_s1 (double x, double y)
{
this->x=x;
this->y=y;
}
void comchislo:get_s1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
void vivod (double x, double y)
{
cout<< «z=»<<x<< "+i*"<<y<<endl;
}
int main()
{
double x, y;
comchislo o (0,0);
o.show();
cout<< «Vvedite mnimoe i realnoe chislo»<<endl;
cin>>x>>y;
o.set (x, y);
o.show();
o.set_s1 (x, y);
vivod (x, y);
return 0;}
Анология
#include<iostream>
using namespace std;
class comchislo
{
double x;
double y;
public:
comchislo (double x, double y)
{
this->x=x;
this->y=y;
}
void set (double x, double y)
{
this->x=x;
this->y=y;
}
void get_1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
double tim (double x, double y) {
return (x+y)/2-45;}
void show()
{
cout<< «z=»<<x<< "+i*"<<y<<endl;
}
};
int main()
{
double k, z, p, p1;
double x, y;
comchislo o (0,0);
o.show();
cout<< «Vvedite mnimoe i realnoe chislo»<<endl;
cin>>x>>y>>k>>z;
o.set (x, y);
p=o.tim (x, y) - o.tim (x, k)+2*o.tim (z, y);
cout<<p;
p1=o.tim (k, z) - o.tim (k, y)+o.tim (y, y) - o.tim (x, x);
cout<<p1;
x=p;
y=p1;
o.show();
return 0;
}}
Контрольные вопросы
1) Что представляет собой класс?
Класс является описываемой на языке терм...
Химические основы работы двигателя
Рассмотрены основы работы двигателей внутреннего сгорания...
Основы профориентационной работы в школе
Психологические основы профориентационной работы в школе. Профориентация. Её содержание и формы. Функции и характеристики профориентации. Процедура пр...
Правовые основы работы с молодежью
Анализируются теоретико-правовые основы работы с молодежью в современной России. Рассматривается реализация полномочий органов государственной власти...
Основы социальной работы
Виды социальных услуг, основания их предоставления в Беларуси. Исторические этапы становления социальной работы. Основные глобальные проблемы в мире....
Основы работы в сети Internet. Учебное пособие
Описаны особенности работы с персональным компьютером и основы работы в сети INTERNET, порядок и виды подключения пользователей сети, программные сред...