Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef wyswietlanie_h
- #define wyswietlanie_h
- #include <iostream>
- #include <vector>
- #include <string>
- namespace show
- {
- void Wpis(std::vector<std::string>zPliku); // wszystkie wpisy
- void Wpis(std::vector<std::string>zPliku, int ktory); // konkretny wpis
- void Wpis(std::vector<std::string>zPliku, int zakresOd, int zakresDo); // zakres wpisow
- };
- #endif
- wyswietlanie.cpp
- #include "wyswietlanie.h"
- #include <iostream>
- #include <vector>
- #include <windows.h>
- namespace show
- {
- void Wpis(std::vector<std::string>zPliku, int ktory)
- {
- HANDLE uchwyt;
- uchwyt = GetStdHandle(STD_OUTPUT_HANDLE);
- if((ktory < 0) || (ktory-1 > zPliku.size()))
- {
- SetConsoleTextAttribute(uchwyt, 4 | FOREGROUND_INTENSITY);
- std::cout << "Nie ma podanego wpisu w bazie!";
- SetConsoleTextAttribute(uchwyt, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
- }
- else
- {
- SetConsoleTextAttribute(uchwyt, 14);
- std::cout << "\n" << ktory << ". " <<zPliku[ktory-1];
- SetConsoleTextAttribute(uchwyt, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
- }
- }
- void Wpis(std::vector<std::string>zPliku, int zakresOd, int zakresDo)
- {
- if(zakresOd<1) zakresOd=1;
- if(zakresDo>zPliku.size()) zakresDo=zPliku.size();
- for(unsigned int licznik=zakresOd-1; licznik<zakresDo; licznik++)
- std::cout << licznik+1 << ". " << zPliku[licznik];
- }
- void Wpis(std::vector<std::string>zPliku)
- {
- unsigned int i=0;
- unsigned int rozmiar = zPliku.size();
- std::cout << "\n\nWszystkie wpisy:\n\n";
- for(i=0; i<rozmiar; i++)
- {
- std::cout << i+1 << ". " << zPliku[i];
- }
- }
- };
- wczytanie.h
- #ifndef wczytanie_h
- #define wczytanie_h
- #include <vector>
- #include <iostream>
- namespace get
- {
- extern std::vector<std::string>zPliku;
- int plik();
- };
- #endif
- wczytanie.cpp
- #include "wczytanie.h"
- #include <stdio.h>
- #include <string>
- #include <iostream>
- namespace get
- {
- std::vector<std::string> zPliku;
- int plik()
- {
- char bufor[30]={0};
- int ilosc = 0;
- FILE *fp = NULL;
- if(!(fp=fopen("data.txt", "r"))) fp=fopen("data.txt", "w");
- while(!feof(fp))
- {
- fgets(bufor, 20, fp);
- zPliku.push_back(bufor);
- }
- fclose(fp);
- ilosc = zPliku.size();
- return ilosc;
- }
- };
- snow.h
- #ifndef SNOW_H
- #define SNOW_H
- #include "stdafx.h"
- #include <vector>
- #include <string>
- #include <conio.h>
- #include <iostream>
- #include <stdio.h>
- #include <windows.h>
- #include "wyswietlanie.h"
- #include "wczytanie.h"
- #define FR FOREGROUND_RED | FOREGROUND_INTENSITY
- #define FW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
- #define BW BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
- #define B0 0
- void MenuShow (std::vector<std::string>, int, HANDLE);
- #endif
- snow.cpp
- #include "snow.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int ileWpisow = get::plik();
- char x;
- int ktoryWpis;
- HANDLE hOut;
- CONSOLE_CURSOR_INFO ConCurInf;
- hOut = GetStdHandle(STD_OUTPUT_HANDLE);
- ConCurInf.dwSize = 100;
- ConCurInf.bVisible = FALSE;
- SetConsoleCursorInfo(hOut, &ConCurInf);
- unsigned int menu_Select = 0;
- bool menu_Semafor = 1;
- std::vector<std::string>menu;
- menu.push_back("Wyswietl konkretny wpis");
- menu.push_back("Wyswietl zakres wpisow");
- menu.push_back("Wyswietl wszystkie wpisy");
- menu.push_back("Wyswietl 10 ostatnich wpisow");
- menu.push_back("Zakoncz program");
- while(1) {
- if(menu_Semafor) MenuShow(menu, menu_Select, hOut);
- SetConsoleTextAttribute(hOut, 43);
- std::cout <<"Wpisow w bazie: " << ileWpisow << "\n";
- menu_Semafor=1;
- switch(x=_getch())
- {
- case 80:
- case 77:
- if(menu_Select < (menu.size()-1)) menu_Select++;
- break;
- case 72:
- case 75:
- if(menu_Select > 0) menu_Select--;
- break;
- case '2':
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- std::cout << "Wybrano pozycje 2." << std::endl;
- break;
- case 13:
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- switch(menu_Select)
- {
- case 0:
- std::cout << "\nKtory wpis wyswietlic? ";
- std::cin >> ktoryWpis;
- show::Wpis(get::zPliku, ktoryWpis);
- std::cout << "\n\nNacisnij dowolny klawisz aby kontynuowac...";
- _getch();
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- break;
- case 1:
- int zakresOd, zakresDo;
- std::cout << "Podaj zakres wpisow: [od do]: ";
- scanf("%d %d", &zakresOd, &zakresDo);
- show::Wpis(get::zPliku, zakresOd, zakresDo);
- _getch();
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- break;
- case 2:
- show::Wpis(get::zPliku);
- std::cout << "\n\nNacisnij dowolny klawisz aby kontynuowac...";
- _getch();
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- break;
- case 3:
- int zakresOd2, zakresDo2;
- zakresOd2 = get::zPliku.size()-10;
- zakresDo2 = get::zPliku.size();
- show::Wpis(get::zPliku, zakresOd2, zakresDo2);
- _getch();
- menu_Semafor=0;
- MenuShow(menu, menu_Select, hOut);
- break;
- case 4:
- return 0;
- }
- }
- }
- }
- void MenuShow (std::vector<std::string> menu, int menu_Select, HANDLE hOut)
- {
- SetConsoleTextAttribute(hOut, 0);
- system("CLS");
- for(unsigned int i = 0; i < menu.size(); i++)
- {
- SetConsoleTextAttribute(hOut, 10);
- std::cout << i+1 << " ";
- if(menu_Select == i) SetConsoleTextAttribute(hOut, FR | BW);
- else SetConsoleTextAttribute(hOut, FW | B0);
- std::cout << menu[i] << std::flush << std::endl;
- }
- SetConsoleTextAttribute(hOut, FW | B0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement