Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // duom2.txt
- 6 70 10 15
- Elektrėnai 50.5
- Žiežmariai 20
- Kaunas 22.35
- Raseiniai 80
- Kryžkalnis 20
- Klaipėda 100.8
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- #include <fstream>
- using namespace std;
- const char duomF[] = "duom2.txt";
- const char rezF[] = "rez2.txt";
- const int CMax = 100;
- struct kelione
- {
- string pav; //Stoteles pavadinimas
- double km; // Atstumas tarp stoteliu
- int val;
- int min;
- };
- void skaitymas(kelione A[], int &n, int &v, int &val, int &min)
- {
- ifstream df(duomF);
- df >> n >> v >> val >> min;
- char eil[16];
- df.ignore(80, '\n');
- for (int i = 0; i < n; i++)
- {
- df.get(eil, 15);
- A[i].pav = eil;
- df >> A[i].km;
- df.ignore(80, '\n');
- }
- df.close();
- }
- int laikas(double atstumas, int greitis)
- {
- return trunc(atstumas / greitis * 60);
- }
- void rasti(kelione A[], int n, int v, int val, int min)
- {
- double s = 0; // Atstumas nuo pradines stoteles iki tam tikros stoteles
- int laikassk; // Minutes nuo pradines stoteles iki tam tikros stoteles
- for (int i = 0; i < n; i++)
- {
- s += A[i].km;
- laikassk = laikas(s, v) + (val * 60) + min; // trunc(s / v * 60)
- A[i].val = laikassk / 60; A[i].min = laikassk % 60;
- }}
- void iFaila(kelione A[], int n)
- {
- ofstream rf(rezF);
- for(int i = 0; i < n; i++) rf << A[i].pav << A[i].val << " val. " << A[i].min << " min." << endl;
- rf.close();
- }
- int main ()
- {
- kelione A[CMax]; int n;
- int v; // Autobuso greitis
- int val, min; // Isvykimo is Vilniaus laikas
- skaitymas(A, n, v, val, min);
- rasti (A, n, v, val, min);
- iFaila(A, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement