c博客06-结构体&文件

1本章学习总结

1.1学习内容总结

  • 定义结构体
结构类型定义的一般形式
struct 结构名 {
    类型名 结构体成员名1;
    类型名 结构体成员名2;
    类型名 结构体成员名3;
        ...
    类型名 结构体成员名n;
};
  • 赋值
struct student{
int math;
int chinese
char name[20];
}A;
A={"60","60""lihong"};
  • 结构体数组排序方法
int i, j;
struct stu temp;
for (i = 0; i < n - 1; i++)
{
    for (j = 0; j < n - i - 1; j++)
    {
        if (p[j].number < p[j + 1].number)
        {
            temp = p[j];
            p[j] = p[j + 1];
            p[j + 1] = temp;
        }
    }
}
  • 使用结构体指针
struct student{
int math;
int chinese
char name[20];
}A;
struct student *p;
p=&A;
  • 共用体
union Data {
int i; float f; char str[20]; 
}data;
  • 枚举
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };
  • 文件读写,文件中数据如何读进结构体数组
FILE *fp;
struct student{
int math;
int chinese
char name[20];
}A[20];
int i;
fp=fopen("stu.txt","r+");
for(i=0;i<20;i++)
fscanf(fp,"%d %d %s",&A[i].math,&A[i].chinese,A[i].name);

1.2本章学习总结

  • 结构体的使用并没有造成太大的难度,需要注意的是当使用结构体指针的内容是,需要将.改为->。在我看来本章的难点在使用对文件的修改与删除文件内容,如果只是添加内容到文件内难度还小,但如果需要删除文件内的一段数据,往往需要重新创建一个空文件往其中添加内容后覆盖文件,需要的操作较多。
  • 两周代码量为:800;

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

    2.1文件介绍

    2.1.1头文件介绍

    idiom.h
    c博客06-结构体&文件_第1张图片

2.1.2函数实现文件介绍

  • 文件1:main.cpp
    用于打开与关闭文件,判断用户的输入指向哪一个文件
    c博客06-结构体&文件_第2张图片
  • 文件2:user.cpp
    用于输入用户账号与密码,判断账号密码是否正确
    c博客06-结构体&文件_第3张图片
  • 文件3:menu.cpp
    用于输入用户菜单,和返回用户输入的数据至main.cpp文件
    c博客06-结构体&文件_第4张图片
  • 文件4:idiom.cpp
    根据用户输入的数据进行函数,包括成语的全部输出,添加成语至文件与成语问答并返回用户的正确率。
    c博客06-结构体&文件_第5张图片
    c博客06-结构体&文件_第6张图片
    c博客06-结构体&文件_第7张图片

    2.2运行结果

  • 1.登录界面
  • 2.游戏界面

    2.3大作业总结

    2.3.1遇到的问题

    我并没有去编写排名相关的程序,遇到的问题是读取文件数据,当读取用户文件数据时如果没使用指针返回则函数关闭时数据也消失了,这边我选择了将输入用户与读取文件直接放在一个函数中,直接判断用户账号和密码是否输入正确,

    2.3.2小结

    本次作业并没有花费太多时间完成,对程序的要求也比较简单,可观性也不大,之后会慢慢改善。

你可能感兴趣的:(c博客06-结构体&文件)