zoukankan      html  css  js  c++  java
  • 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的检查与修正让我的查错纠错能力有了质的飞跃。再有就是对于变量名的选取、如何使程序更友好方面也下了很大的功夫,当然效果也不错。对于程序的结构有了更深刻的感悟。在第二次对于大作业的更改时,引入了多文件,这无疑使得我的程序的模块划分更加清晰了。当然,在这几次对于大作业的修改,也发现了自己的不足。尤其是第二次对它修改的时候,出现了野指针乱飞的情况,让人头疼。好在经过修改之后,问题得到解决。

  • 相关阅读:
    润乾集算报表的脚本数据集
    R语言数据分析系列之五
    iOS_隐藏顶部状态栏
    机器学习(Machine Learning)&深度学习(Deep Learning)资料
    Linux xargs将输出数据流转换成命令参数
    自己动手写病毒
    okhttp的简介(二)之简单封装
    Android中图形截取的方式介绍
    为何在查询中索引未被使用 (Doc ID 1549181.1)
    Giraph源代码分析(六)——Edge 分析
  • 原文地址:https://www.cnblogs.com/fanfaniscute/p/10200864.html
Copyright © 2011-2022 走看看