C语言作业06--结构体&文件
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--结构体&文件的更多相关文章
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C博客作业06—结构体&指针
1.本章学习总结 1.1思维导图 1.2本章学习体会 明白了结构体的定义及使用方法 学会了fopen,fclose,feof等文件操作函数,学会使用c语言进行文件操作 大作业中的部分函数出现未知错误且 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言文件读写(结构体文件)
有时候,我们需要将输入的数据存储起来,这时候就需要用到文件,对于C语言而言,文件的读写有多种方式,下面主要是结构体文件的读写,例如student.dat(第一列是学号,第二列是姓名) xiaoming ...
- C语言中的结构体,结构体数组
C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存 ...
- Go语言基础之结构体
Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 自定义类型 在G ...
- 4-17疑难点 c语言之【结构体对齐】
今天学习了结构体这一章节,了解到了结构体在分配内存的时候采取的是对齐的方式 例如: #include<stdio.h> struct test1 { int a; char b; shor ...
- C语言第九讲,结构体
C语言第九讲,结构体 一丶结构体的定义 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种 ...
- C 语言实例 - 使用结构体(struct)
C 语言实例 - 使用结构体(struct) C 语言实例 C 语言实例 使用结构体(struct)存储学生信息. 实例 #include <stdio.h> struct student ...
随机推荐
- 博弈论中的Nim博弈
瞎扯 \(orzorz\) \(cdx\) 聚聚给我们讲了博弈论.我要没学上了,祝各位新年快乐.现在让我讲课我都不知道讲什么,我会的东西大家都会,太菜了太菜了. 马上就要回去上文化课了,今明还是收下尾 ...
- js+jquery创建元素
例:创建如下标签: <a id="baidu" class="link" name="baidu">这是一个链接</a&g ...
- ant 执行jmeter
构建-invoke ant -properties jmeter.home=/home/userapp/apps/apache-jmeter-5.0report.title=kyh_register_ ...
- java 多线程 synchronized与lock的通信机制等问题,结合相应实例说明
1. 利用多线程实现如下需求: 写两个线程,一个线程打印1~52,另一个线程打印A~Z,打印顺序是12A34B...5152Z: 2. 使用synchronized 实现 public class T ...
- python--再看并行之协程线程进程
1.gevent协程适合I/O密集,不适合CPU密集. 3.gevent协程无法发挥多核优势,事实上,协程只是以单线程的方式在运行. 3.子程序就是协程的一种特例 项目实际应用 from gevent ...
- JAVA通过http访问其他服务端API
项目要实现这么一个功能,用户通过点击按钮,通过axios来访问python的API(算法,java不好做)得到一个结果存储到数据库并且返回到页面. 但是python不是在tomcat上面运行的,所以不 ...
- vue较深入的知识点
1 理解何为虚拟节点 虚拟dom是什么? 虚拟dom就是通过js对象来模拟描述dom树,包括tag,attr, children等属性来代表标签名,属性,子元素等.由于不需要有操作dom的方法,所以比 ...
- ssh远程访问失败 Centos7
ssh远程访问失败 Centos7 命令ssh远程访问另外一台主机hadoop.master失败 #ssh hadoop.master 报以下信息 [root@hadoop ~]# ssh hadoo ...
- 剑指Offer编程题3——从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 题目解析 方法1:建立两个vector,第一个用来存储正向访问的数据,第二个用来反向存储. /** * struct L ...
- P5284 [十二省联考2019]字符串问题
这是一道涵盖了字符串.图论.数据结构三个方面的综合大题. 把这道题放在D1T2的人应该拖出去打 前置芝士 首先,您至少要会topsort. 其次,如果您只想拿个暴力分,字符串Hash就足够了:如果您想 ...