Pereiti prie turinio

Rekomenduojami pranešimai

#include <fstream>
#include <string>

using namespace std;

struct studentai{
  	string pav;
  	int h1, m1;
  	int h2, m2;
  	};
studentai A[100];
int h[100], m[100];
int n;

void skaitom();
int laikas();
void spausdinam();

int main()
{
skaitom();
spausdinam();
return 0;
}
void skaitom()
{
	char B[20];
	ifstream fd("duom.txt");
	fd >> n;
	fd.ignore();
	for(int i = 0; i < n; i++){
        	fd.get(B, 20);
        	A[i].pav = B;
        	fd >> A[i].h1 >> A[i].m1 >> A[i].h2 >> A[i].m2;
        	fd.ignore();
        	}
fd.close();
}
int laikas()
{
  	for(int i = 0; i < n; i++){
  	h[i] = A[i].h2 - A[i].h1;
  	m[i] = A[i].m2 - A[i].m1;
  	}
}
void spausdinam()
{
	laikas();
	ofstream fr("rez.txt");
	for(int i = 0; i < n; i++)
	fr << A[i].pav << "  " << h[i]  << "  " << m[i] << endl;
	fr.close();
}

Aš tą laiką nesugalvojau kaip parašyt, tai taip betkaip parašiau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ačiū, pavyko. Štai kodas:

#include <fstream>
#include <string>

using namespace std;

struct studentai{
  	string pav;
  	int h1, m1;
  	int h2, m2;
  	};
studentai A[100];
int h[100], m[100];
int n;

void skaitom();
int laikas();
void spausdinam();

int main()
{
skaitom();
spausdinam();
return 0;
}
void skaitom()
{
	char B[20];
	ifstream fd("duom.txt");
	fd >> n;
	fd.ignore();
	for(int i = 0; i < n; i++){
        	fd.get(B, 20);
        	A[i].pav = B;
        	fd >> A[i].h1 >> A[i].m1 >> A[i].h2 >> A[i].m2;
        	fd.ignore();
        	}
fd.close();
}
int laikas()
{
  	int vm = 0; //visos minutes
  	for(int i = 0; i < n; i++)
  	{
       	vm = (A[i].h2 * 60 + A[i].m2) - (A[i].h1 * 60 + A[i].m1); // paverciam viska minutem
       	while(vm >= 60){  //skaiciuojam kiek valandu po 60 min ir pridedam po 1 kol vm < 60;
         	vm = vm - 60;
         	h[i]++;
         	if ( vm < 60) m[i] = vm;
         	}
  	}
}
void spausdinam()
{
	laikas();
	ofstream fr("rez.txt");
	for(int i = 0; i < n; i++)
	fr << A[i].pav << "  " << h[i]  << "  " << m[i] << endl;
	fr.close();
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Traukiant valandas ir minutes, reikejo tiesiog pritaikyti matematika vietoj while ciklo

while(vm >= 60){  //skaiciuojam kiek valandu po 60 min ir pridedam po 1 kol vm < 60;
vm = vm - 60;
h[i]++;
if ( vm < 60) m[i] = vm;
}

i

h[i] = vm / 60;
m[i] = vm % 60;

Redagavo Imago
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...