Advertisement
aLT22

palaginacode

Sep 23rd, 2014
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. enum status
  7. {
  8.         Start = 0,
  9.         PossibleComment = 1,
  10.         Comment1 = 2,
  11.         Comment2 = 3,
  12.         PossibleEnd = 4
  13. };
  14.  
  15. int main ()
  16. {
  17.     ifstream fin; ofstream fout;
  18.     fin.open ("input.txt"); fout.open ("output.txt");
  19.     status st = Start;
  20.     if (fin)
  21.     {
  22.         char symbol;
  23.         while (fin.get(symbol))
  24.         {
  25.             cout<<symbol;
  26.            switch (st)
  27.            {
  28.                 case Start:
  29.                     if (symbol == '/')
  30.                    {
  31.                         st = PossibleComment;
  32.                        break;
  33.                    }
  34.                     else
  35.                    {
  36.                         fout << symbol;
  37.                         break;
  38.                    }
  39.                case PossibleComment:
  40.                     if (symbol == '/')
  41.                    {
  42.                         st = Comment1;
  43.                        break;
  44.                    }
  45.                    else
  46.                    {
  47.                         if (symbol == '*')
  48.                        {
  49.                             st = Comment2;
  50.                            break;
  51.                        }
  52.                         else
  53.                        {
  54.                             fout << symbol;
  55.                            break;
  56.                        }
  57.                    }
  58.                case Comment1:
  59.                     if (symbol == '\n')
  60.                    {
  61.                         st = Start;
  62.                        fout<<symbol;
  63.                        break;
  64.                    }
  65.                    else
  66.                    {
  67.                         break;
  68.                    }
  69.                case Comment2:
  70.                     if (symbol == '*')
  71.                    {
  72.                         st = PossibleEnd;
  73.                        break;
  74.                    }
  75.                    else
  76.                    {
  77.                         break;
  78.                    }
  79.                case PossibleEnd:
  80.                     if (symbol == '/')
  81.                    {
  82.                         st = Start;
  83.                        break;
  84.                    }
  85.                    else if(symbol == '*')
  86.                          {
  87.                              break;
  88.                         }
  89.                         else
  90.                         {
  91.                              st = Comment2;
  92.                             break;
  93.                         }
  94.            }
  95.        }
  96.    }
  97.    fin.close(); fout.close();
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement