Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Progi / lesson 1 / Практика / Lava 1b-2

.txt
Скачиваний:
27
Добавлен:
28.03.2015
Размер:
3.08 Кб
Скачать
#include "StdAfx.h"
#include <iostream>
#include <windows.h>
#include <string.h>

using namespace std;

class OBCH
 {
   public:
   float Stoi();  // Вычесление стоимости
   int GetVes(); 
   float GetStoi();
   void Init(int m,float s); // задание начальных значений полей
   private:
   int    ves;
   float  sto;
 };

int OBCH::GetVes(){
return ves;
}

float OBCH::GetStoi(){
return sto;
}

void OBCH::Init(int v,float s)
{
 ves=v;
 sto=s;
}


 float OBCH::Stoi()
 {
  return (ves*sto);
}

 class Mebel
{
public:
	char* GetNazvanie();           // возвращает строку с названием
	void PutNazvanie(char *s);   // задание Названия мебели
	OBCH Best();              // выбрать из трёх результатов лучший и вернуть
	void Init( char *f,int v1,float s1,int v2,float s2,int v3,float s3); // задание названия и значений ves,sto обеим результатам
 
private:
	char Nazvanie[30];              // Название
	OBCH FirstRezult;    // первый результат
	OBCH SecondRezult; // второй результат 	
	OBCH FreeRezult; // третий результат
};

char* Mebel::GetNazvanie()
{
 return Nazvanie;
}

void Mebel::PutNazvanie(char *s)
{
  strcpy_s(Nazvanie,s);
}

void Mebel::Init( char *f,int v1,float s1,int v2,float s2,int v3,float s3)
{
  strcpy_s(Nazvanie,f);
 FirstRezult.Init(v1,s1);       // FirstRezult.ves=v1  FirstRezult.sto=s1
 SecondRezult.Init(v2,s2);   // SecondRezult.ves=v2  SecondRezult.sto=s2
 FreeRezult.Init(v3,s3);    // SecondRezult.ves3=m3  SecondRezult.sto=s3
}

OBCH Mebel::Best()
{
  float sto1,sto2,sto3;    // секунды первого, второго и третьего результатов
 sto1=FirstRezult.Stoi();      // вычисление числа стоимости 1 результата
 sto2=SecondRezult.Stoi(); // вычисление числа стоимости 2 результата
 sto3=FreeRezult.Stoi(); // вычисление числа стоимости 3 результата
 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" ); */

  OBCH 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.PutNazvanie("First");  // фамилия у P ->First
  strcpy_s(c,F.GetNazvanie());
  printf("%s - %f",c,P);           // вывод извлеченного названия Pu
  printf("\n");
  S.PutNazvanie("Second");     //  название у Z ->Me
  strcpy_s(c,S.GetNazvanie());
  printf("%s - %f",c,L);             // вывод извлеченного названия Me
  printf("\n");



  Mebel K,N;
  OBCH sb,nb;   
  float ssto,nsto;    
  K.Init("So",1,15,2,5,4,4);   
  N.Init("Na",3,5,1,40,1,2);
  sb=S.Best();             
  nb=N.Best();
  ssto=sb.Stoi();  // число секунд во  времени pb (75)
  nsto=nb.Stoi();  // число секунд во времени zb
  
  
  if(ssto<nsto)               // Что лучше
   printf("S лучше\n");
  else
   printf("N лучше\n");	

     system("pause");
	  return 0;
}
Соседние файлы в папке Практика