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. docker部署Asp.Net Core、Nginx、MySQL

    2019/10/24,docker19.03.4, .netcore 3.0,CentOS7.6 摘要:asp.net core 3.0 网站项目容器化部署,使用docker-compose编排Ngi ...

  2. 转:更改pip源至国内镜像,显著提升下载速度

    经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的 ...

  3. Java自学-控制流程 break

    Java的break语句 结束循环 示例 1 : break; 直接结束当前for循环 public class HelloWorld { public static void main(String ...

  4. 【MySQL】数据库中间件Atlas

    1.介绍 Atlas 是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改 ...

  5. nodejs中的_filename和_dirname

    _filename和_dirname都不是全局对象下的属性,它们都是模块下的 _filename:返回当前模块文件被解析过后的绝对路径,该属性并非全局,而是模块作用域下的 console.log(_f ...

  6. canvas教程(一) 简介

    什么是 canvas 按例是要介绍一下 canvas 的,在没有 canvas 之前,我们为了网页的效果,很多情况下是使用了图片来实现,不过用图片就需要加载,而且图片的体积也是一个问题,所以在 htm ...

  7. Integer装箱拆箱、参数传递

    拆箱装箱 举个例子 @Test public void testEquals() { int int1 = 12; int int2 = 12; Integer integer1 = new Inte ...

  8. mysql DCL数据控制语言

    -- 维护性操作   都是在cmd下操作的连接数据库:        本机:mysql [-h localhost] -u account -p        远程:mysql [-h remote_ ...

  9. WPF应用打包流程

    1,安装工程模板插件Microsoft Visual Studio Installer Projects https://marketplace.visualstudio.com/items?item ...

  10. Hive架构分析

    一.Hive三种设计模式 1.默认配置[使用Netty存储元数据] 2.mysql[使用mysql存储元数据] 3.配置Thrift[使用mysql存储元数据] 二.执行步骤 三.scala访问Hiv ...