此代码从学生的文本文件打印所有课程,如果他想取消注册某个课程和他将选择它的课程将从文件中删除,我看到很多这样的问题,但我不能用这种方式因为我不想将数据存储在另一个文件中,除了一行(将被删除)并重命名,因为数据对每个学生都有参考,谢谢你提前 ...
ifstream CourseAssign("C:\\StudentsCourses.txt") ;
int z=0 , y =1 ;
if(!CourseAssign.is_open()) {
cout << "Error opening" ;
}
while( CourseAssign >> Student_Details[*n].CourseName_of_Student[z]){
cout << y << Student_Details[*n].CourseName_of_Student[z] ;
z++;
y++;
}
int Num2 ;
此处用户(学生)应输入一个号码,课程将被删除 但我只需要合适的代码就可以了,我再也不能用普通的方法
cout << "Which Course do you wanna unregister it" ;
cin >> Num2 ;
z = Num2;
z -= 1 ;
我的档案就像那样
1:CS
2:Ai
3:Data Structure
答案 0 :(得分:1)
至少要读取文件直到要删除的数据,然后阅读后面的所有内容。除非您使用具有特殊布局的二进制文件格式,否则简单地重写整个文件比尝试就地更改文件更容易。