-
C语言博客作业06--结构体&文件
1.本章学习总结(2分)
1.1思维导图
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101053929457-267553848.png)
1.2.本章学习体会
- 这两周主要学习了文件、结构体和链表的初步运用。到这一阶段,从大作业的实现上来看,已经和大佬们有了比较大的差距。神仙easyX对我来讲还是一个相对陌生的东西(百度稍微简单看了一下,时间原因这次大作业没有实现,争取在课设环节实现
- 总的来讲,已经渐渐从扎堆写程序走向模块化程序,懂得分块处理程序,分功能封装函数,走工程化道路。学习了建立简单工程之后,的确觉得整个绵长的程序看起来情书按很多w。
- 出现的问题还是比较多,例如处理文件时,一个处理不好可能就会让文件里面储存的东西变得乱七八糟,所以在这方面的处理还是要注意一些。有关有闭!
- 嘛,在大作业方面涉及到的对于文件的读取写入等还是比较少的,课设环节应该需要用到更多,希望课设环节可以熟练试用文件操作w。
- flag!:PTA方面这周就没怎么去碰了qaq!!找时间巩固一下链表,为下学期打基础,如果可以尽量在课设阶段用上链表的知识。
2.大作业
2.1.文件介绍
1.头文件
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101024358193-1227092850.png)
- 结构体User用于储存登陆用户名。
- 结构体Score用于储存需要输出的成绩信息。
2.其他文件介绍
文件1:main.c
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101025109169-1361141893.png)
文件2:Login.c
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101030702756-1420168018.png)
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101030654584-1282774360.png)
- 函数主要功能:
- 选择是否需要注册或者直接登录
- 验证登录密码与帐号是否匹配
- 函数主要思路:
- 选择等级,如需注册,将帐号密码写入文件。
- 选择老用户,直接登录,验证帐号密码,正确登录,反之,重复验证。
文件3:ComputeExp.c
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101034114738-464310232.png)
- 函数主要功能:
- 函数主要思路:
- 根据等级,确定生成的位数以及计算步数
- 利用for循环生成多个随机数转字符存储,固定位置,枚举法生成运算符。
- 最后输入终止符号,输出表达式
文件4:Calculation.c
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101030938077-777318794.png)
- 函数主要功能:
- 函数主要思路:
- 分步,两两数据运算,寻找数组的运算符存在规律,利用switch运算。
- 如果是除法运算,除数为0,返回5555清屏跳过此题。最后返回结果
文件5:ending.c
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101032328761-1150968770.png)
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101034240976-203408508.png)
- 函数主要功能:
- 输出本次成绩结果
- 暂停清屏
- 将成绩排序后写入文件
- 按照次序输出成绩排名
- 函数主要思路:
- 保留原函数的ending画面
- 建立结构体数组,储存需要输出与写入的数据。
- 打开文件,先读取第一行注释行,再初始化数组,进行排序。
- 输出结果,关闭文件
2.2.运行结果
1.登录界面
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101033740500-1652290051.png)
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101033746318-968826918.png)
2.排名结果
![](https://img2018.cnblogs.com/blog/1474999/201901/1474999-20190101033752949-771799696.png)
2.3改进大作业总结
1.碰到问题及解决办法
2.小结
- 本次大作业的改造,对于结构体的运用以及文件的初步使用,有了新一步认识。相比大佬们的程序而言,我的程序就有些简陋,在自学能力方面,还是需要加强一些,需要自己上网搜索一些可以用的算法或者函数,拓展函数的功能。因为是比较不熟悉的内容,在操作性上,比之前要陌生很多,还是归结于使用次数不够多,所以才比较欠缺一些。因此,在面对操作性比较强的东西上,还是要多操练一些。比较遗憾的一点是,还是没有来得及尝试大佬们用的easyX可视化c,当然我也稍微百度了一下这个比较陌生的东西,网络上则有很多关于vs easyx的教程。但是考虑了一下时间安排,决定还是将这个试验放到课设阶段去完成。
- 每次写大作业,都有很多不一样的感触。从最开始的大家都只是完成表达式生成和计算,到现在已经出现程序功能多样化的一个分层。归根究底,除了学习能力,还有探索欲上的差距。程序的创建在于,程序本身具有什么样的功能,客户希望这个程序有什么功能,程序员希望这个程序能够有什么更多的便利化功能。也非常感谢网三网四的大佬们做行动上的先驱,先开辟出一个方向,也希望更多像我一样的迷途同学,能够在接下来的日子里,向大佬们学习,完成自己理想化的程序,提高自己的编程能力。
-
相关阅读:
Chrome浏览器的使用技巧
时刻谨记
ElasticSearch入门
资源收集记录(技术提高)
【操作系统之六】Linux常用命令之less
【操作系统之五】Linux常用命令之grep
【操作系统之四】Linux常用命令之awk
【操作系统之三】Linux下进程间通信-IPC(Inter-Process Communication)
【操作系统之二】死锁
【操作系统之一】进程、线程、协程
-
原文地址:https://www.cnblogs.com/salcious/p/10200824.html
Copyright © 2020-2023
润新知