当前位置: 首页 > news >正文

专业网站制作推广服务百度应用宝

专业网站制作推广服务,百度应用宝,在线制作图标,托管服务器是什么意思之前帮别人写的一个简单的报告#xff0c;无偿分享给大家~代码在后面#xff0c;有一些图片出于懒惰没有上传。比较简单#xff0c;喜欢的话关注我~#xff0c;请勿商用~ 1 系统功能模块结构图 该程序主要思路#xff1a; 头文件设计#xff0c;存储结构设计#xff0… 之前帮别人写的一个简单的报告无偿分享给大家~代码在后面有一些图片出于懒惰没有上传。比较简单喜欢的话关注我~请勿商用~ 1 系统功能模块结构图 该程序主要思路 头文件设计存储结构设计函数设计 函数包括 显示主菜单功能选择函数 文件读入写入函数两个txt文件四个函数 进行游戏设计两个函数 单词的增删改设置1一个函数 对于记录的排序设置一个排序方式函数 2 数据结构设计及用法说明 利用结构体和数组进行存储 应用函数的实参形参实现各个函数的信息一致 typedef struct HISTORY { char name[32]; int count; int len; }JL; 以下是在M函数中定义的局部变量主要是结构体数组和字符数组以及整型统计 JL LS[128]; char words[128][2][32]; int SUM1R1(LS);//计数——历史信息 int SUM2 R2(words);//计数——单词信息 3 程序结构画流程图 该图为函数M的流程图该函数是菜单作用循环调出功能。 该图是主函数 对单词功能菜单实现的源代码以及分析 int W(char words[128][2][32], int SUM2)//对单词增删改,返回的是单词的总共数量 { int I;char en[32], ch[32]; printf(\t\t         单词管理\n); printf(\t\t         1.增加单词\n); printf(\t\t         2.删除单词\n); printf(\t\t         3.更改单词\n); printf(\t\t         4.退出管理\n); printf(\t\t请输入相应功能前的数字进行操作:\n); scanf(%d, I); switch (I)//switch结构调用功能 { case 1: printf(请输入单词的英文和中文\n); scanf(%s %s, words[SUM2][1], words[SUM2][0]); return SUM21; case 2: printf(请输入要删除单词的中文\n); scanf(%s, ch); for (int i 0; i SUM2; i) { if (strcmp(ch, words[i][0]) 0)//寻找相同的单词 { for (int j i; j SUM2 - 1; j)//用strcpy函数将后面的单词移动上前达成删除功能 { strcpy(words[j][0], words[j 1][0]); strcpy(words[j][1], words[j 1][1]); } printf(删除成功\n); return SUM2-1; } } printf(没有找到该单词\n); return SUM2;//如果没有这个单词就不改变SUM2 case 3: printf(请输入单词的英文和中文\n); scanf(%s %s, en, ch); for (int i 0; i SUM2; i) { if (strcmp(ch, words[i][0]) 0) { strcpy(words[i][1], en);//用strcpy功能更改单词 } } break; case 4: return SUM2; default: break; } return SUM2; } 4各模块的功能 函数 形参 功能介绍和返回值 void H; () 欢迎界面 无返回值 void M; () 功能选择 无返回值 int R1; (JL LS[128]) 读取history.txt文件 返回历史信息的条数 Int R2; (char words[128][2][32]) 读取words.txt文件 返回单词的条数 int G1; (char words[128][2][32], int SUM2,JL LS[128],int SUM1) 开始游戏 返回历史记录的长度 JL G2; (JL ret,char word_ch[32], char word_en[32]) 进行猜单词 返回一个历史记录 int W; char words[128][2][32], int SUM2) 单词管理菜单 返回值0 int callback; (const void* a, const void* b) 排序回调函数 返回值0或1 void save1; (JL LS[128], int SUM1) 保存历史记录 无返回值 void save2; (char words[128][2][32], in()t SUM2) 存储单词 无返回值 int main 主函数 返回值0 5 试验结果 设计过程中出现的问题和解决方法 1 函数的逻辑结构问题 解决方法分析关联明确调用关系 2 部分代码语法不清晰 解决方法查询书籍和互联网询问老师同学 以下是玩家尝试游戏的输入输出样例 输入1 输入玩家姓名 输入alice 谜底白 单词首字母w 你还有3次机会请输入完整单词 输入write w-ite 你还有2次机会请输入完整单词 输入white 谜底心 单词首字母h 你还有3次机会请输入完整单词 输入heart 谜底父亲 单词首字母f 你还有3次机会请输入完整单词 输入father 谜底一个 单词首字母a 你还有3次机会请输入完整单词 输入an 游戏结束 6 调试与测试 调试方法 1输入简单样例测试 2根据编译器提示改错 3使用编译器debug 程序运行结果截图及文字分析 1 程序运行测试步骤如下 创建txt文件words.txt 按英文 中文格式创建 创建txt文件history.txt 空白文件 输入内容尝试玩家猜单词输入查看历史记录进行单词的增删改关闭系统查看两个txt文件现状 2 程序运行结果截图如下 1.开始游戏 2.单词管理 3.历史记录 4.退出系统 请输入相应功能前的数字进行操作: 3 以下是前三名玩家的最优历史记录 玩家姓名tim 猜单词次数1 猜单词长度4 玩家姓名alice 猜单词次数5 猜单词长度18 请按任意键继续. . . 7 总结 设计的收获和体会 通过一学期系统的学习综合运用了课内外的C语言知识独立完成了这个具有多种功能较为完善的猜单词系统。 该系统综合运用了结构体指针函数文件读写等知识以较精炼的语言实现了数据的文件流格式输入输出结构体存储简易计算和查找筛选数据排序等功能。 在编写代码的过程中曾多次出现例如知识点盲区出现明显的BUG逻辑结构运用混乱等问题通过询问老师以及前辈互联网自学等方式解决了问题提升了自我。完成该项实验对于基础的C语言语法有了更深刻的理解提高了自学能力和耐心对此有了很大的收获。 历经数日终于做出了系统的雏形有着小小的成就感。但我也认识到做一个完善系统的不易。在编写的过程中有不少的的设想因为能力不足没有实现。距离真正的系统开发我们还有很多可以学习的地方。 千里之行积于跬步。希望能在未来学习的过程中能融会贯通力争以后能有更好的编写代码的能力把程序做得更好。 参考文献 https://www.csdn.net/?spm1001.2101.3001.4476 附录 #define _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_WARNINGS #includemath.h #include stdio.h #include string.h #include stdlib.h typedef struct HISTORY { char name[32]; int count; int len; }JL; void H();//欢迎界面 void M(); //功能选择 int R1(JL LS[128]);//读取history.txt文件,返回历史信息的条数 int R2(char words[128][2][32]);//读取words.txt文件,返回单词的条数 int G1(char words[128][2][32], int SUM2,JL LS[128],int SUM1);//开始游戏,返回历史记录的长度 JL G2(JL ret,char word_ch[32], char word_en[32]);//一次游戏 返回一个历史记录 int W(char words[128][2][32], int SUM2);//单词管理菜单 int callback(const void* a, const void* b);//排序回调函数 void save1(JL LS[128], int SUM1);//保存历史记录 void save2(char words[128][2][32], int SUM2);//存储单词 int main() { H(); M(); return 0; } void H()//欢迎界面 {   printf(欢迎进入猜单词系统!\n\n);   printf(\t\t  |--------------------------|\n); printf(\t\t  |------- 猜单词系统 -------|\n); printf(\t\t  |--------------------------|\n); printf(\n); return; } void M() //功能选择 {    JL LS[128]; char words[128][2][32]; int SUM1R1(LS);//计数——历史信息 int SUM2 R2(words);//计数——单词信息 while (1) { printf(\t\t\n); printf(\t\t         1.开始游戏\n); printf(\t\t         2.单词管理\n); printf(\t\t         3.历史记录\n); printf(\t\t         4.退出系统\n); printf(\t\t\n); printf(\t\t请输入相应功能前的数字进行操作:\n); int I; scanf(%d, I); switch (I) { case 1: SUM1 G1(words,SUM2,LS,SUM1); save1(LS, SUM1); break; case 2: SUM2 W(words, SUM2); save2(words, SUM2); break; case 3: qsort(LS,SUM1, sizeof(JL), callback); printf(以下是前三名玩家的最优历史记录\n); for (int i0;i3iSUM1;i) { printf(玩家姓名%s 猜单词次数%d 猜单词长度%d\r\n, LS[i].name, LS[i].count, LS[i].len); } system(pause); break; case 4: printf(\t\t欢迎下次使用!\n); exit(0); default: break; } } } int R1(JL LS[128])//读取history.txt文件,返回历史信息的条数 { FILE* fp; int SUM 0; fp fopen(history.txt, r); while (fscanf(fp, %s %d %d,LS[SUM].name,LS[SUM].count,LS[SUM].len) ! EOF)// { SUM; } fclose(fp); return SUM; } int R2(char words[128][2][32])//读取words.txt文件 { FILE* fp; int SUM 0; fp fopen(words.txt, r); while (fscanf(fp, %s %s, words[SUM][1], words[SUM][0]) ! EOF)//前一个存英文后一个存中文 { SUM;//每读一条计数增加 } fclose(fp); return SUM;//返回单词的条数 } void save1(JL LS[128], int SUM1)//保存历史记录 { FILE* fp; fp fopen(history.txt, w); for (int i 0; i SUM1; i) { fprintf(fp, %s %d %d\n, LS[i].name, LS[i].count, LS[i].len); } fclose(fp); } void save2(char words[128][2][32], int SUM2)//存储单词 { FILE* fp; fp fopen(words.txt, w); for (int i 0; i SUM2; i) { fprintf(fp, %s %s\n, words[i][1], words[i][0]); } fclose(fp); } int G1(char words[128][2][32], int SUM2,JL LS[128],int SUM1)//开始游戏,返回历史记录的长度 { JL h; h.count 0; h.len0; printf(输入玩家姓名\n); scanf(%s, h.name); int prelenh.len,I4;//设置有4次机会 while(I--) { int r rand(); r % SUM2; h G2(h,words[r][0], words[r][1]); if(h.lenprelen)break; prelenh.len; } printf(游戏结束\n); system(pause); for (int i 0; i SUM1; i) { if (strcmp(h.name, LS[i].name) 0)//已经有这个名字 { if (h.count / h.len LS[i].count / LS[i].len) { LS[i] h; return SUM1; } } } LS[SUM1] h;//从来没有 return SUM11; } JL G2(JL ret,char word1[32], char word2[32])//一次游戏 返回一个历史记录 { char A[32]; int count0; printf(谜底%s\n, word1); printf(单词首字母%c\n,word2[0]); while (count 3) { printf(你还有%d次机会请输入完整单词\n,3-count); count; scanf(%s,A); for (int i 0; i (int)strlen(word2); i) { if (A[i] ! word2[i]) { A[i] -; } } A[strlen(word2)] \0; if (strcmp(A, word2) 0) { ret.countcount; ret.lenstrlen(word2); return ret; } else { printf(%s\r\n, A); } } count0xfffff;//没有猜中 return ret; } int W(char words[128][2][32], int SUM2)//对单词增删改,返回的是单词的总共数量 { int I;char en[32], ch[32]; printf(\t\t         单词管理\n); printf(\t\t         1.增加单词\n); printf(\t\t         2.删除单词\n); printf(\t\t         3.更改单词\n); printf(\t\t         4.退出管理\n); printf(\t\t请输入相应功能前的数字进行操作:\n); scanf(%d, I); switch (I)//switch结构调用功能 { case 1: printf(请输入单词的英文和中文\n); scanf(%s %s, words[SUM2][1], words[SUM2][0]); return SUM21; case 2: printf(请输入要删除单词的中文\n); scanf(%s, ch); for (int i 0; i SUM2; i) { if (strcmp(ch, words[i][0]) 0)//寻找相同的单词 { for (int j i; j SUM2 - 1; j)//用strcpy函数将后面的单词移动上前达成删除功能 { strcpy(words[j][0], words[j 1][0]); strcpy(words[j][1], words[j 1][1]); } printf(删除成功\n); return SUM2-1; } } printf(没有找到该单词\n); return SUM2;//如果没有这个单词就不改变SUM2 case 3: printf(请输入单词的英文和中文\n); scanf(%s %s, en, ch); for (int i 0; i SUM2; i) { if (strcmp(ch, words[i][0]) 0) { strcpy(words[i][1], en);//用strcpy功能更改单词 } } break; case 4: return SUM2; default: break; } return SUM2; } int callback(const void* a, const void* b)//排序回调函数 { JL* x (JL*)a; JL* y (JL*)b; if (x-count / x-len y-count / y-len) return 1; else if (x-count / x-len y-count / y-len) return 0; else return 1; }
http://www.pierceye.com/news/897720/

相关文章:

  • 老板合作网站开发宁波网站建设慕枫科技
  • 做外贸都有哪些好网站河北沙河市规划局或建设局网站
  • 网站设计建设维护专门做网站的app
  • 哈尔滨建站模板大全慈溪高端网站设计
  • 升阳广州做网站公司门户网站建设存在的问题和差距
  • 杭州建设行业网站做兼职网站
  • 连云港市城乡建设管理局网站wordpress怎么设置
  • 如何找做网站的公司网站建站哪家公司好
  • 网站建设性价比高珠海网站建设工程
  • 设计公司网站需要什么条件网站建设与管理课程代码
  • 局域网网站怎么做软件定制开发的发展前景
  • 门户网站关键词旅游网站开发报价单
  • 哪个网站做视频收益高社区服务呼叫系统 网站的建设
  • 网站是如何制作的工厂 电商网站建设
  • 展览设计网站有哪些南海网站智能推广
  • 贵阳做网站需要多少钱凡科网站建设完成下载下载器
  • 虚拟机上做钓鱼网站照片网站怎么做
  • 建网页和建网站编程猫少儿编程app下载
  • 网站首页介绍cms系统架构
  • 建设厅的工程造价网站东莞网站优化方式
  • 微信网站模板源码wordpress如何编辑
  • 做网站p图工具公司网站建设教程
  • 网站 选项卡 图标苏州网站网页设计
  • 柳州网站建设优化推广wordpress 不显示菜单
  • 网站死循环网站备案和域名备案区别
  • 做网站要学会什么语言装修公司网站模板下载
  • 门户网站建设自查报告网站关键词快速排名技术
  • 如何建网站费用多少全国工商企业查询平台
  • 兰州新区建站什么是网络营销取得成功的基础
  • 南昌 网站 公司wordpress迁移后媒体库丢失