C语言博客作业06--结构体&文件

1.本章学习总结(2分)

1.1思维导图

1474999-20190101053929457-267553848.png

1.2.本章学习体会

  • 这两周主要学习了文件、结构体和链表的初步运用。到这一阶段,从大作业的实现上来看,已经和大佬们有了比较大的差距。神仙easyX对我来讲还是一个相对陌生的东西(百度稍微简单看了一下,时间原因这次大作业没有实现,争取在课设环节实现
  • 总的来讲,已经渐渐从扎堆写程序走向模块化程序,懂得分块处理程序,分功能封装函数,走工程化道路。学习了建立简单工程之后,的确觉得整个绵长的程序看起来情书按很多w。
  • 出现的问题还是比较多,例如处理文件时,一个处理不好可能就会让文件里面储存的东西变得乱七八糟,所以在这方面的处理还是要注意一些。有关有闭!
  • 嘛,在大作业方面涉及到的对于文件的读取写入等还是比较少的,课设环节应该需要用到更多,希望课设环节可以熟练试用文件操作w。
  • flag!:PTA方面这周就没怎么去碰了qaq!!找时间巩固一下链表,为下学期打基础,如果可以尽量在课设阶段用上链表的知识。

2.大作业

2.1.文件介绍

1.头文件

1474999-20190101024358193-1227092850.png


  • 结构体User用于储存登陆用户名。
  • 结构体Score用于储存需要输出的成绩信息。

2.其他文件介绍
文件1:main.c

1474999-20190101025109169-1361141893.png


文件2:Login.c

1474999-20190101030702756-1420168018.png

1474999-20190101030654584-1282774360.png


  • 函数主要功能
    • 选择是否需要注册或者直接登录
    • 验证登录密码与帐号是否匹配
  • 函数主要思路
    • 选择等级,如需注册,将帐号密码写入文件。
    • 选择老用户,直接登录,验证帐号密码,正确登录,反之,重复验证。

文件3:ComputeExp.c

1474999-20190101034114738-464310232.png


  • 函数主要功能
    • 随机生成多步,多位数的表达式。
  • 函数主要思路
    • 根据等级,确定生成的位数以及计算步数
    • 利用for循环生成多个随机数转字符存储,固定位置,枚举法生成运算符。
    • 最后输入终止符号,输出表达式

文件4:Calculation.c

1474999-20190101030938077-777318794.png


  • 函数主要功能
    • 利用exp函数生成的表达式进行结果运算。
  • 函数主要思路
    • 分步,两两数据运算,寻找数组的运算符存在规律,利用switch运算。
    • 如果是除法运算,除数为0,返回5555清屏跳过此题。最后返回结果

文件5:ending.c

1474999-20190101032328761-1150968770.png

1474999-20190101034240976-203408508.png


  • 函数主要功能:
    • 输出本次成绩结果
    • 暂停清屏
    • 将成绩排序后写入文件
    • 按照次序输出成绩排名
  • 函数主要思路:
    • 保留原函数的ending画面
    • 建立结构体数组,储存需要输出与写入的数据。
    • 打开文件,先读取第一行注释行,再初始化数组,进行排序。
    • 输出结果,关闭文件

2.2.运行结果

1.登录界面

1474999-20190101033740500-1652290051.png

1474999-20190101033746318-968826918.png

2.排名结果

1474999-20190101033752949-771799696.png

2.3改进大作业总结


1.碰到问题及解决办法
  • 输出部分程序爆炸
    • 输入和输出要一一对应,否则会出现读取错误
  • 结果输出排行榜思路断层
    • 利用结构体数组,结合选择排序法,排序后写入并输出

2.小结
  • 本次大作业的改造,对于结构体的运用以及文件的初步使用,有了新一步认识。相比大佬们的程序而言,我的程序就有些简陋,在自学能力方面,还是需要加强一些,需要自己上网搜索一些可以用的算法或者函数,拓展函数的功能。因为是比较不熟悉的内容,在操作性上,比之前要陌生很多,还是归结于使用次数不够多,所以才比较欠缺一些。因此,在面对操作性比较强的东西上,还是要多操练一些。比较遗憾的一点是,还是没有来得及尝试大佬们用的easyX可视化c,当然我也稍微百度了一下这个比较陌生的东西,网络上则有很多关于vs easyx的教程。但是考虑了一下时间安排,决定还是将这个试验放到课设阶段去完成。
  • 每次写大作业,都有很多不一样的感触。从最开始的大家都只是完成表达式生成和计算,到现在已经出现程序功能多样化的一个分层。归根究底,除了学习能力,还有探索欲上的差距。程序的创建在于,程序本身具有什么样的功能,客户希望这个程序有什么功能,程序员希望这个程序能够有什么更多的便利化功能。也非常感谢网三网四的大佬们做行动上的先驱,先开辟出一个方向,也希望更多像我一样的迷途同学,能够在接下来的日子里,向大佬们学习,完成自己理想化的程序,提高自己的编程能力。

转载于:https://www.cnblogs.com/salcious/p/10200824.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值