лабки / 310-і-БОЙКО_22
.docxВиконав Бойко Є.А.
Група 310
Варіант 3
Лабораторна робота 20
СЕРІАЛІЗАЦІЯ НЕСТАНДАРТНИХ ОБ’ЄКТІВ ПІД ЧАС РОБОТИ З ФАЙЛАМИ
завдання 1
Блок схеми:
Код:
BOOL Crabfile1Dlg::OnInitDialog(){
CDialogEx::OnInitDialog();
strcpy_s(OutString[0],"я люблю цей предмет.");
strcpy_s(OutString[1]," я сподіваюсь, що мені поставлять автомат.");
strcpy_s(OutString[2],"Інколи мені сумно.");
strcpy_s(OutString[3],"Мені потрібен автомат.");}
return TRUE;}
void Crabfile1Dlg::OnBnClickedButton1(){
CFile to_file("f1.dat",
CFile::modeCreate|CFile::modeWrite);
for(int i=0; i<4; i++){
to_file.Seek(i*80,CFile::begin);
to_file.Write(OutString[i],80);}
m_edit1.SetWindowTextA("Занесення відбулося");
to_file.Close();}
void Crabfile1Dlg::OnBnClickedButton2(){
CFile from_file("f1.dat",CFile::modeRead);
for(int i=0; i<4; i++){
from_file.Seek(i*80, CFile::begin);
from_file.Read(InString, 80);
m_list1.AddString(InString);}}
Скріншот программи:
завдання 2
Блок схеми:
Код:
void Crabfile2Dlg:: OnBnClickedButton1(){
to_file.Open("f1.dat",CFile::modeCreate|CFile::modeWrite);
nomer=0; CString s;
m_edit1.GetWindowTextA(s);
kil_poliv=atoi(s);}
void Crabfile2Dlg:: OnBnClickedButton2(){
CString s; m_edit2.GetWindowTextA(s);
strcpy_s(OutString[nomer],s);
to_file.Seek(nomer*80,CFile::begin);
to_file.Write(OutString[nomer],80);
char str[10]; _gcvt(nomer+1,3,str);
m_edit3.SetWindowTextA(str);
m_edit2.SetWindowTextA(""); nomer++;
if(nomer>=kil_poliv){
nomer=0;
m_edit2.SetWindowTextA("Занесення закінчилося");
to_file.Close();}}
void Crabfile2Dlg::OnBnClickedButton3(){
from_file.Open("f1.dat",CFile::modeRead);
CString s;
for(int i=0;i<kil_poliv;i++){
from_file.Seek(i*80,CFile:: begin);
from_file.Read(InString,80);
m_list1.AddString(InString);}}
Скріншот программи:
Висновки: На лабораторній я закріпив свої навички з дисципліни ООП, та покращив свої вміння з с++