C语言博客作业06--结构体&文件

1.本章学习总结(2分)

1.1思维导图

1.2.本章学习体会

学习了结构体和文件,其实还是很实用的,通过对文件的学习,可以用代码对文件进行修改,就像打开了新世界的大门。从难度上看,结构体那一部分比较简单,记住一些基本语法,大体上都能掌握。个人觉得,文件那一部分里,重点是要学习如何去使用那些文件函数,函数内容也比较多,需要较多练习才能更好的巩固。从目前个人掌握得情况上看,结构体得知识都能掌握,但是由于本周学习的学习比较紧张,文件部分其实学得不是特别好......文件的那一部分知识点,很多函数的运用很不熟练,导致文件那一部分的应用能力较弱还需继续练习。

2.大作业(8分)

2.1.文件介绍

1.头文件mssage.h

结构体struct node 储存了一次运行中的答题情况,用于后续排名并写入文件

2.其他文件介绍
文件1:main.c

主体构架,以调用函数为主。与以往不同的是修改了结束语与一些非常非常简单的可视化编程......

文件2:users.c

登入系统采用简单的账号密码登入,若账号或密码出错则无法进入答题模块。输入数据的函数InputMessage在每次答题后将数据写入结构体,Ranking函数将结构体内得数据通过得分进行排序。OutputMessage函数将内容写入文件并输出。

文件3:text.c

这个就是出题+答题的模块,和以前没什么区别。

2.2.运行结果

1.登录界面

2.排名结果

2.3改进大作业总结

1.碰到问题及解决办法

  • 第一次写的时候的问题:对于计算结果为小数时没有很好的处理方法
  • 解决:后来在助教的提醒下采用精确度的方式来解决这个问题。(后来在修改的时候考虑程序要友好,所以去掉了这个部分)
  • 第一次改的时候的问题:这一次修改主要把参数改为地址与指针,但是在改的时候出现了多次程序莫名其妙崩溃的情况。
  • 解决:经过调试查错分析,发现问题是自己在传参时出现了将
  • 第二次改的时候的问题:1.文件间出现了野指针 2.出现了编译器无法编译的问题
  • 解决:1.由于自己的结构体是在main中定义的,而自己的部分函数在message文件中,这就导致,函数比main更早出现了结构体。修改顺序后问题就迎刃而解了。2.关于编译器无法重新编译的问题,一开始我也是一头雾水,后来舍友提到文件夹中的 .o 文件于是将它全部删除,这个问题就解决了。

2.小结

经过这次对于大作业的编写、调试、改造、升级,我对于编写代码有了很大的进步,尤其是对于函数和指针的运用也更加熟练了。更值得一提的是,在本次大作业过程中对于一些bug的检查与修正让我的查错纠错能力有了质的飞跃。再有就是对于变量名的选取、如何使程序更友好方面也下了很大的功夫,当然效果也不错。对于程序的结构有了更深刻的感悟。在第二次对于大作业的更改时,引入了多文件,这无疑使得我的程序的模块划分更加清晰了。当然,在这几次对于大作业的修改,也发现了自己的不足。尤其是第二次对它修改的时候,出现了野指针乱飞的情况,让人头疼。好在经过修改之后,问题得到解决。

posted @ 2018-12-30 22:33  super饭团君  阅读(515)  评论(1编辑  收藏  举报