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 ...
随机推荐
- elasticsearch-head的安装
elasticsearch-head是es的一个可视化的客户端插件,可以直接对ES进行增删改查操作,安装前需要先安装NODEJS: 安装: 1.到git上下载源代码: # git clone git: ...
- IntelliJ IDEA 2017新工具
IntelliJ IDEA 2017 教程之概述 图文详解如何安装 Intellij IDEA 2017 深入剖析 IntelliJ IDEA 2017 的目录结构 图文详解如何配置 IntelliJ ...
- ES 常用的查询语句介绍
elasticsearch定义了两种查询方式: 一.索引(index).type.document 相关语句 1.列出所有索引的状态 GET /_cat/indices?v health status ...
- mysql删除多个重复数据,多个字段添加唯一性索引
需求:删除station_id.ab_data_time.item_code_id.data_cycle.ab_value 字段重复的记录 #查询重复的数据 select b.id,b.station ...
- 模仿OpenStack写自己的RPC
在openstack中使用两种通信方式,一种是Restful API,另一种是远程过程调用RPC.本片文章主要讲解openstack中RPC的使用方式,以及如何在我们自己的架构中使用RPC. 在我前面 ...
- Frp基础配置模版
Frp基础配置模版存档,供参考: 不写注释说明了,直接上模板: frps.ini [common] bind_port = 7000 privilege_token = password vhost_ ...
- Oracle 11g 服务启动/关闭 及 DB dump 导入
本地启动Oracle 服务脚本 由于本地机子安装了Oracle后,会自动启动一些默认的Oracle服务,这样子会导致机子比较慢.所以需要改成手动启动/关闭服务. 即用即开,不用就关. 开启的脚本: O ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Pollard-rho算法学习笔记
写在前面 目录 问题的提出 生日悖论 利用生日悖论来因数分解 Pollard-rho算法 例题完成进度 1/3 问题的提出 如何快速地找到一个自然数N的两个因数(除自己和1以外)? 首先想到的肯定是传 ...
- Android相关面试题---初识
一 .Activity的生命周期 Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack).每当我们启动一个新的活动,它会 ...