文件,结构体作业

1.本章学习总结

1.1 思维导图

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

1.2.1 学习体会

2.大作业


先把5个用户存储在文件中(没有设计注册新用户的步骤)

2.1文件介绍:

1.头文件:

介绍:
1.头文件主要定义了结构体student,其中4个变量分别存储用户名,密码,和训练的题目量,还有练习的正确率,
2.还有定义了6个函数,每个函数的作用分别写在了函数后面。

2.其他文件介绍

1.main.c文件

主函数中
1.定义了结构题数组。分别存放5个用户的数据。
定义等级变量rank,用户练习变量num,循环变量I,以及算术式数组exp;
2.设计思路:输入用户名,密码,调用函数checkUsers,根据返回值1/0判断用户是否合法,不合法一直提醒用户输入。
输入合法后,调Begin函数,生产友好界面,并提醒用户输入等级和练习数量,之后用户输入等级和练习题目数量。
把结构体的地址,算术式数组地址,等级,练习数量,传入生成运算符,计算函数CreateExp中。
3.等所有用户都完成练习后,调用Rank函数把上面所有的结构体数组中的数据进行排序。
4.最后把排序后的结构体调用一个printfRank函数,写入文件中。

截图:

2.userschcck.c文件

这个文件主要放了判断用户合法性和放了一个生成界面的函数。
判断合法性函数参考书本:
1.定义3个字符数组,把输入的用户和密码,分别存入,并且用函数去连接起来,
2.在把原来use文件中的用户和密码用fgets读到一个字符数组中。
3.把这2个字符数组比较,相同就返回1;不同就说明用户不合法,返回0;

截图:

3.CreateExp.c文件

根据上次大作业生成运算符并且其中调用计算函数计算出结果,代码都一样没有变化;
这次这个文件函数加了一步赋值:

把运算正确率,和练习的题目,存入结构体数组中,便于排序和写入文件。

4.ComputeExp.c文件

代码还是上次作业的代码:
判断是否为数字字符,是进行m语句的运算。
否则就一定是运算符,分情况进行运算。

截图:

由于结果其余函数要用,所以设计了返回值,

5.writeRank.c文件

这个文件放了2个函数,排序函数,和把结果读入文件中的函数;
排序函数主要运用选择法,把之前存好的结构体数组的地址传入,用选择法根据正确率的大小排序。
读入文件的函数:
定义文件指针,开文件,用循环fprintf写入排序好的结构体数组。

截图:

2.2.运行结果

登录:判断用户合法性的运行截图:


根据用户文件用户1对应的密码是A,所以显示不合法。要求重新输入:

再次输入1和A符合用户和密码,启动运算软件。

用户1:

用户2:

用户3:

用户4:

用户5:

2.所有用户运算结束,打开排名文件:

2.3改进大作业总结

1.碰到问题及解决办法

2.小结

猜你喜欢

转载自www.cnblogs.com/zhouqb/p/10201000.html