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

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

1.1思惟导图

1.2.本章学习体会

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

2.大做业(8分)

2.1.文件介绍

1.头文件mssage.h编程

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

2.其余文件介绍
文件1:main.c学习

主体构架,以调用函数为主。与以往不一样的是修改告终束语与一些很是很是简单的可视化编程......
指针

文件2:users.c调试

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

文件3:text.c排序

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

2.2.运行结果

1.登陆界面

2.排名结果

2.3改进大做业总结

1.碰到问题及解决办法

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

2.小结

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

相关文章
相关标签/搜索