VXP

LB23_1

VXP
Nov 15th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. // LB23_1.cpp: главный файл проекта.
  2.  
  3. #include "stdafx.h"
  4.  
  5. using namespace System;
  6. using namespace System::IO;
  7.  
  8. void Zapis( String ^fname )
  9. {
  10.     BinaryWriter ^fb = gcnew BinaryWriter(File::Open(fname, FileMode::OpenOrCreate));
  11.     fb->Seek(0, SeekOrigin::End);
  12.     try {
  13.         String ^type, ^firm; int speed; double price;
  14.         Console::Write("\nПринтер:");
  15.         do {
  16.             Console::Write("\nВведите тип принтера: ");
  17.             type = Console::ReadLine();
  18.             if( type != "" )
  19.             {
  20.                 Console::Write("Введите производителя: ");
  21.                 firm = Console::ReadLine();
  22.                 Console::Write("Введите скорость работы (стр/мин): ");
  23.                 speed = Convert::ToInt32(Console::ReadLine());
  24.                 Console::Write("Введите цену: ");
  25.                 price = Convert::ToDouble(Console::ReadLine());
  26.                 fb->Write(type); fb->Write(firm); fb->Write(speed); fb->Write(price);
  27.             }
  28.         } while( type != "" );
  29.     } finally {fb->Close();}
  30. }
  31. void Prosmotr( String ^fname )
  32. {
  33.     if(!File::Exists(fname))
  34.     {
  35.         Console::WriteLine("Файл не найден!"); return;
  36.     }
  37.     BinaryReader ^fb = gcnew BinaryReader(File::OpenRead(fname));
  38.     try {
  39.         Console::WriteLine("\nПросмотр файла:");
  40.         Console::WriteLine("Тип\tФирма\tСкорость\tЦена");
  41.         while(fb->BaseStream->Position < fb->BaseStream->Length)
  42.         {
  43.             String ^type = fb->ReadString();
  44.             String ^firm = fb->ReadString();
  45.             int speed = fb->ReadInt32();
  46.             double price = fb->ReadDouble();
  47.             Console::WriteLine(type+"\t"+firm+"\t"+speed.ToString()+"\t"+price.ToString());
  48.         }
  49.     } finally {fb->Close();}
  50. }
  51. void hp10(String ^fname)
  52. {
  53.     if(!File::Exists(fname))
  54.     {
  55.         Console::WriteLine("Файл не найден!"); return;
  56.     }
  57.     BinaryReader ^fb = gcnew BinaryReader(File::OpenRead(fname));
  58.     try {
  59.         Console::WriteLine("\nПринтеры HP со скоростью > 10 стр/мин");
  60.         while(fb->BaseStream->Position < fb->BaseStream->Length)
  61.         {
  62.             String ^type = fb->ReadString();
  63.             String ^firm = fb->ReadString();
  64.             int speed = fb->ReadInt32();
  65.             double price = fb->ReadDouble();
  66.             if( firm == "HP" && speed > 10 )
  67.                 Console::WriteLine(type+"\t"+firm+"\t"+speed.ToString()+"\t"+price.ToString());
  68.         }
  69.     } finally {fb->Close();}
  70. }
  71.  
  72. int main(array<System::String ^> ^args)
  73. {
  74.     String ^fname = "Belyaev.dat";
  75.     Console::WriteLine(L"Введите данные:");
  76.     Zapis(fname);
  77.     Prosmotr(fname);
  78.     hp10(fname);
  79.     Console::Read();
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment