zoukankan      html  css  js  c++  java
  • C语言博客作业06--结构体&文件

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

    1.1思维导图

    1.2.本章学习体会

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

    2.大作业

    2.1.文件介绍

    1.头文件


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

    2.其他文件介绍

    文件1:main.c


    文件2:Login.c


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

    文件3:ComputeExp.c


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

    文件4:Calculation.c


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

    文件5:ending.c


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

    2.2.运行结果

    1.登录界面

    2.排名结果

    2.3改进大作业总结


    1.碰到问题及解决办法

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

    2.小结

    • 本次大作业的改造,对于结构体的运用以及文件的初步使用,有了新一步认识。相比大佬们的程序而言,我的程序就有些简陋,在自学能力方面,还是需要加强一些,需要自己上网搜索一些可以用的算法或者函数,拓展函数的功能。因为是比较不熟悉的内容,在操作性上,比之前要陌生很多,还是归结于使用次数不够多,所以才比较欠缺一些。因此,在面对操作性比较强的东西上,还是要多操练一些。比较遗憾的一点是,还是没有来得及尝试大佬们用的easyX可视化c,当然我也稍微百度了一下这个比较陌生的东西,网络上则有很多关于vs easyx的教程。但是考虑了一下时间安排,决定还是将这个试验放到课设阶段去完成。
    • 每次写大作业,都有很多不一样的感触。从最开始的大家都只是完成表达式生成和计算,到现在已经出现程序功能多样化的一个分层。归根究底,除了学习能力,还有探索欲上的差距。程序的创建在于,程序本身具有什么样的功能,客户希望这个程序有什么功能,程序员希望这个程序能够有什么更多的便利化功能。也非常感谢网三网四的大佬们做行动上的先驱,先开辟出一个方向,也希望更多像我一样的迷途同学,能够在接下来的日子里,向大佬们学习,完成自己理想化的程序,提高自己的编程能力。
  • 相关阅读:
    【例题 6-21 UVA
    【例题 6-20 UVA
    【Codeforces Round #446 (Div. 2) C】Pride
    【Codeforces Round #446 (Div. 2) B】Wrath
    【Codeforces Round #446 (Div. 2) A】Greed
    【例题 6-19 UVA
    【CF675C】Money Transfers(离散化,贪心)
    【CF659E】New Reform(图的联通,环)
    【POJ1276】Cash Machine(多重背包单调队列优化)
    【HDU3507】Print Article(斜率优化DP)
  • 原文地址:https://www.cnblogs.com/salcious/p/10200824.html
Copyright © 2011-2022 走看看