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 ...
随机推荐
- 【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher
一.简介 最近马三换了一家大公司工作,公司制度规范了一些,因此平时的业余时间多了不少.但是人却懒了下来,最近这一个月都没怎么研究新技术,博客写得也是拖拖拉拉,周六周天就躺尸在家看帖子.看小说,要么就是 ...
- python 高级部分精华--那些书本不会告诉你的坑
递归目录生成器方式, else 里的 tmp 显示获取 yield 不可缺少 , 递归算法中若要使用生成器,需要在生成器的原函数(首次调用)显式得到所有yield值 def get_file_recu ...
- 一次多个数据库tnsping及登录单点登录需求
[环境介绍] 系统环境:Linux + Oracle 11.2.0.4.0 + python 2.7.10 [背景描述] 需求:因为涉及生产数据库较多,业务夸多个数据库使用.当收到业务有些影响时,数据 ...
- Aras SP9里打开自己写的网页。
首先把自己写的网页挂在IIS里或者网站挂到IIS里面. 然后再Aras里新增method //网页参数 var dialogArguments = new Array(); //窗体参数 var op ...
- D. Vanya and Treasure Codeforces Round #355 (Div. 2)
http://codeforces.com/contest/677/problem/D 建颗新树,节点元素包含r.c.dis,第i层包含拥有编号为i的钥匙的所有节点.用i-1层更新i层,逐层更新到底层 ...
- python ftp批量上传文件下载文件
# encoding:utf-8 from ftplib import FTPimport osimport sys _XFER_FILE = 'FILE'_XFER_DIR = 'DIR' clas ...
- day 22 - 2 面向对象练习
练习一 在终端输出如下信息 小明,10岁,男,上山去砍柴小明,10岁,男,开车去东北小明,10岁,男,最爱大保健老李,90岁,男,上山去砍柴老李,90岁,男,开车去东北老李,90岁,男,最爱大保健老张 ...
- JS 循环定时的一些思考
网上也有例子, function doSetTimeout(i) { setTimeout(function() { console.log(i); }, 1000); } for (var i = ...
- C# - 引用类型
引用类型(Reference Type) C#是一门使用OOP技术的编程语言(Object Oriented Programming 面向对象编程)面向对象最重要的特性就是接口.继承.多态 C#中所有 ...
- java学习笔记06-条件语句
java条件语句 if...else 单独使用if if(布尔表达式){ 如果布尔表达式为true,执行花括号里的代码 } public static void main(String[] args) ...