Advertisement
Jgug

l4_v4

Dec 16th, 2012
425
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include "stdafx.h"
  3. #include <stdio.h>
  4. #include <iostream>
  5. #include <conio.h>
  6. #include <string.h>
  7. #include <fstream>
  8. #define SIZE 255
  9.  
  10. using namespace std;
  11.  
  12. class String
  13. {
  14.     char* str1;
  15.     char* str2;
  16. public:
  17.     String();
  18.     ~String();
  19.     char operator = (char*);
  20.     void print();
  21.     void set (char*);
  22.     char* run();
  23. };
  24.  
  25. String::String()
  26. {
  27.     str1 = new char[SIZE];
  28.     str1[0] = '\0';
  29.     str2 = new char[SIZE];
  30.     str2[0] = '\0';
  31. }
  32.  
  33. String::~String()
  34. {
  35.     delete[] str1;
  36.     delete[] str2;
  37. }
  38.  
  39. char* String::run()
  40. {
  41.     unsigned int i;
  42.     unsigned int j =0;
  43.     if (fmod(strlen(str1),3.0)==0.0)
  44.     {
  45.         for (i=0; i<strlen(str1);)
  46.         {
  47.             if (fmod(str1[i],3.0)==0.0)
  48.             {
  49.                 i++;
  50.             }
  51.             else
  52.             {
  53.                 str2[j] = str1[i];
  54.                 i++;
  55.                 j++;
  56.             }
  57.         }
  58.         str2[j] = '\0';
  59.     }
  60.     else
  61.     {
  62.         strcpy(str2,str1);
  63.     }
  64.     return str2;
  65. };
  66.  
  67. char String::operator = (char* str1)
  68. {
  69.     strcpy(str2,str1);
  70.     return *str2;
  71. }
  72.  
  73. void String::set(char *inStr)
  74. {
  75.     unsigned int i;
  76.     for (i=0; i<strlen(inStr); i++)
  77.     {
  78.         str1[i] = inStr[i];
  79.     }
  80.     str1[i] = '\0';
  81. };
  82.  
  83. void String::print()
  84. {
  85.     cout<<str1<<endl;
  86.     cout<<str2<<endl;
  87. }
  88.  
  89. void main()
  90. {
  91.     char inStr[256], newStr[256];
  92.     cout<<"Input string: "<<endl;
  93.     cin.getline(inStr, 256);
  94.     String str;
  95.     cout<<endl<<"Source & converted strings:"<<endl;
  96.     str.set(inStr);
  97.  
  98.     ofstream file("text.txt",ios::out);
  99.     file<<"sourse string: "<<inStr<<"\n"<<"converted string: "<<str.run()<<"\n";
  100.     file.close();
  101.  
  102.     str.print();
  103.  
  104.     String *s1, *s2;
  105.     s1 = new String();
  106.     s2 = new String();
  107.     s2->set(inStr);
  108.     s1=s2;
  109.     cout<<endl<<"String, copied using the overloading:"<<endl;
  110.     s1->print();
  111.  
  112.     _getch();
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement