zoukankan      html  css  js  c++  java
  • c博客06-2019-结构体&文件

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

    1.1 学习内容总结:

    1.1.1 结构体如何定义、成员如何赋值:

    • 结构体的一般形式:
      struct 结构体名
      {
      数据类型 成员名1;
      数据类型 成员名2;
      ....
      };

    • 在结构体定义的时候,分为两种:
      1.先定义结构体类型再定义变量名:
      struct 结构体名
      {
      数据类型 成员名1;
      数据类型 成员名2;
      ....
      };
      struct 结构体名 变量名;
      eg:

      2.在定义结构体类型的同时定义变量:
      struct 结构体名
      {
      数据类型 成员名1;
      数据类型 成员名2;
      ....
      }变量名;
      eg:

    • 结构体成员的赋值:
      结构体成员的赋值可以直接赋值也可以让用户输入,直接赋值时变量则为变量名.成员名=要赋值的内容,如果是数组则需要用strcpy函数。
      用户输入则需要注意如果是单一变量则需加&,如果是数组则不需要加&,变量名还是变量名.成员名格式。

    1.1.2 结构体数组排序做法:

    • 结构体数组排序与一般排序没有区别,但注意的时交换变量时要整体交换,这就可以想到两种,第一种则是傻傻地将结构体每一个变量都交换,第二种则是将要交换的两个结构体的地址交换。

    1.1.3 结构体指针怎么用:

    • 结构体指针的定义:结构体类型 *p;
    • 如果一个结构体指针被赋值了结构体变量的首地址,那么这个指针变量就可以指向任意一个成员,即p->成员名=变量名.成员名

    1.1.4 共用体、枚举类型做法:

    • 共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。
    • 共用体成员可以表示多种属性。
    • 枚举类型是指变量的值可以全部列出,定义一个枚举变量后,变量的值确定在定义之中。
    • 枚举元素是常量,只能在定义阶段赋值。

    1.1.5 文件读写,文件中数据如何读进结构体数组:

    • 首先定义文件指针并用fopen函数打开文件,注意如果文件为空则需要特别处理,否则对后续操作会有很大影响。
    • 其次将文件数据写入结构体数组可以用到fscanf函数或fgets函数。
    • fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往缓冲区写多一个,所以它是读一行数据)
    • fscanf:从文件中读取一段数据存入缓冲区(fscanf遇到空格或回车就结束,它会把空格或回车转换为,所以它是读一小段数据)

    2.综合作业--“我爱成语”(8分)

    2.1 文件介绍

    2.1.1 头文件介绍

    • idiom.h
      在这个头文件下,我定义了一个结构体类型和两个函数:一个查找成语,一个将成语写入结构体变量。
      按我原先的设想拿来定义多个成语操作的函数:成语的写入,成语的出题,核对题目等,奈何实力所限,就近乎空白了。

    • user.h
      在这个头文件下,我定义了一个结构体类型和两个函数:一个菜单,一个关于用户的操作。
      按我原先的设想拿来定义多个用户操作的函数:输入用户名的核对,密码的核对,用户的创建,用户成绩的统计,用户的排名。

    2.1.2函数实现文件介绍

    • main.cpp
      这个文件下定义了主要的变量和进行主要的程序流程:文件的开闭,菜单等。
    • 函数实现.cpp
      这个文件下存放着之前定义的函数的内容。

    2.2 运行结果

    2.3大作业总结

    深刻认识到自己知识储量与同学的差距,以及代码量的差距,还有一直搞不懂那个文件打开错误到底怎么解决。

  • 相关阅读:
    Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门
    开源精神就意味着免费吗?
    是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了。
    springcloud(十五):Spring Cloud 终于按捺不住推出了自己的服务网关 Gateway
    写年终总结到底有没有意义?
    培训班出来的怎么了?
    【重磅】Spring Boot 2.1.0 权威发布
    一线大厂逃离或为新常态,大龄程序员改如何选择?
    Elastic 今日在纽交所上市,股价最高暴涨122%。
    技术人如何搭建自己的技术博客
  • 原文地址:https://www.cnblogs.com/ye736660997/p/12043663.html
Copyright © 2011-2022 走看看