高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13314
学号:102400109
姓名:袁湘湘
(1)编写一个程序,将一个文件的内容复制到另一个文件中。
问题:刚开始显示打开失败;
解决:发现自己没给fp1写内容,fp1是空的,写上内容后关闭fp1再将其打开,可以成功把内容复制到fp2里
(2)编写一个程序,统计一个文本文件中的字符数。
无问题
(3)编写一个程序,读取一个文本文件的内容,并在控制台上显示。
问题:代码几乎和第二题没差,所以写起来没什么问题,唯一的问题是不知道控制台是什么;
解决:百度之后知道了控制台就是黑窗口
(4)编写一个程序,向一个文本文件的末尾追加一行文本。
问题:刚开始使用读写模式打开fp1,结果是新加的内容直接取代了原内容的前面几个;
解决:翻了书找到了“a”是追加模式,用这个模式可以直接加在末尾,操作成功
(5)编写一个程序,读取一个文本文件,删除文件中的特定行(例如,包含特定单词的行),并将结果保存到新文件中。
问题:不知道删除指定行要怎么操作;
解决:上网搜,定义一个整型常量通过换行符的个数来表示行数,可以做到删除指定的行数所对应的行
(6)计算并显示一个文件的大小(以字节为单位),要求使用ftell。
问题:对fseek和ftell使用不熟练;
解决:翻书看了之后成功写出
(7)有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"student.txt"中。
问题:除了第一个,其他的平均成绩输出值不对;
解决:检查后发现自己把sum=0和i=1写到了一起,这样是不会在每次循环让sum归零的,改成写在for循环里后正确
总结:
1、锻炼了新学的ftell,fseek之类的函数的使用;
2、学会了怎么表示文本中的行数并删除指定行数的某一行;
3、对文件操作的“r”“w”“a”等模式的使用有了更深的认识