1.本章学习总结

1.1 思维导图


1.2学习体会

在本周的学习中,我们学习了关于结构体和文件的内容。定义结构体可以使代码整个练习更加紧密,非常实用,当我们需要在对一个个体的不同属性调用时可以更加系统和直观,利用结构体来将多个不同属性统一起来,还学习了结构体指针,他们的实现都是为了提高函数之间的传递效率。文件的话,知道是怎么从文件中读取数据,还有就是联想到我们平时使用手机时那些文件的读取原理,我还不太会用它来建工程,之前的那次课堂派建立工程作业完成的不是特别顺(尽管是有老师博客的相关代码步骤提示)。emmmmm,所以我对改文件大作业还是懵逼。不过啊,不会的话也不能什么都不做,可以自己找那些做的好的同学代码学习一下他们是怎么实现的,思路和具体代码是怎么样的,总比从什么都不做要强叭。

2.大作业

  • 本次作业要求对小学四则运算程序功能扩展。
    扩展功能:
  • 小学生用户登录进系统做题。结束答题后,能把该学生答题情况写入文件,并实现排名。
  • 本次作业必须建工程实现C的多文件。其中结构体定义、函数定义等都要封装在自定义头文件中。
  • 登录模块设计一个文件、答题排名模块设计一个文件,所以该系统至少包含4个文件。
  • 用户登录、排名信息的数据请封装结构体实现。
  • 注意有2个数据文件的读写:user.txt和ranking.txt

3.大作业点评

自己也不会写,自己就点评一下大佬的作业叭。
点评的是范华同学的改编大作业,附上博客链接:https://www.cnblogs.com/fanfaniscute/p/10200864.html

优点:

  • 作业需要的函数分开封装实现,更加方便,也更加方便改可能出现的bug。
  • 在每个重要句子后面有注释,对我们小菜鸡理解他的代码很友好。
  • main函数很简洁
  • 专门对输入有保护函数
  • 在函数里面有嵌套其他的函数,连贯性更强

缺点:

  • 文件系统的读写没有把握好,对答题产生的排名结果并没有在每一次重新答题后叠加上一次的排名结果,而是重新生成一个新的排名表,旧的排名表就存在文件里面没有输出,这个就比较尴尬了。
  • 有个别函数传参数过多了,看着乱乱的
  • 登入界面只有一个黑白选择框,希望可以呈现更好的界面(比如 下载了easyx里面的图形可视化函数,让整个作业的呈现更加完美。)

C语言作业06--结构体&文件的更多相关文章

  1. C语言博客作业06——结构体&文件

    C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...

  2. C博客作业06—结构体&指针

    1.本章学习总结 1.1思维导图 1.2本章学习体会 明白了结构体的定义及使用方法 学会了fopen,fclose,feof等文件操作函数,学会使用c语言进行文件操作 大作业中的部分函数出现未知错误且 ...

  3. C语言博客作业6---结构体&文件

    C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...

  4. C语言文件读写(结构体文件)

    有时候,我们需要将输入的数据存储起来,这时候就需要用到文件,对于C语言而言,文件的读写有多种方式,下面主要是结构体文件的读写,例如student.dat(第一列是学号,第二列是姓名) xiaoming ...

  5. C语言中的结构体,结构体数组

    C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存 ...

  6. Go语言基础之结构体

    Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 自定义类型 在G ...

  7. 4-17疑难点 c语言之【结构体对齐】

    今天学习了结构体这一章节,了解到了结构体在分配内存的时候采取的是对齐的方式 例如: #include<stdio.h> struct test1 { int a; char b; shor ...

  8. C语言第九讲,结构体

    C语言第九讲,结构体 一丶结构体的定义 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种 ...

  9. C 语言实例 - 使用结构体(struct)

    C 语言实例 - 使用结构体(struct) C 语言实例 C 语言实例 使用结构体(struct)存储学生信息. 实例 #include <stdio.h> struct student ...

随机推荐

  1. Windows Server2012 R2 安装.NET Framework 3.5

    拿到手的虚拟机系统是Windows server 2012R2,本想着安装SQlserver2012轻轻松松,结果途中警告未安装.NET Framework 3.5.于是找了个.NET Framewo ...

  2. python--协程之特别篇

    Python通过yield提供了对协程的基本支持,但是不完全.而第三方的gevent为Python提供了比较完善的协程支持. gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一 ...

  3. ArcGis dbf读写——挂接Excel到属性表 C#

    ArcMap提供了挂接Excel表格信息到属性表的功能,但是当数据量较大到以万计甚至十万计的时候这个功能就歇菜了,当然,你可以考虑分段挂接.这个挂接功能只是做了一个表关联,属性记录每个字段的信息需要通 ...

  4. Java线程池源码解析

    线程池 假如没有线程池,当存在较多的并发任务的时候,每执行一次任务,系统就要创建一个线程,任务完成后进行销毁,一旦并发任务过多,频繁的创建和销毁线程将会大大降低系统的效率.线程池能够对线程进行统一的分 ...

  5. python学习05

    数据类型之字典dict.set集合 1).字典dict 1. dict_1={'name':'tom','age':18} 是以键值对(key-value)的方式,其中键是可hash值的,即表示键是唯 ...

  6. stringify()和parse()的区别

    记录一下小知识点,大神略过... 一:JSON.parse()[从一个字符串中解析出json对象] 例子: //定义一个字符串 var data='{"name":"go ...

  7. Windows如何上传代码到Github

    1.首先得安装git客户端 进入官网:https://git-scm.com/ ,点击右侧下载windows版本的软件包,然后双击安装就可以了. 安装完成之后,在开始菜单可以看到,此时,在想上传的文件 ...

  8. [经验交流] 试用基于 influxdb+kapacitor 的监控系统

    2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...

  9. PostgreSQL学习笔记(一)-安装PostgreSQL

    PostgreSQL官网:https://www.postgresql.org/docs/11/index.html1.如何安装2.如何修改配置文件3.如何设置自动启动4.如何修改数据用户密码 本文环 ...

  10. Mybatis 常用注解

    Mybatis常用注解对应的目标和标签如表所示: 注解 目标 对应的XML标签 @CacheNamespace 类 <cache> @CacheNamespaceRef 类 <cac ...