Advertisement
krzychu-kw8

Untitled

Mar 1st, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <dirent.h>
  3. #include <string.h>
  4. #include <unistd.h>
  5. #include <fstream>
  6. #include <cstdlib>
  7. #include <windows.h>
  8. #include <iomanip>
  9. #include <cmath>
  10. #include <iostream>
  11. #include <iomanip>
  12. #include <cstdlib>
  13. #include <time.h>
  14.  
  15.  
  16. using namespace std;
  17.  
  18. string nr_albumu;
  19.  
  20. int main()
  21.  
  22. {
  23. cout << "Powloka Krzysztof Wysocki 3372" << endl;
  24. {
  25.  
  26. }
  27. cout << "dostepne komendy:\n ls\tcd\thelp\tpwd\tdni_miesiaca\texit\tbabl\tkwadrat\n";
  28. cout << "/czekam_na_polecenie:";
  29. string choice,p_1,p_2,p_3;
  30. int nr_miesiaca;
  31. p_1="/home";
  32.  
  33. while (choice != "exit")
  34.  
  35. {
  36. cin >> choice;
  37.  
  38. if (choice == "ls") //listowanie zawartości w danym katalogu
  39.  
  40. {
  41. DIR *Sciezka;
  42. dirent* plik;
  43. Sciezka = opendir (p_1.c_str());
  44. if (Sciezka != NULL)
  45.  
  46. {
  47. cout << "Zawartosc katalogu: " << p_1 << endl;
  48. while (plik = readdir (Sciezka))
  49. cout << (plik->d_name) << endl;
  50. closedir (Sciezka);
  51. cout << endl << endl<<p_1;
  52. }
  53.  
  54. else
  55.  
  56. {
  57. p_3=p_1;
  58. p_1=p_2+"/"+p_1;
  59. Sciezka = opendir(p_1.c_str());
  60. if (Sciezka != NULL)
  61.  
  62. {
  63. cout << "Zawartosc katalogu:: "<< p_1 << endl << endl;
  64. while (plik = readdir (Sciezka))
  65. cout << (plik->d_name) << endl;
  66. closedir (Sciezka);
  67. cout << endl << endl << p_1;
  68. }
  69.  
  70. else
  71.  
  72. {
  73. cout << "Nie ma takiej sciezki dostepu! " << endl;
  74. p_1=p_3;
  75. cout << p_1;
  76. }
  77. }
  78.  
  79. }
  80. else if (choice == "cd") // komenda przejscia do innego katalogu
  81. {
  82. p_2=p_1;
  83. cin >> p_1;
  84. DIR *Sciezka;
  85. dirent* plik;
  86. Sciezka = opendir (p_1.c_str());
  87. if (Sciezka == NULL)
  88. {
  89. p_1=p_2+"/"+p_1;
  90. Sciezka = opendir (p_1.c_str());
  91. if (Sciezka == NULL)
  92. {
  93. cout << "Nie moge znalezc katalogu" << endl;
  94. p_1=p_2;
  95. }
  96. }
  97. cout << endl << endl << p_1;
  98. }
  99. else if (choice=="pwd") // pokazuje w ktory katalogu obecnie jestesmy
  100. {
  101. DIR *Sciezka;
  102. dirent* plik;
  103. Sciezka = opendir (p_1.c_str());
  104. if (Sciezka == NULL)
  105. p_1=p_2+"/"+p_1;
  106. cout << endl << endl << "Jestes˜ w katalogu: " << p_1;
  107. }
  108. else if (choice=="home") //przejscie do katalogu g³ownego, katalogu home.
  109. p_1="/home";
  110. else if (choice=="cofnij") // powrot do porzedniego katalogu.
  111. {
  112. int pos = p_1.rfind("/");
  113. p_1 = p_1.erase(pos);
  114. cout << p_1;
  115. }
  116.  
  117. //poczatek
  118. else if(choice=="babl")
  119. {
  120.  
  121. using namespace std;
  122.  
  123. const int N = 20; // LiczebnoϾ zbioru.
  124.  
  125.  
  126. {
  127. int d[N],i,j,p;
  128.  
  129. cout <<
  130. "Przed sortowaniem:\n\n";
  131.  
  132.  
  133.  
  134. srand((unsigned)time(NULL));
  135.  
  136. for(i = 0; i < N; i++) d[i] = rand() % 100;
  137. for(i = 0; i < N; i++) cout << setw(4) << d[i];
  138. cout << endl;
  139.  
  140. // Sortujemy
  141.  
  142. for(j = N - 1; j > 0; j--)
  143. {
  144. p = 1;
  145. for(i = 0; i < j; i++)
  146. if(d[i] > d[i + 1])
  147. {
  148. swap(d[i], d[i + 1]);
  149. p = 0;
  150. }
  151. if(p) break;
  152. }
  153.  
  154. // Wyœwietlamy wynik sortowania
  155.  
  156. cout << "Po sortowaniu:\n\n";
  157. for(i = 0; i < N; i++) cout << setw(4) << d[i];
  158. cout << endl;
  159.  
  160. } }
  161.  
  162. else if(choice=="kwadrat") //obliczanie kwadratu lczby
  163. {
  164. double liczba;
  165. cout<<"Podaj dowolna liczba: "<< endl;
  166. cin>>liczba;
  167. cout<< endl;
  168.  
  169. cout<<"Kwadrat Twojej liczby wynosi: "<<(liczba*liczba)<<endl;
  170.  
  171.  
  172. cin.get();
  173. cin.get();
  174. return 0;
  175. }
  176. //koniec
  177.  
  178.  
  179. else if (choice=="utworz") //tworzy plik i zapisuje do niego tresc
  180. {
  181. cin >> p_3;
  182. string Dozapisu;
  183. cin.ignore(1,' ');
  184. getline(cin,Dozapisu);
  185. p_2=p_1+"/"+p_3;
  186. FILE * Plik;
  187. char bufor[Dozapisu.length() + 1];
  188. strcpy( bufor, Dozapisu.c_str() );
  189. Plik = fopen (p_2.c_str() , "wb" );
  190. fwrite (bufor , 1 , sizeof(bufor) , Plik );
  191. fclose (Plik);
  192. cout << "utworzono pomyslnie" << endl;
  193. delete Plik;
  194. cout << p_1 << " ";
  195. }
  196. else if (choice=="dni_miesiaca") //zliczenie ile dni ma wybrany miesiac
  197. {
  198. cout << "Podaj nr miesiaca: ";
  199. if (!(cin >> nr_miesiaca)) // ! = oznacza negacje prawdy z nawiasu
  200. {
  201. cerr<<"To nie jest liczba!"; // cerr = console error
  202. exit(0);
  203. }
  204.  
  205. switch(nr_miesiaca)
  206. {
  207. case 1:
  208. case 3:
  209. case 5:
  210. case 7:
  211. case 8:
  212. case 10:
  213. case 12:
  214. cout<<"Ten miesiac ma 31 dni!";
  215. break;
  216.  
  217. case 4:
  218. case 6:
  219. case 9:
  220. case 11:
  221. cout<<"Ten miesiac ma 30 dni!";
  222. break;
  223.  
  224. case 2:
  225. {
  226. int rok;
  227. cout<<"Podaj rok?: ";
  228. cin>>rok;
  229.  
  230. if (((rok%4 == 0) && (rok%100 != 0)) || (rok%400 == 0))
  231. cout<<"Ten miesiac ma 29 dni!";
  232. else
  233. cout<<"Ten miesiac ma 28 dni!";
  234. break;
  235. default:
  236. cout<<"Niepoprawny nr miesiaca!";
  237. //exit(0);
  238. }
  239. }
  240.  
  241. }
  242.  
  243.  
  244. else if (choice=="wyrazy") // pêtla zlicaj¹ca wyrazy w pliku
  245. {
  246. cin >> p_2;
  247. FILE * Plik;
  248. char znak;
  249. int wynik=1;
  250. p_3=p_1;
  251. p_1=p_1+"/"+p_2;
  252. Plik = fopen ( p_1.c_str() , "rb" );
  253. if (Plik==NULL)
  254. {
  255. cout << "nie ma takiego pliku" <<endl;
  256. }
  257. else
  258. {
  259. while((znak = getc(Plik)) != EOF)
  260. if (znak==' ')
  261. ++wynik;
  262.  
  263. if (wynik ==1)cout << "plik zawiera "<< wynik << " wyraz" << endl;
  264. else cout << "plik zawiera "<< wynik << " wyrazy" << endl;
  265. }
  266. p_1=p_3;
  267. cout << p_1 << " ";
  268. }
  269. else if (choice=="help")
  270. cout << "dostepne komendy\n ls\tcd\thelp\tpwd\tdni_miesiaca\texit\tbabl\tkwadrat\n";
  271.  
  272.  
  273. else if (choice!="exit" )cout << "zˆe polecenie" << endl << p_1; // jesli podamy zle polecie, pokaze nam siê stosowny komunikat.
  274.  
  275.  
  276. }
  277.  
  278. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement