Я просто написал этот код, чтобы удалить определенную строку в адресной книге. Я не знаю, где я сделал ошибку. Иногда он удаляет строку до или после целевой строки. Кто-нибудь может помочь мне переписать этот код самым простым способом (как этот)? Я работаю в структурном программировании не ООП …
подсказка {строка () — количество строк в документе (контактные номера)}
void deleteRecords()
{
ifstream Cfile("addressbook.txt");
ofstream Tfile("addressbook.txt", ios::out);
string f_contact,s_contact;
cout<<"Please enter the first name of contact: ";
cin>>f_contact;
cout<<"Please enter the second name of contact: ";
cin>>s_contact;
cout<<endl;
for (int k=0;k<line();k++)
{
if (first_name[k]==f_contact && sur_name[k]==s_contact)
{
for (int s=k; s<line()-1; s++)
{
first_name[s]=first_name[s+1];
sur_name[s]=sur_name[s+1];
email[s]=email[s+1];
phone_number[s]=phone_number[s+1];
}
}
}
}
Задача ещё не решена.
Других решений пока нет …