基本模块

针对需求做如下设计:

( 1 ) 读取文件模块

读取文本中的拼音和汉字并分别存储在两个二维数组中

void read_file(char dic[N] [1000], char index[N] [10])

(2) 查找模块

通过比较输入的拼音与存储在拼音数组中的拼音相互比较实现查找

int search(char* target, char index[N] [10])

(3) 输出模块

根据查找到的行数查找对应行数的汉字,输出汉字选项并实现翻页功能

void output(char dic[N] [1000], int n)

(4) 按输入列出所有可能的拼音组合模块

根据输入的数字,排列组合列出所有的组合,再通过调用查找模块,筛选合法的拼音并存储至新建数组 void com(int *arr, int n, int k, char index[N][10], char *now)

(5) 打印屏幕模块

实现屏幕的打印和用户输入数字的录入以及标点的打印。

模块的实现方法

(1) 读取文件模块

读取文件首先创建一个文件类型的指针变量FILE* f,只读打开f = fopen("pinyin.txt", "r"),读取文件 中的字节流fgets(tmp, 1000, f),这个函数相当于读取了f中的一行内容直至“/n”到tmp数组中,再通过“=” 判断将这一行中的拼音和汉字分别存储至两个不同的二维数组中,完成文件的读取。

(2) 查找模块

查找函数采用二分法,用strcmp ( ) 将目标拼音与拼音数组中的拼音逐个比较,找到了返回目标拼音的数组位置,没找到返回-1。

(3) 输出模块

输出汉字,每输出五个汉字询问一边“choose from 1-%d, next page-0”,由于一个汉字占两个字符, 在输出时需要注意两个为一组输出一个汉字。

(4) 排列组合模块

根据输入的数字列出所有拼音的组合,将每个数字对应的字母输入一个数组中all[][],不断循环穷举出 所有可能的拼音字母组合,存入一个临时数组now[]中,再通过一个判断语句调用查找函数判断now[]中的元 素是否合法,合法则存入确定数组targets[][]中。

(6) 打印屏幕模块

逐行打印屏幕显示,读取输入的数字,以字符形式存储,如果输入是0,则用switch语句输出指定符号,如 果不是0,则将输入的字符数组转为整形并存入arr[]数组中, 以便传入排列组合模块中。

代码及汉字库文件

在我主页资源中查看

计算机实习:C语言实现的拼音模拟器相关推荐

  1. 计以下整数的标准差和平均值c语言,北邮2012学年计算机实习题目及要求.doc

    小学期计算机上机实习大纲(2012夏) [email protected] 密码:123456 要求:完成以下实习内容, 并按要求提交实验报告和实习内容的电子版 一. C语言的实习内容 1. 某个文件 ...

  2. 闽高校计算机二级c语言模拟器,闽高校计算机二级C语言模拟卷及答案.doc

    闽高校计算机二级C语言模拟卷及答案.doc (54页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 一.单项选择题(每小题2分,共20分) ...

  3. c语言 实习报告,计算机专业c语言实训报告范文

    计算机专业c语言实训报告范文 通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多, ...

  4. 闽高校计算机二级c语言模拟器,闽高校计算机二级C语言模拟卷及答案教案.doc

    闽高校计算机二级C语言模拟卷及答案教案 一.单项选择题(每小题2分,共20分) 1.以下4组用户定义标识符中,全部合法的一组是(). A)_totalclu_1sum B)if-maxturb C)t ...

  5. 计算机实习学习总结报告10篇

    计算机实习学习总结报告篇1 一.实习单位: 来到实习单位后主要是在门市从事产品的销售和商家间渠道工作.在工作的过程中了解计算机相关行业的发展现状及趋势;熟悉计算机硬件组装.计算机系统及软件安装.局域网 ...

  6. 汉语计算机语言,汉语是唯一可用于计算机时代的语言!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 100年前,全世界都认为汉语是婴儿语,后来才发现原来汉语是进化过的世界最先进的语言.原来在七千年前,汉语也有罗嗦的后啜和字格,后来我们把那些无用东西都抛弃 ...

  7. 需要达到什么水平才能找到一份计算机实习?

    作者:阿秀 阿秀的求职笔记:https://interviewguide.cn 你好,我是阿秀. 最近有不少学弟学妹私聊问我一个类似问题:我现在大二/大三/研一/研二,我需要达到什么样的计算机水平才能 ...

  8. c语言编程实习,c语言编程实习心得

    <c语言编程实习心得>由会员分享,可在线阅读,更多相关<c语言编程实习心得(8页珍藏版)>请在人人文库网上搜索. 1.c语言编程实习心得通过这次为数不多的几天计算机实践学习,我 ...

  9. 北邮计算机实习网络爬虫设计报告,北邮计算机实习报告(含代码).doc

    北邮计算机实习报告(含代码) 计算机实习报告 学院: 班级: 学号 序号: 姓名: 目录 一.魔方阵4 1.实验要求4 2.设计4 3.流程图4 4.功能实现5 5.应用5 6.界面5 二.动画设计6 ...

最新文章

  1. chubby分布式锁服务概述
  2. 阿里疯传,手把手教你如何从0开始开展UI自动化测试?
  3. 电脑新安装JDK版本并运行使用该JDK版本问题
  4. 光伏发电项目将全面摸底复核
  5. 栈,堆,值类型,引用类型,装箱,拆箱 .NET中 6个重要的概念
  6. vscode 执行npm命令_生产力终极指南:用了两年,如今才算真正会用VS Code
  7. H2 database 操作操作内存表
  8. 《数据结构教程》(李春葆 主编)课后习题【练习题6】
  9. HDU 1711 Number Sequence (KMP)
  10. VBA基础知识———常用语句
  11. 今天开始,吾使用手机上的五笔输入法
  12. excel文本写入 npoi_C#使用NPOI读写excel
  13. 记一次Maya入门之材质和模型的导出
  14. 从洛伦兹曲线定性地看马太效应的根源
  15. 服务窗口关闭了,服务就停止了,真特么烦 pm2了解一下
  16. 微软认知服务应用秘籍 – 君子动口不动手
  17. 悦诗风吟网络营销的目标_“悦诗风吟”品牌的促销策略研究
  18. CAN调谐器与SILICON调谐器(又称为铁壳调谐器和硅片调谐器)
  19. myeclipse 10.0下载及安装
  20. SpringBoot 1.X 优雅停机 ( shutdown gracefully )

热门文章

  1. 【MySQL】多表查询的分类1:等值连接和非等值连接
  2. 美科技巨头每秒能赚多少钱?苹果11376元、谷歌6691元
  3. 【考研英语】刘晓艳英语语法和长难句——课堂笔记
  4. 【操作系统】进程同步
  5. sleuth原理详解
  6. roc曲线的意义_实用!Biomarker表达差异图、ROC曲线amp;四格表的实操手册
  7. NetDrive软件的设计架构
  8. linux显示最近十条命令,10条命令,一分钟分析Linux性能问题
  9. 【每日一练】用户登录小案例
  10. 为什么用scrum_为什么幼儿园的老师是最好的Scrum大师。