c博客06-结构
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-结构的更多相关文章
- Flutter 即学即用系列博客——06 超实用 Widget 集锦
本篇文章我们来讲讲一些比较常用的 Widget. 大家验证的时候使用下面的代码替换 main.dart 代码,然后在 //TODO 语句返回下面常用 Widget 示例的代码. import 'pac ...
- C语言第十次博客作业--结构体
一.PTA实验作业 题目1: 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 求出每名学生的总分 定义i,j循环变量 for i=0 to n for j=0 to 3 p[i].su ...
- C语言博客作业-结构体
一.PTA实验作业 6-2 按等级统计学生成绩 1. 本题PTA提交列表 2. 设计思路 定义i,count存放不及格人数 for i=0 to n-1{ 判断 score的值的范围 if 100&g ...
- C语言博客作业—结构体
一.PTA实验作业 题目1:结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 void calc //函数calc求出p指针所指的结构体数组中 n 名学生各自的总分 { 定义循环变量i: ...
- c语言博客作业--结构体&文件
1.本章学习总结 1.1思维导图 1.2.本章学习体会 本章学到了结构体如何构建,用typedef进行重定义结构体,结构指针,访问结构体的方式等. 文件:文件的读取,文件读写的几个函数,基本了解了文本 ...
- C语言博客作业--结构体,文件
1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为: struct 结构体名 { 数据类型 成员名1: 数据 ...
- Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)
前言 紧接着上一篇,这一篇我们讲一下原生怎么给 Flutter 发信号,即原生-> Flutter 还是通过 Flutter 官网的 Example 来讲解. 案例 接着上一次,这一次我们让原生 ...
- Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
背景 前面我们讲了很多 Flutter 相关的知识点,但是我们并没有介绍怎样实现 Flutter 与原生的通信. 比如我在 Flutter UI 上面点击了一个按钮,我希望原生做一些处理,那么原生怎么 ...
- MWeb 生成静态网站&博客
MWeb 生成静态网站 & 博客 MWeb 的静态网站分类 在 MWeb 的文档库中,有两种分类,一种是普通分类,另一种就是静态网站分类了.你可以直接新增一个静态网站分类,也可以在普通分类的顶 ...
- 02-大鸭梨博客系统数据库设计及Dapper的使用
毫无疑问,数据库的设计在一个系统中起了至关重要的作用.我们都知道,系统设计分为两部分,或者说是两个阶段,即数据库设计和功能设计.构建一个完善的系统需要这两个阶段的充分考量.周密设计.合理联接以及密切配 ...
随机推荐
- 使用Powershell实现自动化安装/卸载程序
最近需要制作软件安装包,需要附带VC运行时和.Net Framework的安装,但又不想让用户自己点下一步,所以就有了以下操作. 微软提供了一个程序叫msiexec.exe,位于C:\Windows\ ...
- 关于SQL中SELECT *(星号)的危害论
听闻有许多人是禁止开发人员在SQL中使用SELECT *的,这里翻译一下StackOverflow的一篇提问,个人认为相当客观 [SELECT *]危害主要有以下几点: 给数据消费者传数据的低效.当你 ...
- 2019 猎豹移动java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.猎豹移动等公司offer,岗位是Java后端开发,最终选择去了猎豹移动. 面试了很多家公司,感觉大部分公司考察的点 ...
- php数组的数学功能相关常用函数
php数组中有一些函数与数学相关的函数,大多都是以array开头然后下划线接一个数学上的英文单词,如下: array_diff() array_diff_assoc() array_intersect ...
- Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)
Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...
- shell 遍历目录下的所有文件
dir=/usr/local/nginx/logs for file in $dir/*; do echo $file done //结果 ./test.sh /usr/local/nginx/log ...
- 房地产propretie财产
property 1. 财产:所有物(不可数); 地产, 房地产 He has a large property in the county. 他在这个县有一大宗地产. 1.Propretie obs ...
- 下载Spring
下载Spring Spring官网并不直接提供Spring的下载,Spring现在托管在GitHub上. 1.进入Spring官网 -> PROJECTS -> SPRING FRAMEW ...
- sqlserver 备份集中的数据库备份与现有的 'XXX' 数据库不同。
需求是将Ecology复制一份出来用于发布测试程序. 方案一 正确步骤 1.新建数据库Ecology2 2.选中Ecology2 点击右键:任务--还原--文件和文件组 选中源设备--点击右侧...按 ...
- MYSQL5.7生成列简介及创建
1.说明 生成列是由已存在的字段通过表达式计算得来的 2.生成列类型 VIRTUAL,即虚拟类型,字段值不实际存储,当读取行时再计算,虚拟列类型不占存储 STORED,即存储类型,字段值会实际存储起来 ...