Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <fstream>
- #define nmarks 5
- #define nsessions 2
- using namespace std;
- struct Tstudent
- {
- string name, lastname, surname, exam_name;
- unsigned int nkurs, ngroup, exam_mark;
- int marks[nsessions][nmarks];
- bool study_form;
- };
- Tstudent* Read_from_file(ifstream &f)
- {
- Tstudent* temp = new Tstudent;
- string s;
- getline(f,temp->lastname);
- if(f.eof())
- {
- delete temp;
- return NULL;
- }
- getline(f,temp->name);
- getline(f,temp->surname);
- f >> temp->nkurs;
- f >> temp->ngroup;
- for ( int i=0; i<nsessions;i++)
- for(int j=0; j<nmarks; j++)
- f >> temp->marks[i][j];
- f >> temp->study_form;
- getline(f, s);
- getline(f,temp->exam_name);
- f >> temp->exam_mark;
- getline(f, s);
- return temp;
- }
- Tstudent* Move_to_next_kurs(Tstudent * st)
- {
- if(st!=NULL)
- {
- if(st->nkurs==4)
- return NULL;
- else
- {
- st->nkurs++;
- return st;
- }
- }
- return NULL;
- }
- int Write_to_file(Tstudent* st, ofstream &f)
- {
- if(st!=NULL)
- {
- f << st->lastname << endl;
- f << st->name << endl;
- f << st->surname << endl;
- f << st->nkurs << endl;
- f << st->ngroup << endl;
- for ( int i=0; i<nsessions;i++)
- for(int j=0; j<nmarks; j++)
- f << st->marks[i][j] << " ";
- f << endl;
- f << st->study_form << endl;
- f << st->exam_name << endl;
- f << st->exam_mark << endl;
- return 0;
- }
- else
- return 1;
- }
- int main()
- {
- setlocale(0,"Russian");
- ifstream input_file("student.dat.txt");
- ofstream output_file("student_output.dat.txt");
- while(!input_file.eof())
- Write_to_file(Move_to_next_kurs(Read_from_file(input_file)),output_file);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement