Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include "StdAfx.h"
#include <iostream>
#include <windows.h>
#include <string.h>
using namespace std;
class Record
{
public:
float Stoi(); // количество секунд
int GetVes();
float GetStoi();
void Init(int m,float s); // задание начальных значений полей
private:
int ves;
float sto;
};
int Record::GetVes(){
return ves;
}
float Record::GetStoi(){
return sto;
}
void Record::Init(int v,float s)
{
ves=v;
sto=s;
}
float Record::Stoi()
{
return (ves*sto);
}
class Mebel
{
public:
char* GetName(); // возвращает строку-фамилию
void PutName(char *s); // задание фамилии
Record Best(); // выбрать из двух результатов лучший и вернуть
void Init( char *f,int v1,float s1,int v2,float s2,int v3,float s3); // задание фамилии и значений min,sec обеим результатам
private:
char Name[30]; // фамилия
Record FirstRezult; // первый результат спортсмена
Record SecondRezult; // второй результат спортсмена
Record FreeRezult;
};
char* Mebel::GetName()
{
return Name;
}
void Mebel::PutName(char *s)
{
strcpy_s(Name,s);
}
void Mebel::Init( char *f,int v1,float s1,int v2,float s2,int v3,float s3)
{
strcpy_s(Name,f);
FirstRezult.Init(v1,s1); // FirstRezult.min=m1 FirstRezult.sec=s1
SecondRezult.Init(v2,s2); // SecondRezult.min=m2 SecondRezult.sec=s2
FreeRezult.Init(v3,s3);
}
Record Mebel::Best()
{
float sto1,sto2,sto3; // секунды первого и второго результатов
sto1=FirstRezult.Stoi(); // вычисление числа секунд 1 результата
sto2=SecondRezult.Stoi(); // вычисление числа секунд 2 результата
sto3=FreeRezult.Stoi(); // вычисление числа секунд 2 результата
if (sto1>sto2 || sto1>sto3)
return FirstRezult;
else if (sto2>sto1 || sto2>sto3)
return SecondRezult;
else
return FreeRezult;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian"); /*setlocale( LC_CTYPE, ".1251" ); */
Record a,b;
Mebel F,S; // два спортсмена
char c[30];
float P,L;
a.Init(250,4);
b.Init(250,2);
P=a.Stoi();
L=b.Stoi();
// тест для задания и получения фамилий спортсменов
F.PutName("First"); // фамилия у P ->First
strcpy_s(c,F.GetName());
printf("%s - %f",c,P); // вывод извлеченной фамилии Pu
printf("\n");
S.PutName("Second"); // фамилия у Z ->Me
strcpy_s(c,S.GetName());
printf("%s - %f",c,L); // вывод извлеченной фамилии Me
printf("\n");
// кто из спортсменов лучше
Mebel K,N,T;
Record sb,nb,tb;
float ssto,nsto,tsto;
K.Init("So",1,15,2,5,4,4);
N.Init("Na",3,5,1,40,1,2);
T.Init("Ta",5,4,30,2,5,7);
sb=S.Best();
nb=N.Best();
tb=T.Best();
ssto=sb.Stoi(); // число секунд во времени pb (75)
nsto=nb.Stoi(); // число секунд во времени zb
tsto=tb.Stoi();
if(ssto>nsto || ssto>tsto) // кто из спортсменов лучше
printf("S лучше\n");
else if (nsto>ssto || nsto>tsto)
printf("N лучше\n");
else
printf("T лучше\n");
system("pause");
return 0;
}
Соседние файлы в папке Практика