Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <sstream>
- #include <string>
- using namespace std;
- // STRUCTS
- struct Slider
- {
- string name; // Vardas
- int startTime; // Starto laikas sekundemis
- int finishTime; // Finisho laikas sekundemis
- int doTime; // Per kiek laiko iveike
- };
- // FUNCTIONS DECLARATIONS
- int GetSliderIndex(string name, Slider sliders[], int maxlenght);
- void SaveResults(string filename, Slider sliders[], int maxlenght);
- void SortArrayByTime(Slider sliders[], int maxlenght);
- // MAIN
- int main()
- {
- ifstream in("U2.txt");
- if(in.is_open() && in.good())
- {
- int max_sliders = 0,
- finished_sliders = 0;
- in >> max_sliders;
- if(1 <= max_sliders <= 30)
- {
- cout << max_sliders << endl;
- Slider
- sliders[max_sliders];
- string
- buffer;
- int h, m, s;
- for(int l = 0; l < max_sliders; l++)
- {
- getline(in, buffer);
- if(!buffer.empty())
- {
- // Vardo isgavimas nukerpant gala
- sliders[l].name = buffer.substr(0, 20);
- // Laiko isgavimas i kintamuosius su string stream
- istringstream time_buffer(buffer.substr(20, buffer.length()));
- time_buffer >> h >> m >> s;
- sliders[l].startTime = h*60*60 + m*60 + s;
- cout << "Vardas: " << sliders[l].name << endl;
- cout << "Start time " << sliders[l].startTime << endl;
- }
- else l--;
- }
- in >> finished_sliders;
- if(1 <= finished_sliders <= 30)
- {
- for(int l = 0; l < finished_sliders; l++)
- {
- getline(in, buffer);
- if(!buffer.empty())
- {
- string name = buffer.substr(0, 20);
- int index = GetSliderIndex(name, sliders, max_sliders);
- if(index != -1)
- {
- istringstream time_buffer(buffer.substr(20, buffer.length()));
- time_buffer >> h >> m >> s;
- sliders[index].finishTime = h*60*60 + m*60 + s;
- sliders[index].doTime = sliders[index].finishTime - sliders[index].startTime;
- //cout << sliders[index].name << " per " << sliders[index].doTime << endl;
- }
- }
- else l--;
- }
- SortArrayByTime(sliders, finished_sliders);
- SaveResults("U2Rez.txt", sliders, finished_sliders);
- }
- }
- }
- else cout << "Klaida atidarant faila U2.txt" << endl;
- return 0;
- }
- // FUNCTIONS
- int GetSliderIndex(string name, Slider sliders[], int maxlenght)
- {
- for(int i = 0; i < maxlenght; i++)
- {
- if(sliders[i].name == name) return i;
- }
- return -1;
- }
- void SaveResults(string filename, Slider sliders[], int maxlenght)
- {
- for(int s = 0; s < maxlenght; s++)
- {
- cout << sliders[s].name << " per " << sliders[s].doTime << endl;
- }
- /*ofstream out(filename.c_str());
- if(out.is_open() && out.good())
- {
- for(int s = 0; s < maxlenght; s++)
- {
- }
- }
- else cout << "Klaida atidarant faila " << filename << endl;
- out.close();*/
- }
- void SortArrayByTime(Slider sliders[], int maxlenght)
- {
- for(int a = 0; a < maxlenght; a++)
- {
- for(int b = a; b < maxlenght; b++)
- {
- if(sliders[a].doTime > sliders[b].doTime)
- {
- Slider cpy;
- cpy = sliders[b];
- sliders[b] = sliders[a];
- sliders[a] = cpy;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement