当前位置:首页 > 南京邮电大学软件设计
while(1) { choose(); printf(\请继续选择:\ } }
/*****************菜单***********************/ void menu() { printf(\ ★★★★★★★★★★★★★ \\n\ printf(\ ★ 打字程序 ★ \\n\ printf(\ ★★★★★★★★★★★★★ \\n\ printf(\ 产生随机字符串--请输入:1 \\n\ printf(\ 输入产生字符串--请输入:2 \\n\ printf(\ 正确率计算输出--请输入:3 \\n\ printf(\ 退 出 程 序--请输入:4 \\n\ printf(\请正确选择(如:1,2,3或则4):\}
/*****************选择***********************/ void choose() { char choos; do scanf(\ while(choos<'1'||choos>'4'); switch(choos) { case '1': found(b,length);break; case '2': input(a,length);break; case '3': right(a,b,length);break; case '4': printf(\ } }
/*****************产生随机字符串序列***********************/ void found(char *b,int length) { printf(\
for(i=0;i
11
printf(\ } }
/*****************输入***********************/ void input(char *a,int length) { printf(\请输入上面的字符串:\ fflush(stdin); //清理缓冲区 for(j=0;j /*****************计算输入正确率***********************/ void right(char *a,char *b,int length) { int numbers=0; double rate; for(i=0;i 3.2.4结果及完善方向 运行结果: 12 3.2.5:编程时候遇到的问题及解决方案 问题:/*****************输入***********************/ void input(char *a,int length) { printf(\请输入上面的字符串:\ for(j=0;j /****计算输入正确率*******/ void right(char *a,char *b,int length) { int numbers=0; double rate; for(i=0;i 运行的时候总是出现计算正确率为0.00%,如图所示。 问题原因:在输入字符串前没有清空缓冲区,这倒是出现错误。 13 解决方案:在输入scanf函数前先清空缓冲区,保证读入无误。 3.2.6完善方向: 这个程序在编写做成中遇到的麻烦不只是这一个,但是最值得注意的就是在输入字符串之前要清空缓冲区。除此之外,对函数参数传值也是一个应该注意的地方。程序比较简明,逻辑严明,界面美观,可以通过宏定义控制N来调节输入的长度。 3.3 文本编辑器(A3) 3.3.1设计题目及要求 题目:文本编辑器 要求:(1)编辑文本; (2)保存、打开指定位置的文本文件; (3)具有输入输出界面。 3.3.2设计思想及程序流程框图 设计思想:先显示一个功能菜单。然后由用户选择是编辑文本还是读取文本或者退出程序。如果选择编辑文本的话就在某位置建立一个文本文档,然后向文本文件里写入你要写的东西。读文本文件的话就在见文本的位置读该文本,先判断文本是否存在,如果不存在则显示打开文本失败;如果存在则读取文本中的信息。选择退出程序则退出程序。 程序流程框图: 开 始 输出功能菜单 输入n n 14
共分享92篇相关文档