- // Sklep.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
- //
- #include <cstdlib>
- #include <iostream>
- #include <fstream>
- #include <list>
- #include <string>
- #include <map>
- #include <cassert>
- #include <utility>
- using namespace std;
- /*
- Do zrobienia
- 1.odczytywanie pliku linia po lini do mapy <int,string> w której pierwsza wartość to będzie nazwa produktu a druga to cena np. 1.NazwaNumer1:15zł
- 2.Wykorzysyanie funkcji sumaCenProduktow do wyswietlania sumy cen w kazdej kategorii
- 3.Stworzenie 3 kategorii i
- 4.Jak porzy odczycie sie odwolac do konkretnej linii, zeby dodac do funkcj zapisDoPlikuONazwieKoszyk odpowiednie produkty
- 5.Z kategorii jedna funkcja wczytywac do mapy i sumowac produkty
- 6.Uzyc w projekcie konstruktowy i destruktory,
- 7.Uzyc w projekcie metode wirtualna,
- 8.stworzyc dziedziczenie
- 9.Stworzyc instancje klas i zaprezentowac dzialanie programu
- 10.Wskazniki, getery seterry
- */
- double sumaCenProduktow(map<int, string>mymap)
- {
- double zmienna = 0;
- for (map<int, string>::iterator ite = mymap.begin(); ite != mymap.end(); ite++)
- {
- //cout << endl << ite->first;//<<endl<<ite->second;
- zmienna = zmienna + (ite->first);
- }
- cout << endl << zmienna;
- return zmienna;
- }
- class produkty
- {
- //private:
- // string nazwa;
- // double cena;
- public:
- /* produkty(string nazwa, double cena)
- {
- nazwa = nazwa;
- cena = cena;
- }*/
- };
- class wyswi
- {
- public:
- map<int, string>mymap;
- int zmienna;
- string tN;
- void zapisDoPlikuONazwieKoszyk(string path)
- {
- string linia;
- fstream plik;
- plik.open("koszyk.txt", ios::out | ios::app);
- if (plik.good() == true)
- {
- plik << endl << path;
- plik.close();
- }
- }
- void UsunieciePlikuKoszyk()
- {
- ofstream ofs;
- ofs.open("koszyk.txt", std::ofstream::out | std::ofstream::trunc);
- ofs.close();
- }
- void koszyk()
- {
- system("cls");
- //odczytanie zapisanych z pliku i wystwietlenie ich na ekranie oraz wyswietlenie sumy na ekranie
- string linia;
- fstream plik;
- char a;
- plik.open("koszyk.txt", ios::in);
- if (plik.good() == true)
- {
- while (!plik.eof())
- {
- getline(plik, linia);
- cout << linia << endl; //wyświetlenie linii
- }
- plik.close();
- }
- cout << "Wcisnij klawisz z cyfra 1, zeby oplacic" << endl;
- cout << "Wcisnij klawisz z cyfra 2, zeby wyjsc" << endl;
- cin >> a;
- switch (a)
- {
- case 1:
- cout << "Gratulujemy świetnego wyboru i zapraszamy ponownie!" << endl;
- UsunieciePlikuKoszyk();
- break;
- case 2:
- break;
- }
- }
- void wyswietlanieKategori(string file)
- {
- string linia;
- fstream plik;
- char a;
- plik.open(file, ios::in);
- if (plik.good() == true)
- {
- while (!plik.eof())
- {
- getline(plik, linia);
- cout << linia << endl; //wyświetlenie linii
- }
- plik.close();
- }
- }
- void kat1()
- {
- system("cls");
- cout << "Suma wszystkich produktów w tej kategori" << sumaCenProduktow(mymap) << endl;
- cout << "Wybierz produkt" << endl;
- wyswietlanieKategori("kat1.txt");
- cout << "Przejdz do koszyka" << endl;
- cin >> zmienna;
- switch (zmienna)
- {
- case 1:
- cout << "Czy chcesz kupić ten produkt? T/N" << endl;
- cin >> tN;
- if (tN == "T")
- {
- //otwieranie pliku i zapis na koniec pliku
- zapisDoPlikuONazwieKoszyk("1Produkt");
- }
- break;
- case 2:
- cout << "Czy chcesz kupić ten produkt? T/N" << endl;
- cin >> tN;
- if (tN == "T")
- {
- //otwieranie pliku i zapis na koniec pliku
- }
- break;
- case 3:
- cout << "Czy chcesz kupić ten produkt? T/N" << endl;
- cin >> tN;
- if (tN == "T")
- {
- //otwieranie pliku i zapis na koniec pliku
- }
- break;
- case 4:
- koszyk();
- break;
- }
- }
- void kat2()
- {
- system("cls");
- cout << "Suma wszystkich produktów w tej kategori" << sumaCenProduktow(mymap) << endl;
- cout << "Wybierz produkt" << endl;
- wyswietlanieKategori("kat2.txt");
- cout << "Przejdz do koszyka" << endl;
- cin >> zmienna;
- }
- void kat3()
- {
- system("cls");
- cout << "Suma wszystkich produktów w tej kategori" << sumaCenProduktow(mymap) << endl;
- cout << "Wybierz produkt" << endl;
- wyswietlanieKategori("kat3.txt");
- cout << "Przejdz do koszyka" << endl;
- cin >> zmienna;
- }
- void kategorie()
- {
- system("cls");
- cout << "Wybierz kategorie" << endl;
- cout << "1. Zrodla swiatla" << endl;
- cout << "2. Przewody i Kable" << endl;
- cout << "3. Gniazda i łaczniki" << endl;
- cout << "3.wyjdz" << endl;
- cin >> zmienna;
- switch (zmienna)
- {
- case 1:
- kat1();
- break;
- case 2:
- kat2();
- break;
- case 3:
- kat3();
- break;
- case 4:
- break;
- }
- }
- void wyswietlanie()
- {
- cout << "Wybierz numer" << endl;
- cout << "1.Sklep" << endl;
- cout << "2.Koszyk" << endl;
- cout << "3.Wyjscie" << endl;
- cin >> zmienna;
- switch (zmienna)
- {
- case 1:
- cout << "1.Sklep" << endl;
- kategorie();
- break;
- case 2:
- cout << "2.Koszyk" << endl;
- koszyk();
- break;
- case 3:
- cout << "3.Wyjscie" << endl;
- break;
- default:
- break;
- }
- }
- };
- int main()
- {
- wyswi a;
- // a.koszyk();
- // a.zapisDoPlikuONazwieKoszyk("elo");
- a.wyswietlanieKategori("kat1.txt");
- //// remove("koszyk.txt");
- }
- // wyswi a;
- //// a.wyswietlanie();
- // produkty b;
- // b.odczytPliku();
- ////cz2
- // map<int, string> mymap;
- // //mymap[34] = "Produkt1";
- // //mymap[2] = "Produkt2";
- // //mymap[13] = "Produkt3";
- // //for (map<int, string>::iterator i = mymap.begin(); i != mymap.end(); ++i)
- // // cout << i->first << ":" << i->second << "\n";
- // // write the map contents to file.
- //ofstream output("test.txt");
- // assert(output.good());
- // double zmienna = 0;
- // for (map<int, string>::iterator it = mymap.begin(); it != mymap.end(); ++it)
- // output << it->first << ":" << it->second << "\n";
- // for (map<int, string>::iterator ite = mymap.begin(); ite != mymap.end(); ite++)
- // {
- // cout << endl << ite->first;//<<endl<<ite->second;
- // zmienna = zmienna + (ite->first);
- // }
- // cout << endl << zmienna;
- // p();
- // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
- // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
- // Porady dotyczące rozpoczynania pracy:
- // 1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
- // 2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
- // 3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
- // 4. Użyj okna Lista błędów, aby zobaczyć błędy
- // 5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
- // 6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln