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

1.1 学习内容总结

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

结构体数组排序做法

结构体指针怎么用

共用体、枚举类型做法

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

1.2 本章学习体会

描述学习感受,也可以在这里提出你不理解地方、对教师教学建议等等。

计算这两周代码量,是否达到目标。

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

2.1.文件介绍

头文件介绍

头文件代码截图

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
char idom[80];
char mean[200];
}IDIOM;
typedef struct
{
char username[100];
char pswd[100];
}USER;
int GetIdiom(IDIOM* idioms, FILE* fp);
int checkUserValid(USER* psu);
int ListMenu();
int GetChoice();
int SearchIdiom(char* useridiom, IDIOM* p);

2.函数实现文件介绍。

主要代码截图

#include"idiom.h"
int checkUserValid(USER* psu)
{
FILE* fp;
char username[100];
char pswd[100];
fp = fopen("user.txt", "r");
if (!fp)
{
printf("文件打开失败!"); exit(0);
}
while (!feof(fp))
{
fscanf(fp, "%s%s", username, pswd);
if (strcmp(username, psu->username) == 0 &&
strcmp(pswd, psu->pswd) == 0) return 1;
}
return 0;
}
int GetIdiom(IDIOM* idioms, FILE* fp)
{
char idiomStr[200];
while (!feof(fp))
{
fgets(idiomStr, 200, fp);
puts(idiomStr);
}
return 1;
}
int ListMenu()
{
printf("1.读取文件\n");
printf("2.查找成语\n");
}
int GetChoice()
{
int choice;
IDIOM idioms[100];
FILE* fp;
int num;
fp = fopen("idiom.txt", "r+");
if (fp == NULL)
{
exit(0);
}
while (1)
{
printf("\n请输入选择:");
scanf("%d" ,&choice);
if(choice==1)
{
num = GetIdiom(IDIOM * idioms, FILE * fp);
break;
}
else
{
SearchIdiom(char* useridiom, IDIOM * p)
}
} }
int SearchIdiom(char* useridiom, IDIOM* p)
{
int i = 0;
while (i != 60)
{
if ((strstr((p + i)->idiomstr, useridiom)) != NULL)
{
return (p + i)->idiomstr;
}
i++;
}
return NULL;
}

介绍主要函数代码及功能。

主要代码截图

等等其他文件

2.2.运行结果

1.登录界面

2.游戏界面

3.排名界面

2.3大作业总结

1.碰到问题及解决办法

可以列表展示。

2.小结

大作业代码提交

c博客06-结构的更多相关文章

  1. Flutter 即学即用系列博客——06 超实用 Widget 集锦

    本篇文章我们来讲讲一些比较常用的 Widget. 大家验证的时候使用下面的代码替换 main.dart 代码,然后在 //TODO 语句返回下面常用 Widget 示例的代码. import 'pac ...

  2. C语言第十次博客作业--结构体

    一.PTA实验作业 题目1: 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 求出每名学生的总分 定义i,j循环变量 for i=0 to n for j=0 to 3 p[i].su ...

  3. C语言博客作业-结构体

    一.PTA实验作业 6-2 按等级统计学生成绩 1. 本题PTA提交列表 2. 设计思路 定义i,count存放不及格人数 for i=0 to n-1{ 判断 score的值的范围 if 100&g ...

  4. C语言博客作业—结构体

    一.PTA实验作业 题目1:结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 void calc //函数calc求出p指针所指的结构体数组中 n 名学生各自的总分 { 定义循环变量i: ...

  5. c语言博客作业--结构体&文件

    1.本章学习总结 1.1思维导图 1.2.本章学习体会 本章学到了结构体如何构建,用typedef进行重定义结构体,结构指针,访问结构体的方式等. 文件:文件的读取,文件读写的几个函数,基本了解了文本 ...

  6. C语言博客作业--结构体,文件

    1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为:      struct  结构体名     {      数据类型 成员名1:      数据 ...

  7. Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)

    前言 紧接着上一篇,这一篇我们讲一下原生怎么给 Flutter 发信号,即原生-> Flutter 还是通过 Flutter 官网的 Example 来讲解. 案例 接着上一次,这一次我们让原生 ...

  8. Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信

    背景 前面我们讲了很多 Flutter 相关的知识点,但是我们并没有介绍怎样实现 Flutter 与原生的通信. 比如我在 Flutter UI 上面点击了一个按钮,我希望原生做一些处理,那么原生怎么 ...

  9. MWeb 生成静态网站&博客

    MWeb 生成静态网站 & 博客 MWeb 的静态网站分类 在 MWeb 的文档库中,有两种分类,一种是普通分类,另一种就是静态网站分类了.你可以直接新增一个静态网站分类,也可以在普通分类的顶 ...

  10. 02-大鸭梨博客系统数据库设计及Dapper的使用

    毫无疑问,数据库的设计在一个系统中起了至关重要的作用.我们都知道,系统设计分为两部分,或者说是两个阶段,即数据库设计和功能设计.构建一个完善的系统需要这两个阶段的充分考量.周密设计.合理联接以及密切配 ...

随机推荐

  1. drf中的各种view,viewset

    drf中的各种view,viewset Django REST framework里有各种各样的view,让我有点蒙,得好好捋一捋这关系. 视图的作用 Django用"视图"这个概 ...

  2. navicat连接mysql出现2059

    1.找到mysql的目录:C:\Program Files\MySQL\MySQL Server 8.0\bin 2.清空此目录,输入cmd,回车 3.在控制台输入:mysql -u root -p ...

  3. Thymeleaf前后端分页查询

    分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...

  4. 五 查询数据SELECT   一、单表查询

    一 单表查询的语法 二 关键字的执行优先级 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 ...

  5. Angular使用操作事件指令ng-click传多个参数示例

    本文实例讲述了Angular使用操作事件指令ng-click传多个参数功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html ng-app="m ...

  6. jsonpath_rw操作json

    from jsonpath_rw import parse def get_key_from_data(key,data): # 定义匹配规则 json_expr=parse(key) result= ...

  7. Java 缓存实例

    重复创建相同的对象没有太大的意义,反而加大了系统开销,某些情况下,可以缓存该类的实例,实现复用. 实现缓存实例:定义一个private static成员变量存储类的实例(多个可用数组)先检测上面的成员 ...

  8. LeetCode刷题:Reverse Words in a String(翻转字符串中的单词)

    题目 Given an input string, reverse the string word by word. For example, Given s = "the sky is b ...

  9. java实现mysql数据备份

    /** * @param hostIP ip地址,可以是本机也可以是远程 * @param userName 数据库的用户名 * @param password 数据库的密码 * @param sav ...

  10. idea生成类中序列化id

    RPC接口中要传输的对象需要序列化,需要生成序列id,idea中生成序列id的方式如下 在需要添加序列id的类中,选中类名,alt+enter就可以实现了