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

1.本章学习总结

1.1 思维导图

C语言博客作业06--结构体&文件_第1张图片

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会


  • 1. 结构体一开始学习时候还是可以理解的,后来结构体这部分觉得体系瞬间庞大了,以为理解后就可以用了,然后自己上手后各种不熟练,也不习惯用这种,想着就算我多定义一些变量我都不会去用结构体的,这辈子都不会的。。。后来就真香定理了。。。结构体使用起来还是比较方便的,而且我在使用结构体时候还喜欢用指针来指里面的数据,这样子也算是复习一下指针的内容了,毕竟指针是C的灵魂,尽管我现在还没觉得灵魂是有多牛逼,结构体的使用可以省去很多麻烦,而且结构体的使用还可以处理很多麻烦的事,比如这次的大作业,要记录用户的各种信息,如账户密码等等,如果我再像以前一样一个个定义变量的话实在是麻烦而且几乎不太可能实现的,所以就用结构体数组来完成,尽管老师说过讲完课都得回去自己打一下代码感受一下,然而。。。除了大作业外我还真没感受出什么来
  • 2. 文件这一部分学起来感觉到像学天书,各种文件指针,还有fprintf等等啊一些,而且书本上文件这一部分又写得很冗长,搞得自己实在是不想去碰文件这一块内容,然后在大作业中还得用文件,写代码的时候是真的感觉一阵心塞啊,写完感觉各种牛逼啊,特别是注册用户这一块写完感觉高大上了许多,看着把数据写入user中瞬间感觉牛逼了很多啊,还有文件是真的需要好好再学习下,毕竟还有个课设等着呢。。。

2.大作业

2.1文件介绍:

1.头文件:

  • 1.设置了个结构体来放置用户的信息,有用户名,密码,正确率,做题数,做题时间。
  • 2.放置了各个函数,有界面函数用来友好提示显示菜单,让读者选择作业难度,以及本次加入的要用来构建用户信息的函数,还有排名系统等等。
users函数用来判断输入的用户信息是否正确
read函数用来将用户的其他信息读入结构体中
ranking函数用于排名

C语言博客作业06--结构体&文件_第2张图片

2.其他文件介绍

  • 文件1:main.c
    1.用于产生登入界面,还可以实现登入和注册功能。
    2.封装调用了一些函数,有users函数以及实现用户名及密码的输入,还有排名的输出
    3.友好提示是不能少的,还有清屏,这辈子都不会的
    4.判断读入的用户是否正确
    C语言博客作业06--结构体&文件_第3张图片
    C语言博客作业06--结构体&文件_第4张图片
    C语言博客作业06--结构体&文件_第5张图片

  • 文件2:users.c
    判断输入的用户名及密码是否对应在users.txt有该账户密码
    1.通过返回变量flag来确定用户是否输入正确
    2.要将输入的用户和密码连接在一起,因为在文本文档中是有空格及换行符的
    3.通过while(!feof(fp))来移动指针至文本文档末尾
    4.函数主要是仿照书上的

C语言博客作业06--结构体&文件_第6张图片
C语言博客作业06--结构体&文件_第7张图片

  • 文件3:read.c
    这个文件主要是将正确率,时间,等级等输入结构体中
    C语言博客作业06--结构体&文件_第8张图片

  • 文件4:ranking.c
    1.a作为中间变量来实现排名位序冒泡法查找
    2.利用冒泡法来实现由高到低的排序
    3.利用fprintf来将排名写入ranking文件中

C语言博客作业06--结构体&文件_第9张图片

C语言博客作业06--结构体&文件_第10张图片

2.2.运行结果

1.登录界面

输入错误:
C语言博客作业06--结构体&文件_第11张图片
输入成功:
C语言博客作业06--结构体&文件_第12张图片
创建新用户
C语言博客作业06--结构体&文件_第13张图片
创建新用户并成功进入
C语言博客作业06--结构体&文件_第14张图片
本来记录的用户名和密码
C语言博客作业06--结构体&文件_第15张图片

2.排名结果

排名有等级,正确率,题目数等等
C语言博客作业06--结构体&文件_第16张图片

2.3改进大作业总结

1.碰到问题及解决办法

  • Q1: 一开始无从下手啊,啥都不会,懵逼的一匹,看了别人的代码。。。更懵逼了
  • A1:看了一天的别人家的代码,还有书本才有感觉写下去
  • Q2:在改进代码途中,即使Devc跳错了,还是有很多搞不懂的词,比如recipe for target failed这是什么鬼啊,还有id return 1这种以前也遇到过的情况
  • A2:recipe for target failed这个百度过了,虽然还是不知道怎么回事,但是还是先将可以改正的问题改正了,然后这个问题也解决了,至于id return 1的情况就是已经打开了一个,只要关掉就好
  • Q3: 在注册用户这块地方一直错误,不能讲注册的新用户写入user.txt文本文档中
  • A3:搞了特别久这个地方,后来我去看了看别人的代码,才发现我打开文件的方式错了,一直用‘r’,别人家的代码是利用'w'。。。

2.小结

老师说的对,主要是还是得自己去实践去打打代码,不能够只看书,这样子不会把知识内化,一开始我也只是看书,本以为自己学会了,然后自己打开Devc自己尝试去做,才发现是有多难,连基本的建工程都忘了,还有各种错误要学会怎么改进,不懂就多问问别人或者去百度。
可以把一些事简化,比如用户登录这一块,我一开始就想直接一步做成,直接设置得很复杂,然后各种错误,各种不行,后来我就简化成一点点实现,一开始也只是弄了个简单的用户放在文本中,后来学会了还用过中文名的。
但是自己本以为没有错的代码一开始文件刚做完还有很多bug,然后自己还是改了很久,有时候真的是会做到心烦,这时候就还是得放松下的,还有觉得清屏函数这个很牛逼啊,要是没有这个会很多东西挤在一起啊,还有各种友好提示啊等等。
封装函数这一部分还可以改进,而且封装完后看起来也会很舒服

你可能感兴趣的:(C语言博客作业06--结构体&文件)