Тема: трабл з редагуванням файлів fstream
Предісторія:
Мене вже забембало шукати чергового в групі (я заступник, а староста мразь) і я вирішив написати прогу для того аби знаходити чергового системою поїнтів(почергував - +поїнт, шукає чергового з найменшою к-стю поінтів).
Проблема:
Цю фунцію я викликаю коли студент почергував і вона повинна в файлі добавити йому поінт. Але якогось нечистого вона цього не робить.
void AddPoints(int position)
{
char students[20];
int points, pos=1;
fstream file;
file.open("students.dat", ios::in | ios::out | ios::ate);
if (file.is_open())
{
file.seekp(0, ios::beg);
while (file >> students >> points)
{
if (pos == position)
{
cout << students <<' ' <<points;//прізвище початкове_значення виводить в консоль правильно
points++;
file << students << ' ' << points;
cout << students << ' ' << points;//прізвище початкове_значення++ тут також виводить правильно
}
pos++;
}
}
else
{
cout << "u gay" << endl;
system("pause");
}
file.close();
}
але коли я дивлюся в файл або виводжу в консоль список то черговий з попередньою к-стю поінтів
P.S. так, я знаю вказівник стоїть після чергового, але воно навіть наступного не змінює
P.S.S. не кидайтесь тапочками за говно-код