C语言博客作业06--结构体&文件
1.本章学习总结
1.1思维导图
1.2.本章学习体会
- 本章主要学习了结构体和文件的相关知识,结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据汇聚成一个整体,同时结构又是一个变量的集合,可以按照对基本数据类型的操作方法单独使用其成员变量;之后学习的链表就像是结构体的嵌套,能更好地处理大数据。而通过把数据储存在磁盘文件中是解决输入输出数据量较大时的方法,文件的处理和功能的实现能够互相协助,使程序更加完善。通过结构体的定义使数据的处理方式更加轻松高效,文件的使用让程序的功能指向磁盘,可利用数据增多。
- C语言的学习已经临近尾声,但对程序的探索不会停止。回想起开学前的“hello world”,到现在的“四则运算大作业”,真的是感慨万分。结束了课程,完成了作业,剩下的就是期末的考试了。知识还需要巩固复习,课设还需要努力探索,把C语言的知识牢记在脑中,为以后的学习铺上更好的道路。
2.大作业
2.1.文件介绍
1.头文件
- 头文件主要是函数声明和结构体定义,第一个为成绩mark的结构体,表示用户的最终成绩;第二个为登陆信息LoginInformation的结构体,用来临时储存用户的账号和密码。
2.其他文件介绍
文件1:main.c####
- 主模块:菜单页面,作为各项功能的连接点,通过选项进入不同功能。
文件2:Login.c####
- 登陆模块:用户登陆页面,验证用户信息,包含账号密码的注册和识别。
文件3:Loading.c####
- 主导模块:主模块的衍生,包含菜单的导入测试、用户说明、评价的选项函数。
文件4:ComputeExp.c####
- 制题模块:用来制作题目,包含生成算式,得出答案,判断对错,为测试的核心。
文件5:Ranking.c####
- 排名模块:负责用户成绩记录反馈,包含用户测试成绩的导入和排序以及输出排名。
2.2.运行结果
1.登录界面
2.3改进大作业总结
1.碰到问题及解决办法
- 首先,账号密码的捆绑性要求不能错掉如何一个字符和个数,所以用拼接账号和密码来比较判断;
- 其次,成绩的数据需要在文件中找到位置直接插入,介于文件储存方式的本质,中间插入只能是覆盖掉下一条数据,所以采用结构体数组读取所有数据然后进行排位,再进行整体覆盖掉整个文件;
- 最后,项目建立和模块文件的处理需要多个c程序和文件,用文件夹集合存储较为方便。
2.小结
- 经过了三次大修改,四则运算的大作业也算是告一段落,也算是第一学期的小成就。通过大作业的制作,学会了多个变量传递和多个函数串联使用,指针、结构体和文件的知识得到了实践和巩固,也学到了课设所要求的文件处理和项目制作。有这个大作业的设计前提,对即将引来的是课设作业也没有了那么深的恐惧。在其中也让我体会到了程序员的痛苦,除了吃饭连坐着改了12个小时,遇到bug使劲想到崩溃,但又有一种想放而又放不下的情结,生怕断了思路。
- 青春也就像这份作业,越去完善,越是完美,总之->期末fighting!!!