C语言博客作业06--结构体&文件
1.本章学习总结
1.1思维导图
1.2本章学习体会
- 关于本章的学习,还是有些生疏,可能使这方面的代码写得少的原因吧,但发现课堂派作业挺好的,每次不是很懂,但是经过课堂派的做题之后感觉好了许多,也学了更多的方法,给了自己启发。发现结构体和文件挺重要的,大作业在用上结构体和文件后越来越接*我们*时生活中接触到的东西,功能也更为丰富。
2.大作业
2.1.文件介绍
1.头文件
- 介绍头文件有哪些结构体及变量
头文件有2个结构体,一个用来存放昵称和成绩,一个用来存放登录信息,用户名和密码。
其余函数如图所示
2.其他文件介绍
文件1:main.c
-
介绍文件功能及设计思路
功能:
主函数,分为登录注册,和开始游戏,查看排名三部分
设计思路:打开login.txt
进入登录函数
关闭文件login.txt
system("pause");//dos命令暂停
system("cls");//dos命令清屏
打开ranking.txt
用switch()函数选择开始游戏和查看排名
关闭文件ranking.txt -
截图
文件2:Login.c
-
介绍文件功能及设计思路
功能:
登录后菜单,展示成绩,登录,校验,注册
设计思路:登录后菜单
用printf函数输出菜单
展示成绩
用while循环,统计ranking.txt文件中的人数total
将ranking.txt文件中的信息载入结构体
排序
for i=0 to i<total
for j=i j<total-2;j++)
if stu[j].score<stu[j+1].score then
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
end if
end for
end for
再输出
登录
将用户输入的信息用strcpy函数strcat函数连接放入usr[]数组,将user.txt中的信息放入数组usr1[]
用strcmp函数进行校验
注册
将用户输入的信息用strcpy函数strcat函数连接放入usr[]数组,存入文件user.txt中 -
截图
文件3:ComputeExp.c
-
介绍文件功能及设计思路
功能:
与上次作业的功能差不多,多了保存成绩到文件ranking.txt的功能
设计思路:
保持上一次作业的功能,在的出成绩后,用fprintf函数进行保存到文件ranking.txt
fprintf(fp," %d",student.score);
fprintf(fp,"%s","\n"); -
截图
2.2.运行结果
- 1.登录界面
- 2.排名结果
2.3改进大作业总结
这一次在相比于以往的大作业修改比较少,大部分都是增添功能,但是因为功能的增添,代码量越来越大,查错不是那么容易,通过了功能的一部分一部分实现进行查错,相比于以往不能全部代码全写上去,再慢慢调试,快了许多,通过大作用也发现自己的语法错误变少了,查出来也变得灵活,对于错误学会自己去猜测,找到原因。
- 碰到问题及解决办法
如:
问题:查看排名时,分数部分是乱码。
解决:先判断读取出来时就是乱码还是在排序后变成的,在读取后先设置输出进行判断,最后发现再排序时多循环一个元素。
有些问题还是因为自己知识点的缺乏而造成的,这种问题就会比较难以发现并解决,这会花上大部分时间,所以看书很重要。