нужна помощь в решении задачи, нужен код записи и чтения данных с файла, записанных ранее, а точнее выполнить заполнение данными "полей ввода" документа (текстового файла).
Пример
Screens.png
Код:
#include<iostream>
#include<string>
#include<iomanip>
#include<fstream>
#include<windows.h>
using namespace std;
class Spravka
{
string Name;
string Last_name;
int Year;
string Sex;
string Vuz;
int course;
string Fakult;
public:
void set(string _name, string _last_name,int _year,string _sex, string _vuz, int _course, string _fakult)
{
Name = _name;
Last_name = _last_name;
Year = _year;
Sex = _sex;
Vuz = _vuz;
course = _course;
Fakult = _fakult;
}
void get() {
cout << left << setw(8) << Name << setw(8) << Last_name << setw(8) << Year << setw(8) << Sex << setw(8) << Vuz << setw(8) << course << setw(8) << Fakult << endl;
}
};
void main()
{
setlocale(LC_ALL, "rus");
int n;
cout << "Введите кол-во значений:" << endl;
cin >> n;
string Name;
string Last_Name;
int Year;
string Sex;
string Vuz;
int course;
string Facult;
int c;
Spravka*p = new Spravka[n];
for (int i = 0; i < n; i++) {
cout << "Имя: ";
cin >> Name;
cout << "Фамилия: ";
cin >> Last_Name;
cout << "Год: ";
cin >> Year;
cout << "Пол: ";
cin >> c;
switch (c)
{
case 1:
Sex = "мужской";
break;
case 2:
Sex = "женский";
break;
}
cout << "ВУЗ: ";
cin >> Vuz;
cout << "Курс: ";
cin >> course;
cout << "Факультет: ";
cin >> Facult;
p[i].set(Name, Last_Name, Year,Sex,Vuz,course,Facult);
}
cout << "Имя\t" << "Фамилия\t" << "Год\t" << "Пол\t" << "ВУЗ\t" << "Курс\t" << "Факультет" << endl;
for (int i = 0; i < n; i++)
{
SetConsoleCP(1251);
p[i].get();
SetConsoleCP(866);
}
for (int i = 0; i < n; i++)
{
cin >> i;
p[i].get();
}
string path = "myFile.txt";
fstream fs;
fs.open(path, fstream::in | fstream::out | fstream::app);
if (!fs.is_open())
{
cout << "Ошибка открытия файла" << endl;
}
else
{
string msg;
int value;
cout << "файл открыт!" << endl;
cout << " Нажмите 1 для записи сообщения в файле:" << endl;
cout << "Нажмите 2 для считывания всех сообщений из файла:" << endl;
cin >> value;
if (value == 1)
{
for (int i = 0; i < n; i++)
{
fs.write((char*)&p, sizeof(Spravka));
}
}
if (value == 2)
{
Spravka pnt;
while (fs.read&pnt, sizeof(Spravka)))
{
getline(fs, pnt.get);
}
}
fs.close();
}
system("pause");
}
может знаете как это решить