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改进大作业总结

这一次在相比于以往的大作业修改比较少,大部分都是增添功能,但是因为功能的增添,代码量越来越大,查错不是那么容易,通过了功能的一部分一部分实现进行查错,相比于以往不能全部代码全写上去,再慢慢调试,快了许多,通过大作用也发现自己的语法错误变少了,查出来也变得灵活,对于错误学会自己去猜测,找到原因。

  • 碰到问题及解决办法
    如:
    问题:查看排名时,分数部分是乱码。
    解决:先判断读取出来时就是乱码还是在排序后变成的,在读取后先设置输出进行判断,最后发现再排序时多循环一个元素。
    有些问题还是因为自己知识点的缺乏而造成的,这种问题就会比较难以发现并解决,这会花上大部分时间,所以看书很重要。
posted @ 2018-12-30 22:03  曦子1762  Views(258)  Comments(2Edit  收藏  举报