高级语言程序设计课程第十次个人作业
题目1:编写一个程序,讲一个文件的内容复制到另一个文件中。
问题:写完程序后,我开始运行,却发现在另一个文件中只能复制相同数学的空白字符,无法出现我需要的字符,我以为是编译器出错,没办法解决
解决:我去求助了老师,才知道是我运算符的优先级没搞明白,忘记要在ch=getchar()外面加上一个括号了,所以才导致循环课很多次空字符,加上括号后,程序运行成功
题目2:编写一个程序,统计一个文本文件中的字符数
问题:一开始因为不会调动文件,所以我想用stdin输入,后来知道如何用文件路径输入,却发现,我的文件路径一直报错出问题
解决:问了老师之后才知道是因为我的单斜杆没有改正双斜杠,改之后文件顺利运行
题目3:编写一个程序,读取一个文本文件的内容,并在控制台上显示
问题:与题目2一样,已解决
题目4:编写一个程序,像一个文本文件末尾追加一行文本
问题:无
题目5:编写一个程序,读取一个文本文件,删除文件中的特定行,并将结果保存到新文件中
问题:我编写了一个这样的程序并且成功运行,但我会感觉局限性有点大,这个程序无法普遍使用,我还在寻找更特别的方法
题目6:计算并显示一个文件的大小,要求使用ftell
问题:这里有个问题我觉得是需要注意到的,就是要使用特定函数让指针回到初始处,再进行遍历,这样才可以正确计算字节数
题目6:有五个学生,每个学生有三门课成绩,从键盘上输入以上的数据(包括学号,姓名,三学科成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件中。
问题:我感觉这道题需要用到很多关于文件的函数去进行输入和输出,题目的逻辑本身不难,关键就在于,需要熟练运用函数。
反思:
1.文件路径需要用到双斜杆!!这个我一开始很容易忽略,而且要要注意到,如果文件不在同一个盘,需要有完整路径,不然程序无法寻找到特定文件,且不会报错
2.运算符优先级需要再去复习,不让很容易让表达的意思出现差错,导致空循环
3.fseek ftell fwrite fprintf这些独属于文件的参数还需要多复习,主要是要需要知道它们都需要哪一些参数