Advertisement
MariusPure

pirmas

Apr 29th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <fstream>
  4. #include <cmath>
  5. #include <string>
  6. #include <iomanip>
  7. using namespace std;
  8.  
  9. int n = 0;
  10. char x[20];
  11. int val[20];
  12. int min[20];
  13. int VisoVal = 0;
  14. int VisoMin = 0;
  15.  
  16. struct kelione
  17. {
  18.     string v;
  19.     int pradV;
  20.     int pradM;
  21.     int pabV;
  22.     int pabM;
  23. };
  24. kelione m[20];
  25.  
  26. void skaitymas(int &n, kelione m[], char x[]);
  27. void skaiciavimas(int n, kelione m[], int val[], int min[],int &VisoVal, int &VisoMin);
  28. void irasymas(int n, kelione m[], int val[], int min[], int &VisoVal, int &VisoMin);
  29.  
  30. int main()
  31. {
  32.     skaitymas(n, m, x);
  33.     skaiciavimas(n, m, val, min, VisoVal, VisoMin);
  34.     irasymas(n, m, val, min, VisoVal, VisoMin);
  35. }
  36.  
  37. void skaitymas(int &n, kelione m[], char x[])
  38. {
  39.     ifstream d("duomenys.txt");
  40.     d >> n;
  41.     d.ignore();
  42.  
  43.     for (int i = 0; i < n; i++)
  44.     {
  45.         d.get(x, 20);
  46.         m[i].v = x;
  47.  
  48.         d >> m[i].pradV >> m[i].pradM >> m[i].pabV >> m[i].pabM;
  49.  
  50.         d.ignore();
  51.     }
  52.  
  53. }
  54.  
  55. void skaiciavimas(int n, kelione m[], int val[], int min[], int &VisoVal, int &VisoMin)
  56. {
  57.  
  58.     for (int i = 0; i < n; i++)
  59.     {
  60.         val[i] = (m[i].pabV * 60 + m[i].pabM) - (m[i].pradV * 60 + m[i].pradM);
  61.         min[i] = val[i] % 60;
  62.         val[i] /= 60;
  63.     }
  64.     VisoVal = ( ( 1440 - (m[0].pradV * 60 + m[0].pradM) ) + 1440 + (m[2].pabV * 60 + m[2].pabM));
  65.     VisoMin = VisoVal / 60;
  66.     VisoVal %= 60;
  67. }
  68.  
  69. void irasymas(int n, kelione m[], int val[], int min[], int &VisoVal, int &VisoMin)
  70. {
  71.     ofstream r("rez.txt");
  72.  
  73.     for (int i = 0; i < n; i++)
  74.     {
  75.         r << m[i].v << " " << val[i] << " " << setfill('0') << setw(2) << min[i] << endl;
  76.     }
  77.     r << VisoVal << " " << VisoMin << endl;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement