fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include<direct.h>
  5. #include<vector>
  6. #include<map>
  7. #include<stdio.h>
  8. #include<dos.h>
  9. #include<conio.h>
  10. #include <filesystem>
  11. namespace fs = std::experimental::filesystem;
  12. typedef long long ll;
  13. using namespace std;
  14.  
  15. struct file
  16. {
  17. char * data;
  18. string name;
  19. string exe;
  20. ll size;
  21. };
  22.  
  23. struct folder
  24. {
  25. string name;
  26. //// next folders & counter of folders in this folder
  27. folder * next[200];
  28. int nxcount;
  29. //// prevous of folder
  30. folder * prev;
  31. //// files & counter of files in this folder
  32. file arrfile[200];
  33. int flcount;
  34. //// map for dont repeat name of foldres
  35. map<string, int> filemp;
  36. //// map for dont repeat name of files
  37. map<string, int> foldermp;
  38. int id;
  39.  
  40. };
  41.  
  42. map<string, int>::iterator it1;
  43. ll memorysize;
  44. folder * mycur;
  45. folder * root = new folder;
  46. ll actualsize;
  47. long long fsize = 0;
  48. int g = 0, h = -1;
  49.  
  50. void creatfoldermem(string s)
  51. {
  52. folder *f = new folder;
  53. f->name = s;
  54. g++;
  55. if (g == 1)
  56. {
  57.  
  58. root->name = "C:";
  59. root->nxcount = 0;
  60. root->prev = NULL;
  61. root->flcount = 0;
  62. root->id = 0;
  63. mycur = root;
  64. }
  65. else
  66. {
  67. it1 = mycur->foldermp.find(f->name);
  68. if (it1 == mycur->foldermp.end())
  69. {
  70. folder *neew = new folder;
  71. neew->name = f->name;
  72. neew->nxcount = 0;
  73. neew->prev = mycur;
  74. neew->flcount = 0;
  75. neew->id = mycur->id + 1;
  76. mycur->next[mycur->nxcount++] = neew;
  77. mycur->foldermp[f->name]++;
  78. }
  79. else cout << " This name of folder is used ." << endl;
  80. }
  81. }
  82.  
  83. void cd(string s)
  84. {
  85.  
  86. for (int i = 0; i < mycur->nxcount; i++)
  87. {
  88. if (mycur->next[i]->name == s)
  89. {
  90. mycur = mycur->next[i];
  91. }
  92. }
  93. }
  94.  
  95. void back()
  96. {
  97. mycur = mycur->prev;
  98. cout << "current now in :" << mycur->name << endl;
  99. }
  100.  
  101. void creatfile(string s, string exe)
  102. {
  103. it1 = mycur->filemp.find(s);
  104. if (it1 == mycur->filemp.end())
  105. {
  106. mycur->arrfile[mycur->flcount].data = NULL;
  107. mycur->arrfile[mycur->flcount].name = s;
  108. mycur->arrfile[mycur->flcount].size = 0;
  109. mycur->arrfile[mycur->flcount].exe = exe;
  110. mycur->flcount++;
  111. mycur->filemp[s]++;
  112. }
  113. else cout << " This name of file is used ." << endl;
  114. }
  115.  
  116. void showall(folder f)
  117. {
  118. string s;
  119. h++;
  120. for (int i = 0; i < h; i++) cout << ".";
  121. cout << "Folder : " + f.name << endl;
  122.  
  123. for (int i = 0; i < f.flcount; i++)
  124. {
  125. for (int i = 0; i < h; i++) cout << ".";
  126. cout << "File : " + f.arrfile[i].name + f.arrfile[i].exe << endl;
  127.  
  128. }
  129. for (int i = 0; i < f.nxcount; i++)
  130. {
  131. showall(*f.next[i]);
  132. }
  133.  
  134. }
  135.  
  136. void showfolder(folder f) /// to show the current folder
  137. {
  138. for (int i = 0; i < f.nxcount; i++)
  139. {
  140. cout << " - Sub Folder : " + f.next[i]->name << endl;
  141. }
  142. for (int i = 0; i < f.flcount; i++)
  143. {
  144. cout << " - File : " + f.arrfile[i].name << endl;
  145. }
  146. }
  147.  
  148. string getname(string s) /// to get the last name of file/folder
  149. {
  150. string ss = "";
  151. for (int i = s.size() - 1; i >= 0; i--)
  152. {
  153. if (s[i] == '\\') break;
  154. ss += s[i];
  155. }
  156. reverse(ss.begin(), ss.end());
  157. return ss;
  158. }
  159.  
  160. void copyfolder(string s1, string s2)
  161. {
  162. folder *copy = new folder;
  163. folder *req = new folder;
  164. int d = 0;
  165. string sf = "";
  166.  
  167. copy = root;
  168. req = root;
  169. ////// get folder C:\oo\b
  170. for (int i = 0; i < s1.size(); i++)
  171. {
  172. if (s1[i] == '\\')
  173. {
  174. d++;
  175. if (d == 1)
  176. {
  177. sf = "";
  178. continue;
  179. }
  180. for (int k = 0; k < copy->nxcount; k++)
  181. {
  182. if (copy->next[k]->name == sf)
  183. {
  184. copy = copy->next[k];
  185. }
  186. }
  187. sf = "";
  188. }
  189. else sf += s1[i];
  190. }
  191.  
  192. for (int k = 0; k < copy->nxcount; k++)
  193. {
  194. if (copy->next[k]->name == sf)
  195. {
  196. copy = copy->next[k];
  197. }
  198. }
  199. /////// put folder
  200. for (int i = 0; i < s2.size(); i++)
  201. {
  202. if (s2[i] == '\\')
  203. {
  204. for (int k = 0; k < req->nxcount; k++)
  205. {
  206. if (req->next[k]->name == sf)
  207. {
  208. req = req->next[k];
  209. }
  210. }
  211. sf = "";
  212. }
  213. else sf += s2[i];
  214. }
  215.  
  216. for (int k = 0; k < req->nxcount; k++)
  217. {
  218. if (req->next[k]->name == sf)
  219. {
  220. req = req->next[k];
  221. }
  222. }
  223.  
  224. it1 = req->foldermp.find(copy->name);
  225. if (it1 == req->foldermp.end())
  226. {
  227.  
  228. req->next[req->nxcount++] = copy;
  229. copy->prev = req;
  230. mycur = req;
  231. }
  232. else
  233. {
  234. cout << " There is folder with same name .";
  235. }
  236. }
  237.  
  238. void copyfile(string s1, string s2)
  239. {
  240. folder *copy = new folder;
  241. copy = root;
  242. folder *req = new folder;
  243. req = root;
  244. file fcopy;
  245.  
  246. int d = 0;
  247. string sf = "";
  248. string fl = "";
  249.  
  250. ////// get file name
  251. fl = getname(s1);
  252. ////// get folder
  253. int x = 0;
  254. for (int i = s1.size() - 1; i >= 0; i--)
  255. {
  256. if (s1[i] == '\\') break;
  257. x++;
  258. }
  259. s1.erase(s1.size() - (x + 1), x + 1);
  260. for (int i = 0; i < s1.size(); i++)
  261. {
  262. if (s1[i] == '\\')
  263. {
  264. d++;
  265. if (d == 1 || sf == fl)
  266. {
  267. sf = "";
  268. continue;
  269. }
  270. for (int k = 0; k < copy->nxcount; k++)
  271. {
  272. if (copy->next[k]->name == sf)
  273. {
  274. copy = copy->next[k];
  275. }
  276. }
  277. sf = "";
  278. }
  279. else sf += s1[i];
  280. }
  281.  
  282. for (int k = 0; k < copy->nxcount; k++)
  283. {
  284. if (copy->next[k]->name == sf)
  285. {
  286. copy = copy->next[k];
  287. }
  288. }
  289. for (int i = 0; i < copy->flcount; i++)
  290. {
  291. string g = copy->arrfile[i].name;
  292. g += copy->arrfile[i].exe;
  293.  
  294. if (g == fl)
  295. {
  296. fcopy = copy->arrfile[i];
  297. break;
  298. }
  299. }
  300. sf = "";
  301. /////// put folder
  302. for (int i = 0; i < s2.size(); i++)
  303. {
  304. if (s2[i] == '\\')
  305. {
  306. d++;
  307. if (d == 1)
  308. {
  309. sf = "";
  310. continue;
  311. }
  312. for (int k = 0; k < req->nxcount; k++)
  313. {
  314. if (req->next[k]->name == sf)
  315. {
  316. req = req->next[k];
  317. }
  318. }
  319. sf = "";
  320. }
  321. else sf += s2[i];
  322. }
  323. for (int k = 0; k < req->nxcount; k++)
  324. {
  325. if (req->next[k]->name == sf)
  326. {
  327. req = req->next[k];
  328. }
  329. }
  330.  
  331. mycur = req;
  332. it1 = req->filemp.find(fcopy.name);
  333. if (it1 == req->filemp.end())
  334. {
  335. cout << req->flcount << endl;
  336. req->arrfile[req->flcount++] = fcopy;
  337. }
  338. else
  339. {
  340. cout << " There is file with same name .";
  341. }
  342.  
  343. }
  344.  
  345. void deletfolder(string s)
  346. {
  347. folder *copy = root;
  348. folder *req = root;
  349. int d = 0;
  350. string sf = "";
  351.  
  352. for (int i = 0; i < s.size(); i++)
  353. {
  354. if (s[i] == '\\')
  355. {
  356. d++;
  357. if (d == 1)
  358. {
  359. sf = "";
  360. continue;
  361. }
  362. for (int k = 0; k < copy->nxcount; k++)
  363. {
  364. if (copy->next[k]->name == sf)
  365. {
  366. copy = copy->next[k];
  367. }
  368. }
  369. sf = "";
  370. }
  371. else sf += s[i];
  372. }
  373. for (int k = 0; k < copy->nxcount; k++)
  374. {
  375. if (copy->next[k]->name == sf)
  376. {
  377. copy->next[k] = NULL;
  378. copy->nxcount--;
  379. break;
  380. }
  381. }
  382. sf = "";
  383. }
  384.  
  385. void deletfile(string s)
  386. {
  387. remove(s.c_str());
  388. folder *copy = new folder;
  389. copy = root;
  390. folder *req = new folder;
  391. req = root;
  392. file fcopy;
  393.  
  394. int d = 0;
  395. string sf = "";
  396. string fl = "";
  397.  
  398. ////// get file name
  399. fl = getname(s);
  400. int x = 0;
  401. for (int i = s.size() - 1; i >= 0; i--)
  402. {
  403. if (s[i] == '\\') break;
  404. x++;
  405. }
  406. s.erase(s.size() - (x + 1), x + 1);
  407. ////// get folder
  408. for (int i = 0; i < s.size(); i++)
  409. {
  410. if (s[i] == '\\')
  411. {
  412. d++;
  413. if (d == 1)
  414. {
  415. sf = "";
  416. continue;
  417. }
  418. for (int k = 0; k < copy->nxcount; k++)
  419. {
  420. if (copy->next[k]->name == sf)
  421. {
  422. copy = copy->next[k];
  423. }
  424. }
  425. sf = "";
  426. }
  427. else sf += s[i];
  428. }
  429. for (int k = 0; k < copy->nxcount; k++)
  430. {
  431. if (copy->next[k]->name == sf)
  432. {
  433. copy = copy->next[k];
  434. }
  435. }
  436.  
  437. for (int i = 0; i < copy->flcount; i++)
  438. {
  439. string g = copy->arrfile[i].name;
  440. g += copy->arrfile[i].exe;
  441.  
  442. if (g == fl)
  443. {
  444. remove(g.c_str());
  445. copy->arrfile[i].name = "";
  446. copy->arrfile[i].exe = "";
  447. copy->arrfile[i].data = NULL;
  448. copy->arrfile[i].size = NULL;
  449. copy->flcount--;
  450. break;
  451. }
  452. }
  453. }
  454.  
  455. string path = "C:";
  456.  
  457. void delstr() /// to delete last file/folder from path
  458. {
  459. int x = 0;
  460. for (int i = path.size() - 1; i >= 0; i--)
  461. {
  462. if (path[i] == '\\') break;
  463. x++;
  464. }
  465. path.erase(path.size() - (x + 1), x + 1);
  466. }
  467.  
  468. void ramtodisk(folder f)
  469. {
  470. string s = f.name;
  471. path += "\\";
  472. path += s;
  473.  
  474. _mkdir(path.c_str());
  475. for (int i = 0; i < f.flcount; i++)
  476. {
  477. ofstream outfile;
  478.  
  479. path += "\\";
  480. path += f.arrfile[i].name;
  481. path += f.arrfile[i].exe;
  482.  
  483. outfile.open(path, ios::binary | ios::out | ios::app);
  484. outfile.write(f.arrfile[i].data, f.arrfile[i].size);
  485. outfile.close();
  486. delstr();
  487. }
  488.  
  489. for (int i = 0; i < f.nxcount; i++)
  490. {
  491. ramtodisk(*f.next[i]);
  492. }
  493. delstr();
  494. }
  495.  
  496. folder *cur2 = new folder;
  497.  
  498. string deletfront(string path)
  499. {
  500. int x = 0;
  501. for (int i = 0; i < path.size(); i++)
  502. {
  503. if (path[i] == '\\')
  504. {
  505. x++;
  506. break;
  507. }
  508. x++;
  509. }
  510. path.erase(0, x);
  511. return path;
  512. }
  513.  
  514. //////// to save directory in ram "folderseqence" creat folders along path & "disktoram" creat the requset folder and which it consist on
  515. void folderseqence(string path,bool l)
  516. {
  517. if(!l) cur2 = root;
  518. string s = "";
  519. //// C:\nada\dectop\fci
  520. for (int i = 0; i < path.size(); i++)
  521. {
  522. if (path[i] == '\\')
  523. {
  524. if (s == "C:")
  525. {
  526. s = "";
  527. continue;
  528. }
  529. it1 = cur2->foldermp.find(s);
  530. if (it1 == cur2->foldermp.end())
  531. {
  532. folder *newf = new folder;
  533. newf->name = s; /// name = oooo
  534. newf->prev = cur2;
  535. cur2->next[cur2->nxcount++] = newf;
  536. cur2->foldermp[newf->name]++;
  537. newf->flcount = 0;
  538. newf->nxcount = 0;
  539. cur2 = newf;
  540. }
  541. else
  542. {
  543. for (int j = 0; j < cur2->nxcount; j++)
  544. {
  545. if (cur2->next[j]->name == s)
  546. {
  547. cur2 = cur2->next[j];
  548. string newpath = deletfront(path);
  549. folderseqence(newpath, 1);
  550. }
  551. }
  552. }
  553. s = "";
  554. }
  555. else s += path[i];
  556. }
  557. }
  558. void disktoram(string path)
  559. {
  560. //// path of user C:\oooo
  561. folder *newf = new folder;
  562.  
  563. newf->name = getname(path); /// name = oooo
  564. newf->prev = cur2;
  565. cur2->next[cur2->nxcount++] = newf;
  566. newf->flcount = 0;
  567. newf->nxcount = 0;
  568.  
  569. for (const auto & entry : fs::directory_iterator(path))
  570. {
  571. string s = entry.path().string();
  572. string filename = "", fileexe = "";
  573.  
  574. bool l = 0;
  575. for (int i = s.size() - 1; i >= 0; i--)
  576. {
  577. if (s[i] == '.' || s[i] == '\\')
  578. {
  579. if (s[i] == '.')l = 1;
  580. else break;
  581. }
  582. else if (!l)
  583. {
  584. fileexe += s[i];
  585. }
  586. else if (l)
  587. {
  588. filename += s[i];
  589. }
  590. }
  591. if (l)
  592. {
  593. /// if there is file ----- like -> C:\oooo\lala.txt
  594. fileexe += ".";
  595. reverse(fileexe.begin(), fileexe.end());
  596. reverse(filename.begin(), filename.end());
  597.  
  598. ifstream infile;
  599. streampos begin, end;
  600. infile.open(s, ios::binary);
  601.  
  602. if (!infile.is_open())
  603. {
  604. cout << "There is no file with this path" << endl;
  605. continue;
  606. }
  607. begin = infile.tellg();
  608. infile.seekg(0, ios::end);
  609. end = infile.tellg();
  610. fsize = end - begin;
  611. cout << "size is: " << fsize << " bytes.\n";
  612. infile.seekg(0, ios::beg);
  613.  
  614. newf->arrfile[newf->flcount].data = new char[fsize];
  615. infile.read(newf->arrfile[newf->flcount].data, fsize);
  616. infile.close();
  617. newf->arrfile[newf->flcount].name = filename;
  618. newf->arrfile[newf->flcount].exe = fileexe;
  619. newf->arrfile[newf->flcount].size = fsize;
  620. newf->flcount++;
  621. actualsize += fsize;
  622. }
  623. else
  624. {
  625. /// if there is folder ------ like -> C:\oooo\a
  626. folder *subnew = new folder;
  627. cur2 = newf;
  628. disktoram(s); ///// recursive call for subdirectory of this directory
  629. }
  630. }
  631. }
  632.  
  633. int main()
  634. {
  635. creatfoldermem("$"); //// to creat root folder
  636.  
  637. cout << "enter the size of memory by mega byte : ";
  638. cin >> memorysize;
  639. memorysize *= 1024 * 1024;
  640. cout << endl << endl;
  641. cout << " " << "*** Welcome dear user ***" << endl;
  642. do {
  643. int s;
  644. cout << endl;
  645. if (actualsize == memorysize)
  646. {
  647. cout << "memory is full if you need add you must delete any thing";
  648. break;
  649. }
  650.  
  651. cout << " Press the number of choice you want : \n";
  652. cout << " 1) creat folder . \n";
  653. cout << " 2) creat file .\n";
  654. cout << " 3) copy folder .\n";
  655. cout << " 4) copy file .\n";
  656. cout << " 5) delete folder .\n";
  657. cout << " 6) delete file . \n";
  658. cout << " 7) show current folder . \n";
  659. cout << " 8) show all memory .\n";
  660. cout << " 9) show size of memory .\n";
  661. cout << " 10) move current to next . \n";
  662. cout << " 11) move current to previos . \n";
  663. cout << " 12) load current folder into disk . \n";
  664. cout << " 13) load folder from disk into memeory . \n";
  665. cout << " 14) to clear the screan . \n";
  666. cout << " 15) exit . \n";
  667. cout << " __________________________________________ \n";
  668. cin >> s;
  669. switch (s)
  670. {
  671. case 1:
  672. {
  673. string name;
  674. cout << "enter the folder name " << endl;
  675. cin >> name;
  676. creatfoldermem(name);
  677.  
  678. break;
  679. }
  680. case 2:
  681. {
  682. string name, ex;
  683. cout << "enter name of file : ";
  684. cin >> name;
  685. creatfile(name, ".txt");
  686.  
  687. break;
  688. }
  689. case 3:
  690. {
  691. cin.ignore();
  692.  
  693. string path1, path2;
  694. cout << "enter path of folder which want copy it : ";
  695. getline(cin, path1);
  696. cout << "enter path of folder which want copy in it : ";
  697. getline(cin, path2);
  698. copyfolder(path1, path2);
  699.  
  700. break;
  701. }
  702. case 4:
  703. {
  704. cin.ignore();
  705.  
  706. string path1, path2;
  707. cout << "enter path of file which want copy it :";
  708. getline(cin, path1);
  709. cout << "enter path of folder which want copy in it :";
  710. getline(cin, path2);
  711. folderseqence(path1, 0);
  712. copyfile(path1, path2);
  713.  
  714. break;
  715. }
  716. case 5:
  717. {
  718. cin.ignore();
  719.  
  720. string name;
  721. cout << "enter the name of folder that you need delete : ";
  722. getline(cin, name);
  723. deletfolder(name);
  724.  
  725. break;
  726. }
  727. case 6:
  728. {
  729. cin.ignore();
  730.  
  731. string name;
  732. cout << "enter name of file you need delete : ";
  733. getline(cin , name);
  734. deletfile(name);
  735.  
  736. break;
  737. }
  738. case 7:
  739. {
  740. showfolder(*mycur);
  741. break;
  742. }
  743. case 8:
  744. {
  745. h = -1;
  746. showall(*root);
  747. break;
  748. }
  749. case 9:
  750. {
  751. cout << "Size of memory is : " << " " << actualsize << endl;
  752. break;
  753. }
  754. case 10:
  755. {
  756. cout << "enter name of folder : ";
  757. string s;
  758. cin >> s;
  759. cd(s);
  760. break;
  761. }
  762. case 11:
  763. {
  764. back();
  765. break;
  766. }
  767. case 12:
  768. {
  769. ramtodisk(*mycur);
  770. break;
  771. }
  772. case 13:
  773. {
  774. cin.ignore();
  775. cout << "enter path of folder : ";
  776. string path;
  777. getline(cin, path);
  778. folderseqence(path, 0);
  779. disktoram(path);
  780. break;
  781. }
  782.  
  783. case 14:
  784. {
  785. system("CLS");
  786. break;
  787. }
  788. case 15:
  789. {
  790. return 0;
  791. break;
  792. }
  793. }
  794. } while (1);
  795. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include <iostream>
^
Main.java:1: error: class, interface, or enum expected
#include <iostream>
         ^
Main.java:2: error: illegal character: '#'
#include <string>
^
Main.java:3: error: illegal character: '#'
#include <fstream>
^
Main.java:4: error: illegal character: '#'
#include<direct.h>
^
Main.java:5: error: illegal character: '#'
#include<vector>
^
Main.java:6: error: illegal character: '#'
#include<map>
^
Main.java:7: error: illegal character: '#'
#include<stdio.h> 
^
Main.java:8: error: illegal character: '#'
#include<dos.h>
^
Main.java:9: error: illegal character: '#'
#include<conio.h>
^
Main.java:10: error: illegal character: '#'
#include <filesystem>
^
Main.java:12: error: class, interface, or enum expected
typedef long long ll;
^
Main.java:13: error: class, interface, or enum expected
using namespace std;
^
Main.java:15: error: class, interface, or enum expected
struct file
^
Main.java:18: error: class, interface, or enum expected
	string name;
	^
Main.java:19: error: class, interface, or enum expected
	string exe;
	^
Main.java:20: error: class, interface, or enum expected
	ll size;
	^
Main.java:21: error: class, interface, or enum expected
};
^
Main.java:23: error: class, interface, or enum expected
struct  folder
^
Main.java:27: error: class, interface, or enum expected
	folder * next[200];
	^
Main.java:28: error: class, interface, or enum expected
	int nxcount;
	^
Main.java:30: error: class, interface, or enum expected
	folder * prev;
	^
Main.java:32: error: class, interface, or enum expected
	file arrfile[200];
	^
Main.java:33: error: class, interface, or enum expected
	int flcount;
	^
Main.java:35: error: class, interface, or enum expected
	map<string, int> filemp;
	^
Main.java:37: error: class, interface, or enum expected
	map<string, int> foldermp;
	^
Main.java:38: error: class, interface, or enum expected
	int id;
	^
Main.java:40: error: class, interface, or enum expected
};
^
Main.java:42: error: class, interface, or enum expected
map<string, int>::iterator it1;
^
Main.java:43: error: class, interface, or enum expected
ll memorysize;
^
Main.java:44: error: class, interface, or enum expected
folder * mycur;
^
Main.java:45: error: class, interface, or enum expected
folder * root = new folder;
^
Main.java:46: error: class, interface, or enum expected
ll actualsize;
^
Main.java:47: error: class, interface, or enum expected
long long fsize = 0;
^
Main.java:48: error: class, interface, or enum expected
int g = 0, h = -1;
^
Main.java:50: error: class, interface, or enum expected
void creatfoldermem(string s)
^
Main.java:53: error: class, interface, or enum expected
	f->name = s;
	^
Main.java:54: error: class, interface, or enum expected
	g++;
	^
Main.java:55: error: class, interface, or enum expected
	if (g == 1)
	^
Main.java:59: error: class, interface, or enum expected
		root->nxcount = 0;
		^
Main.java:60: error: class, interface, or enum expected
		root->prev = NULL;
		^
Main.java:61: error: class, interface, or enum expected
		root->flcount = 0;
		^
Main.java:62: error: class, interface, or enum expected
		root->id = 0;
		^
Main.java:63: error: class, interface, or enum expected
		mycur = root;
		^
Main.java:64: error: class, interface, or enum expected
	}
	^
Main.java:68: error: class, interface, or enum expected
		if (it1 == mycur->foldermp.end())
		^
Main.java:71: error: class, interface, or enum expected
			neew->name = f->name;
			^
Main.java:72: error: class, interface, or enum expected
			neew->nxcount = 0;
			^
Main.java:73: error: class, interface, or enum expected
			neew->prev = mycur;
			^
Main.java:74: error: class, interface, or enum expected
			neew->flcount = 0;
			^
Main.java:75: error: class, interface, or enum expected
			neew->id = mycur->id + 1;
			^
Main.java:76: error: class, interface, or enum expected
			mycur->next[mycur->nxcount++] = neew;
			^
Main.java:77: error: class, interface, or enum expected
			mycur->foldermp[f->name]++;
			^
Main.java:78: error: class, interface, or enum expected
		}
		^
Main.java:80: error: class, interface, or enum expected
	}
	^
Main.java:86: error: class, interface, or enum expected
	for (int i = 0; i < mycur->nxcount; i++)
	                ^
Main.java:86: error: class, interface, or enum expected
	for (int i = 0; i < mycur->nxcount; i++)
	                                    ^
Main.java:91: error: class, interface, or enum expected
		}
		^
Main.java:98: error: class, interface, or enum expected
	cout << "current now in :" << mycur->name << endl;
	^
Main.java:99: error: class, interface, or enum expected
}
^
Main.java:104: error: class, interface, or enum expected
	if (it1 == mycur->filemp.end())
	^
Main.java:107: error: class, interface, or enum expected
		mycur->arrfile[mycur->flcount].name = s;
		^
Main.java:108: error: class, interface, or enum expected
		mycur->arrfile[mycur->flcount].size = 0;
		^
Main.java:109: error: class, interface, or enum expected
		mycur->arrfile[mycur->flcount].exe = exe;
		^
Main.java:110: error: class, interface, or enum expected
		mycur->flcount++;
		^
Main.java:111: error: class, interface, or enum expected
		mycur->filemp[s]++;
		^
Main.java:112: error: class, interface, or enum expected
	}
	^
Main.java:114: error: class, interface, or enum expected
}
^
Main.java:119: error: class, interface, or enum expected
	h++;
	^
Main.java:120: error: class, interface, or enum expected
	for (int i = 0; i < h; i++) cout << ".";
	^
Main.java:120: error: class, interface, or enum expected
	for (int i = 0; i < h; i++) cout << ".";
	                ^
Main.java:120: error: class, interface, or enum expected
	for (int i = 0; i < h; i++) cout << ".";
	                       ^
Main.java:121: error: class, interface, or enum expected
	cout << "Folder : " + f.name << endl;
	^
Main.java:123: error: class, interface, or enum expected
	for (int i = 0; i < f.flcount; i++)
	^
Main.java:123: error: class, interface, or enum expected
	for (int i = 0; i < f.flcount; i++)
	                ^
Main.java:123: error: class, interface, or enum expected
	for (int i = 0; i < f.flcount; i++)
	                               ^
Main.java:125: error: class, interface, or enum expected
		for (int i = 0; i < h; i++) cout << ".";
		                ^
Main.java:125: error: class, interface, or enum expected
		for (int i = 0; i < h; i++) cout << ".";
		                       ^
Main.java:126: error: class, interface, or enum expected
		cout << "File : " + f.arrfile[i].name + f.arrfile[i].exe << endl;
		^
Main.java:128: error: class, interface, or enum expected
	}
	^
Main.java:129: error: class, interface, or enum expected
	for (int i = 0; i < f.nxcount; i++)
	                ^
Main.java:129: error: class, interface, or enum expected
	for (int i = 0; i < f.nxcount; i++)
	                               ^
Main.java:132: error: class, interface, or enum expected
	}
	^
Main.java:138: error: class, interface, or enum expected
	for (int i = 0; i < f.nxcount; i++)
	                ^
Main.java:138: error: class, interface, or enum expected
	for (int i = 0; i < f.nxcount; i++)
	                               ^
Main.java:141: error: class, interface, or enum expected
	}
	^
Main.java:142: error: class, interface, or enum expected
	for (int i = 0; i < f.flcount; i++)
	                ^
Main.java:142: error: class, interface, or enum expected
	for (int i = 0; i < f.flcount; i++)
	                               ^
Main.java:145: error: class, interface, or enum expected
	}
	^
Main.java:151: error: class, interface, or enum expected
	for (int i = s.size() - 1; i >= 0; i--)
	^
Main.java:151: error: class, interface, or enum expected
	for (int i = s.size() - 1; i >= 0; i--)
	                           ^
Main.java:151: error: class, interface, or enum expected
	for (int i = s.size() - 1; i >= 0; i--)
	                                   ^
Main.java:154: error: class, interface, or enum expected
		ss += s[i];
		^
Main.java:155: error: class, interface, or enum expected
	}
	^
Main.java:157: error: class, interface, or enum expected
	return ss;
	^
Main.java:158: error: class, interface, or enum expected
}
^
Main.java:163: error: class, interface, or enum expected
	folder *req = new folder;
	^
Main.java:164: error: class, interface, or enum expected
	int d = 0;
	^
Main.java:165: error: class, interface, or enum expected
	string sf = "";
	^
Main.java:167: error: class, interface, or enum expected
	copy = root;
	^
100 errors
stdout
Standard output is empty