Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <dirent.h>
- #include <string.h>
- #include <unistd.h>
- #include <fstream>
- #include <cstdlib>
- #include <windows.h>
- #include <iomanip>
- #include <cmath>
- #include <iostream>
- #include <iomanip>
- #include <cstdlib>
- #include <time.h>
- using namespace std;
- string nr_albumu;
- int main()
- {
- cout << "Powloka Krzysztof Wysocki 3372" << endl;
- {
- }
- cout << "dostepne komendy:\n ls\tcd\thelp\tpwd\tdni_miesiaca\texit\tbabl\tkwadrat\n";
- cout << "/czekam_na_polecenie:";
- string choice,p_1,p_2,p_3;
- int nr_miesiaca;
- p_1="/home";
- while (choice != "exit")
- {
- cin >> choice;
- if (choice == "ls") //listowanie zawartości w danym katalogu
- {
- DIR *Sciezka;
- dirent* plik;
- Sciezka = opendir (p_1.c_str());
- if (Sciezka != NULL)
- {
- cout << "Zawartosc katalogu: " << p_1 << endl;
- while (plik = readdir (Sciezka))
- cout << (plik->d_name) << endl;
- closedir (Sciezka);
- cout << endl << endl<<p_1;
- }
- else
- {
- p_3=p_1;
- p_1=p_2+"/"+p_1;
- Sciezka = opendir(p_1.c_str());
- if (Sciezka != NULL)
- {
- cout << "Zawartosc katalogu:: "<< p_1 << endl << endl;
- while (plik = readdir (Sciezka))
- cout << (plik->d_name) << endl;
- closedir (Sciezka);
- cout << endl << endl << p_1;
- }
- else
- {
- cout << "Nie ma takiej sciezki dostepu! " << endl;
- p_1=p_3;
- cout << p_1;
- }
- }
- }
- else if (choice == "cd") // komenda przejscia do innego katalogu
- {
- p_2=p_1;
- cin >> p_1;
- DIR *Sciezka;
- dirent* plik;
- Sciezka = opendir (p_1.c_str());
- if (Sciezka == NULL)
- {
- p_1=p_2+"/"+p_1;
- Sciezka = opendir (p_1.c_str());
- if (Sciezka == NULL)
- {
- cout << "Nie moge znalezc katalogu" << endl;
- p_1=p_2;
- }
- }
- cout << endl << endl << p_1;
- }
- else if (choice=="pwd") // pokazuje w ktory katalogu obecnie jestesmy
- {
- DIR *Sciezka;
- dirent* plik;
- Sciezka = opendir (p_1.c_str());
- if (Sciezka == NULL)
- p_1=p_2+"/"+p_1;
- cout << endl << endl << "Jestes˜ w katalogu: " << p_1;
- }
- else if (choice=="home") //przejscie do katalogu g³ownego, katalogu home.
- p_1="/home";
- else if (choice=="cofnij") // powrot do porzedniego katalogu.
- {
- int pos = p_1.rfind("/");
- p_1 = p_1.erase(pos);
- cout << p_1;
- }
- //poczatek
- else if(choice=="babl")
- {
- using namespace std;
- const int N = 20; // LiczebnoϾ zbioru.
- {
- int d[N],i,j,p;
- cout <<
- "Przed sortowaniem:\n\n";
- srand((unsigned)time(NULL));
- for(i = 0; i < N; i++) d[i] = rand() % 100;
- for(i = 0; i < N; i++) cout << setw(4) << d[i];
- cout << endl;
- // Sortujemy
- for(j = N - 1; j > 0; j--)
- {
- p = 1;
- for(i = 0; i < j; i++)
- if(d[i] > d[i + 1])
- {
- swap(d[i], d[i + 1]);
- p = 0;
- }
- if(p) break;
- }
- // Wyœwietlamy wynik sortowania
- cout << "Po sortowaniu:\n\n";
- for(i = 0; i < N; i++) cout << setw(4) << d[i];
- cout << endl;
- } }
- else if(choice=="kwadrat") //obliczanie kwadratu lczby
- {
- double liczba;
- cout<<"Podaj dowolna liczba: "<< endl;
- cin>>liczba;
- cout<< endl;
- cout<<"Kwadrat Twojej liczby wynosi: "<<(liczba*liczba)<<endl;
- cin.get();
- cin.get();
- return 0;
- }
- //koniec
- else if (choice=="utworz") //tworzy plik i zapisuje do niego tresc
- {
- cin >> p_3;
- string Dozapisu;
- cin.ignore(1,' ');
- getline(cin,Dozapisu);
- p_2=p_1+"/"+p_3;
- FILE * Plik;
- char bufor[Dozapisu.length() + 1];
- strcpy( bufor, Dozapisu.c_str() );
- Plik = fopen (p_2.c_str() , "wb" );
- fwrite (bufor , 1 , sizeof(bufor) , Plik );
- fclose (Plik);
- cout << "utworzono pomyslnie" << endl;
- delete Plik;
- cout << p_1 << " ";
- }
- else if (choice=="dni_miesiaca") //zliczenie ile dni ma wybrany miesiac
- {
- cout << "Podaj nr miesiaca: ";
- if (!(cin >> nr_miesiaca)) // ! = oznacza negacje prawdy z nawiasu
- {
- cerr<<"To nie jest liczba!"; // cerr = console error
- exit(0);
- }
- switch(nr_miesiaca)
- {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12:
- cout<<"Ten miesiac ma 31 dni!";
- break;
- case 4:
- case 6:
- case 9:
- case 11:
- cout<<"Ten miesiac ma 30 dni!";
- break;
- case 2:
- {
- int rok;
- cout<<"Podaj rok?: ";
- cin>>rok;
- if (((rok%4 == 0) && (rok%100 != 0)) || (rok%400 == 0))
- cout<<"Ten miesiac ma 29 dni!";
- else
- cout<<"Ten miesiac ma 28 dni!";
- break;
- default:
- cout<<"Niepoprawny nr miesiaca!";
- //exit(0);
- }
- }
- }
- else if (choice=="wyrazy") // pêtla zlicaj¹ca wyrazy w pliku
- {
- cin >> p_2;
- FILE * Plik;
- char znak;
- int wynik=1;
- p_3=p_1;
- p_1=p_1+"/"+p_2;
- Plik = fopen ( p_1.c_str() , "rb" );
- if (Plik==NULL)
- {
- cout << "nie ma takiego pliku" <<endl;
- }
- else
- {
- while((znak = getc(Plik)) != EOF)
- if (znak==' ')
- ++wynik;
- if (wynik ==1)cout << "plik zawiera "<< wynik << " wyraz" << endl;
- else cout << "plik zawiera "<< wynik << " wyrazy" << endl;
- }
- p_1=p_3;
- cout << p_1 << " ";
- }
- else if (choice=="help")
- cout << "dostepne komendy\n ls\tcd\thelp\tpwd\tdni_miesiaca\texit\tbabl\tkwadrat\n";
- else if (choice!="exit" )cout << "zˆe polecenie" << endl << p_1; // jesli podamy zle polecie, pokaze nam siê stosowny komunikat.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement