wintest

RISTREAM рандом пълнене на инт, double и чар

May 29th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. //файл ristream.h
  2. #include <iostream>
  3. class Ristream{
  4.     std::istream & in;
  5.     unsigned length;
  6.     bool space;
  7. public:
  8.     Ristream(unsigned length=0, bool space=false, std::istream &in =std::cin):
  9.         length(length), space(space), in(in){}
  10.     Ristream& operator >> (int& i){
  11.         i = rand()%100+rand()*100;
  12.         i = (rand()%2==0)?i:-i;
  13.         return *this;
  14.     }
  15.     Ristream& operator >> (unsigned & u){
  16.         u = rand()%100+rand()*100;
  17.         return *this;
  18.     }
  19.     Ristream& operator >> (double& d){
  20.         d = 10.*rand()/RAND_MAX;
  21.         d = (rand()%2==0)?d:-d;
  22.         return *this;
  23.     }
  24.     void set_length(unsigned L){length=L;}
  25.     unsigned get_length()const{return length;}
  26.     void set_space(bool s){space =s;};
  27.     bool get_space()const{return space;}   
  28.     Ristream& operator >> (char * str){
  29.         char abc[] = "abcdefghijklmnopqrstuvwxyz    ";
  30.         for(unsigned i=0; i<length; i++)
  31.             str[i] = space?abc[rand()%30]:abc[rand()%26];
  32.         str[length] = '\0';
  33.         return *this;
  34.     }
  35. };
Add Comment
Please, Sign In to add comment