c博客06-结构体&文件

Posted g1215161797

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c博客06-结构体&文件相关的知识,希望对你有一定的参考价值。

1.本章学习总结

1.1 学习内容总结

1.1.1结构体大概

  • ①结构体定义:

    struct 结构名
    {
    类型名 结构成员名1
    类型名 结构成员名2
    ...
    类型名 结构成员名n
    };

  • ②结构体的定义是一条语句,因此末尾需要有分号。

  • ③struct是定义结构类型的关键字,在struct之后,自行命名一个结构名,struct与结构名共同组成结构类型名。

1.1.2结构变量的使用

  • ①结构变量成员的引用:使用结构成员操作符“.”,格式为:结构变量名.结构成员名

  • ②结构成员赋值:先使用结构成员操作符,再以该成员类型名的形式对其进行赋值,或者在相同结构类型的变量之间可直接赋值。

1.1.3结构体数组

  • ①对结构数组元素成员的引用是通过使用数组下标与结构成员操作符“.”,格式为:结构数组名 [下标].结构成员名

  • ②结构数组排序:先确定排序对象,然后通过结构成员操作符引用,之后便可用之前的排序方法进行排序,其中,作为交换的中间变量的类型也应是结构类型。

1.1.4结构指针


  • 结构体指针怎么用
    共用体、枚举类型做法
    文件读写,文件中数据如何读进结构体数组

    1.2 本章学习体会

1.2.1学习感受

1.2.2代码量

代码量大约509行。

2.综合作业--“我爱成语”

2.1.文件介绍

  • 头文件介绍
名称 说明
ID结构体 储存用户的账号和密码
CY结构体 储存成语和意思
void userInterface() 用户登录界面函数
void menuInterface() 菜单界面函数
int checkPassword(ID *user) 校验账号密码函数
void searchIdiom() 查阅成语函数
void playGame() 成语游戏函数
void arrangeInput(char* rawData) 整理输入函数
void getDate(CY* rawLibrary) 读取文件成语函数
char whetherHome(char button) 返回按钮函数

2.2函数实现文件介绍

  • ①main函数介绍

功能:调用登录函数及菜单函数,按照用户的输入控制整个程序的走向。

技术图片

  • ②登录界面函数介绍

功能:显示登录窗口,供用户输入账号密码,调用校验账号密码函数。

技术图片

  • ③校验账号密码函数

功能:比较用户输入的账号密码是否与文件中的账号密码一致。

技术图片

  • ④菜单界面函数介绍

功能:显示菜单窗口,供用户选择。

技术图片

  • ⑤查阅成语函数介绍

功能:调用读取文件成语函数和整理输入函数,并根据已有文件给出用户输入的成语的意思。

技术图片

技术图片

  • ⑥读取文件成语函数介绍

功能:读取并转存文件的成语及意思

技术图片

  • ⑦整理输入函数介绍

功能:若用户输入的成语中含空格,将自动去除空格与换行符。

技术图片

  • ⑧是否返回函数介绍

功能:显示是否返回窗口,并供用户输入选项。

技术图片

  • ⑨成语游戏函数介绍

敬请期待!

技术图片
码函数。

技术图片

2.2.运行结果

  • ①登录界面

技术图片

  • ②游戏界面

技术图片

  • ③排行界面

敬请期待!

  • ④查阅界面

技术图片

  • ⑤菜单界面

技术图片

2.3大作业总结

  • ①碰到问题及解决办法
问题 说明 解决方法
在菜单界面输入选项后无法进入对应的函数 忘了对单字符应使用‘‘ 将switch语句中的 1 改为 ‘1‘
在菜单界面输入选项后以异常的形式进入函数 没有吸收之前输入用户密码的换行符 在用户密码输入语句后补充getchar()语句
读取文件时,VS显示unsafe 百度。。。 将VS的预处理器定义设为_CRT_SECURE_NO_WARNINGS
死循环 在while循环语句之前忘了将循环变量i清零 将变量i清零
在试图从函数返回主函数的菜单函数时程序直接结束 从函数调用菜单函数并不会自动到主函数中的菜单函数接口且我的菜单函数是void型会直接结束程序 放弃调用,改为在main函数改为while语句,并用button判断是否结束循环即结束程序
  • ②小结

虽然此次大作业我只完成了登录与查阅功能,但我对文件与结构体的使用有了直接的体会,另外我此次大作业中的函数仍有无参式的函数(因为我确实想不出让它返回啥好。。。)。这也体现了我在多函数衔接上仍有不足,仍需努力。

以上是关于c博客06-结构体&文件的主要内容,如果未能解决你的问题,请参考以下文章

c博客06-结构体&文件

c博客06-2019-结构体&文件

c博客06-2019-结构体&文件

C博客06-结构体&文件

c博客06-结构体&文件

c博客06-2019-结构体&文件