打字测试软件课程设计报告书
C#课程设计报告-打字游戏
课题名:C#课程设计题目:小小打字游戏学生姓名:XXXXXX 学号: 1008060255 班级:计科101班院系:计算机科学与信息学院专业年级:计算机科学与技术2012年12月 2 日一、需求分析软件名称:小小打字游戏(1)描述:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。
(2)系统功能:①、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏。
②、注册功能:不存在的用户,可以注册。
③、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个。
④、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值。
⑤、游戏显示:游戏窗口,随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度。
⑥、游戏操作:按下键盘上的A~Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1。
⑦、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏记录数据。
⑧、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示即游戏排名。
需要存储的数据信息:1、游戏分数2、游戏等级3、用户4、密码5、游戏开始时间6、游戏结束时间二、系统设计(图表方式,要有说明部分)(1)新建程序项目:在VS2010上建立小小打字游戏项目。
(2)设计界面:①、如图1-1、即为用户登录界面:有三个控件(2个Label控件,1个Button控件),界面背景图片由Photoshop图片处理软件设计。
图1-1、用户登录界面②、图1-2、为注册用户界面,两个Label控件、1个Button控件。
图1-2、用户注册界面③、图1-3、为游戏主界面图1-3-1、游戏主界面游戏有菜单栏控件,有操作提示信息:F1、F2、F3、F4相应功能图3-1-2、游戏主界面,暂停游戏情况图3-1-3、游戏主界面,结束游戏显示情况图4-1、版本信息(3)功能模块设计1、系统模块2、操作流程图三、数据库设计(数据库类软件)GameUser 表:属性名类型长度可空备注ID int 否主键,自增ID UserName nvarchar 50 可用户名Password nchar 10 可密码GameInfo 表:属性名类型长度可空备注IDD int 否主键,自增IDUserID int 可用户ID,即GameUser表的ID值BeginTime datetime 可存储游戏开始时间OverTime datetime 可存储游戏结束时间GameLevel int 可游戏结束时达到的等级GameScores int 可游戏结束时的分数四、系统实现(1)类图(2)核心代码:程序配置文件:用于设置数据库连接字串Login窗体:存储字段Login窗体:注册按钮事件如果查寻用户名不存在,提示用户注册新账号:Register窗体类:MySqlConn类:(需要通过配置文件,获得数据库连接字串,故需要引用命名空间:using System.Configuration;)封装的数据库连接示例:MainFrm 主游戏窗体类:存储字段:菜单事件:其他事件(时钟事件,和键盘事件)窗体键盘事件详细代码:其他功能函数:具体核心功能代码:字母飘动下落函数:创建字母函数:myRandom类获取字母函数:Program类:在static void Main()函数中创建互斥体变量,避免游戏多开五、总结经过一学期的C#学习,我对C#有了进一步的认识和掌握。
打字练习软件课程设计报告
燕山大学专业综合设计报告题目打字练习软件学院(系)信息科学与工程学院年级专业07计算机软件2班学生姓名李成武指导教师陈子阳日期2010 年10 月13日目录1 概述 (1)1.1软件开发环境、工具和方法 (1)1.2软件功能简介 (1)2 软件功能设计 (2)2.1系统的总体功能描述 (2)3 编码设计 (3)3.1打字练习部分 (3)3.2数据库部分 (5)3.3F LASH部分 (7)3.4主要模块实现 (8)4 测试 (10)4.1黑盒测试 (12)4.2白盒测试 (13)5 总结 (15)参考文献 (16)1 概述1.1 软件开发环境、工具和方法打字练习软件是基于Windows操作平台,以Visual Studio 2005为开发环境,利用MFC编写的。
可在Windows XP操作系统中安全运行。
本软件界面的设计主要通过Visual C++提供的多种控件来构建的,例如,RicheEdit2.0控件用来实现显示和输入字符串;Shockwave Flash Object控件打开Flash 打字游戏;List Control控件读取并显示数据库内容等等。
本软件采用Access 2003作为数据库,用来记录软件使用者的部分信息,如姓名、字母打字得分和数字打字得分等数据。
1.2 软件功能简介本软件对打字练习方法经过合理的安排,使之形成完善的应用系统。
下面将介绍此打字练习软件的基本功能:(1) 教程功能这是打字入门的基础。
正确的打字姿势习惯关于整个打字练习的成败。
这个功能将为那些初学打字或者打字姿势不正确的人提供一个正确的指导,为形成良好的打字习惯奠定坚实的基础。
(2) 练习功能即提供给使用者进行打字练习,使其熟悉键盘上相应字母的指法并正确的打出相应的字母或者数字。
由于键盘可大致分为两个部分,一个是主键盘区,另一个是数字键盘区。
熟悉整个键盘并能熟练的进行盲打,使我们设计此软件的宗旨。
因此,练习功能必须包含字母练习功能和数字键盘区练习。
打字练习课程设计分析
打字练习课程设计单位电气与电子工程分院(系)专业电气与电子工程学号学生姓名指导教师完成日期年月日一个好的打字员也必须经过指法练习的磨练才能成才,同样,一个好的指法练习系统对一个打字员也是必不可少的工具。
以下是用C语言编写的指法练习系统软件的设计报告。
一.系统功能本程序完成简单的指法练习全程,实现测试打字过程中返回正确错误个数的功能,并显示用户测试成绩。
部分功能通过类似window界面实现,完全符合课程设计的要求。
二.系统总框图及函数定义及说明系统总框图:三.设计分析程序主要以函数为模块,一个函数实现一个功能或一个设置项,为了阅读的方便,函数里又包含了自定义函数,最后主函数调用自定义的函数,整个过程清晰,各个函数独立性强。
算法方面主要是产生随机字符这块要研究一下,其他的大概也没什么好研究的,基本都是输入输出操作。
随机字符的产生我利用了数组的下标和random()函数,数组先给赋值了,三个数组就三种情况,达到了设计的要求。
还有就是倒计时的实现,因为C语言不能同时执行两条语句,故在打字的过程中和倒计时不能同时实现,为了解决这个问题,我用了kbhit()如果键盘没输入就退出这次输入循环,让倒计时继续执行,当有键盘的输入这次的输入循环也就结束,也是让倒计时继续执行,问题解决。
四.程序存在的问题由于本人水平有限,本程序存在一些问题,主要有以下几个方面:1.在打字过程中,当打错了字时不能删掉重新输入,只能继续打下去,因为这个过程用的是循环输入,当每入一字就结束了这个字的输入不能修改。
2.部分界面的输入没考虑用户各种输入的情况,当用户非正常输入时,系统可能会中止。
3.没有考虑当用户选择背景字体颜色都一样时的情况(这种情况导致界面没有东西显示,主要就是背景和字体用了一样的颜色),只是用提示语句提醒用户。
五.心得体会经过两周的课程设计,对C语言有了更深刻的了解,学到了很多以前没了解过的函数和算法。
一直以来就认为C语言就是学编程的基础但用不上场,现在觉得它的确也能用上场了,可以编写软件。
打字测试C软件课程设计
打字测试C软件课程设计一、课程目标知识目标:1. 让学生掌握打字测试C软件的基本功能与操作流程;2. 使学生了解打字速度、准确率与键盘布局对打字效率的影响;3. 帮助学生理解打字在日常生活和工作中的重要性。
技能目标:1. 培养学生熟练运用打字测试C软件进行自主练习的能力;2. 提高学生的打字速度和准确率,使平均速度达到每分钟30个字;3. 培养学生运用正确的指法和坐姿进行打字,降低打字过程中的错误率。
情感态度价值观目标:1. 培养学生对打字练习的兴趣,激发其主动学习的积极性;2. 培养学生养成良好的打字习惯,增强其在信息化时代的信息处理能力;3. 培养学生团队协作精神,学会在小组讨论中分享打字技巧,共同提高。
本课程针对小学高年级学生设计,结合课程性质、学生特点和教学要求,明确课程目标,旨在帮助学生掌握实用的打字技能,提高信息素养,为今后的学习和工作打下坚实基础。
通过分解课程目标为具体的学习成果,后续教学设计和评估将更具针对性,确保学生能够取得预期成果。
二、教学内容1. 打字测试C软件介绍:讲解软件的界面、功能及操作方法,使学生熟悉软件环境(对应教材第2章)。
2. 键盘布局与指法训练:介绍键盘布局,讲解正确的指法,指导学生进行指法练习(对应教材第3章)。
3. 打字速度与准确率提升:分析打字速度、准确率的影响因素,教授提高打字速度和准确率的方法(对应教材第4章)。
4. 实践练习:安排丰富的打字练习任务,包括文章、段落、诗歌等,让学生在实践过程中提高打字技能(对应教材第5章)。
5. 打字技巧与策略:分享打字技巧,如快速定位、盲打等,提高学生的打字效率(对应教材第6章)。
6. 打字习惯与坐姿:强调正确坐姿和打字习惯的重要性,指导学生养成良好的打字习惯(对应教材第7章)。
本章节教学内容分为六个部分,按照教学大纲安排和进度,系统性地组织与课程目标相关的内容。
教学内容与教材紧密关联,确保学生能够掌握打字技能,提高打字速度和准确率。
打字测试软件报告
课程设计课程设计名称:Java课程设计专业班级:计科卓1101学生姓名:侯心想学号:201116910415指导教师:王社伟课程设计时间:2013.6.10-2013.6.21打字测试软件一、需求分析设计一个英文打字测试软件,要求:1. 文件中调入英文录入材料;2. 显示错误率;3.显示平均录入速度。
二、概要设计模块图主程序窗口容易简单困难退出系统流程图三、运行环境、开发语言运行环境:JDK1.6开发语言:Java四、详细设计1 程序清单表1程序清单表2 函数清单2 主要代码2.1程序主窗口的设计图1主程序窗口界面public void add()throws Exception{p1=new JPanel();p2=new JPanel();b1=new JButton("容易");b2=new JButton("普通");b3=new JButton("困难");b=new JButton("退出");l=new JLabel(new ImageIcon("1.jpg.png"));//在窗口中间插入图片con.add(p1,"North");con.add(p2,"Center");GridLayout g=new GridLayout(2,2,5,5);p1.setLayout(g);p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b);p2.add(l);b.addActionListener(this); //为按钮注册监听器b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setSize(400,500);f.setLocation(100,100);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}2.2 练习打字窗口在本窗口中可以选择自己练习得文章,练习完成后点击结束练习按钮即可得到练习情况。
java打字训练测试软件课程设计
java打字训练测试软件课程设计一、课程目标知识目标:1. 理解Java编程语言的基本语法和结构;2. 掌握使用Java编写简单程序的能力;3. 学习编写打字训练测试软件的相关类和接口;4. 了解软件开发的流程和规范。
技能目标:1. 能够运用所学知识独立设计并编写打字训练测试软件;2. 培养良好的编程习惯,编写结构清晰、可读性强的代码;3. 提高问题分析能力和逻辑思维能力;4. 学会使用调试工具进行程序调试,找出并修复错误。
情感态度价值观目标:1. 培养对编程的兴趣和热情,激发主动学习的动力;2. 树立团队协作意识,学会与他人共同解决问题;3. 培养严谨、踏实的学术态度,勇于面对编程中的挑战;4. 增强自信心,相信自己具备解决复杂问题的能力。
本课程针对高年级学生,结合学科特点和学生实际情况,将知识目标、技能目标和情感态度价值观目标分解为具体的学习成果。
教学过程中,注重理论与实践相结合,培养学生实际编程能力,提高他们对编程的兴趣和热情。
通过本课程的学习,使学生能够独立完成打字训练测试软件的设计与开发,为后续学习奠定基础。
二、教学内容1. Java基本语法:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. 常用类和接口:String类、Scanner类、ArrayList集合;4. 异常处理:异常的概念、try-catch语句、throws关键字;5. 文件操作:文件的读取与写入、文件的随机访问;6. 图形用户界面(GUI):Swing图形用户界面编程、事件处理;7. 打字训练测试软件设计:需求分析、功能设计、界面设计、编码实现、测试与调试。
教学内容按照教学大纲安排,结合课本章节进行组织,确保科学性和系统性。
具体安排如下:1. 前四章为基础知识,为学生编写打字训练测试软件提供必要的语法支持;2. 第五、六章为进阶知识,使学生掌握异常处理和文件操作,为软件设计提供保障;3. 第七章为实际应用,通过学习GUI编程,让学生能够独立设计并实现打字训练测试软件;4. 整个教学内容以实际项目为导向,将理论知识与实际操作相结合,提高学生的编程实践能力。
打字训练测试java课程设计
打字训练测试java课程设计一、课程目标知识目标:1. 让学生掌握Java语言中基本的输入输出流概念,并能运用到实际编程中。
2. 让学生了解键盘操作的基本知识,理解打字速度和准确性在编程中的重要性。
3. 让学生掌握至少一种Java编程环境下的文本编辑和代码运行方法。
技能目标:1. 培养学生熟练使用键盘进行打字的能力,提高打字速度和准确性,达到每分钟输入XX个字符以上。
2. 培养学生运用Java语言编写简单的输入输出程序,实现对用户输入的处理和响应。
3. 培养学生通过编程解决问题,培养逻辑思维和编程实践能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,形成主动学习的态度。
2. 培养学生团队合作意识,学会在编程过程中互相帮助、共同进步。
3. 培养学生严谨、细心的编程习惯,提高代码质量,增强对编程工作的敬业精神。
课程性质:本课程为实践性较强的Java编程入门课程,以训练学生打字速度和编程实践能力为主要目标。
学生特点:学生为初中年级,具备一定的计算机操作基础,对编程有一定兴趣,但编程实践经验不足。
教学要求:结合学生特点,注重实践操作,引导学生通过动手实践掌握编程技能,提高打字速度和准确性,培养学生编程兴趣。
在教学过程中,关注学生个体差异,提供个性化指导,确保每个学生都能达到课程目标。
将目标分解为具体学习成果,便于教学设计和评估。
二、教学内容1. Java基础输入输出流概念:- 理解输入输出流的概念和作用。
- 掌握使用Scanner类进行键盘输入。
- 学习System.out.println()等输出方法。
2. 键盘打字技能训练:- 训练学生熟悉键盘布局,提高打字速度和准确性。
- 引导学生掌握正确的打字姿势和指法。
- 练习常用的打字练习软件,巩固打字技能。
3. Java编程环境使用:- 学习至少一种Java集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
- 掌握如何创建Java项目、编写代码、编译和运行程序。
c打字游戏课程设计报告
c打字游戏课程设计报告一、课程目标知识目标:1. 学生能够掌握C语言基础语法,包括变量声明、数据类型、运算符等。
2. 学生能够理解并运用循环结构、条件语句编写简单的打字游戏程序。
3. 学生了解基本的计算机编码知识,如ASCII码。
技能目标:1. 学生能够运用C语言编写简单的打字游戏程序,提高编程实践能力。
2. 学生能够通过编写代码解决问题,培养逻辑思维和问题解决能力。
3. 学生能够熟练使用计算机键盘,提高打字速度和准确性。
情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习C语言的热情。
2. 学生在团队协作中,培养沟通、协作能力,增强团队意识。
3. 学生通过编程实践,体会计算机科学的魅力,树立正确的科技观。
课程性质:本课程为实践性较强的编程课程,结合打字游戏的形式,让学生在轻松愉快的氛围中学习C语言编程。
学生特点:五年级学生,具备一定的计算机操作能力,对游戏有浓厚兴趣,具备初步的逻辑思维能力。
教学要求:教师应注重引导学生主动探究、实践,关注学生的个体差异,鼓励学生发挥创意,提高编程能力和团队协作能力。
通过本课程的学习,使学生达到上述具体的学习成果。
二、教学内容1. C语言基础语法:- 变量声明、数据类型(整型、字符型)- 常量和变量- 运算符(算术、关系、逻辑)- 语法结构(顺序、选择、循环)2. 编程实践:- 打字游戏程序设计思路- 设计简单循环结构,实现打字游戏基本框架- 引入随机函数,生成随机字母或单词- 使用条件语句,判断用户输入与随机字母的匹配3. 计算机编码知识:- ASCII码介绍- 键盘布局与打字技巧4. 教学内容的安排和进度:- 第一课时:C语言基础语法回顾,介绍打字游戏目标- 第二课时:设计打字游戏基本框架,学习循环结构- 第三课时:引入随机函数,学习条件语句- 第四课时:完善打字游戏功能,进行编程实践- 第五课时:总结与展示,讨论编程过程中的问题及解决方法教材关联:- 《C语言趣味编程》第三章:循环结构- 《C语言趣味编程》第四章:分支结构- 《计算机科学》第二单元:计算机编码知识教学内容注重科学性和系统性,结合教材相关章节,引导学生通过实践掌握C 语言编程知识,提高编程技能。
(完整word版)Java打字训练测试软件课程设计
import javax.swing.JPanel;
import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
public class EnglishGame implements ActionListener {
本系统构建学生打字练习系统,基于所开发的打字程序界面友好,图形复杂。打字练习程序中应用到eclipse最新版本,java1.6以上版本的jdk。对于打字测试进入整体的部署。完成打字练习程序开发,培养程序设计和开发能力。
设计一个英文打字测试软件。从文件中调入英文录入材料,最后可以给出错误率,平均录入速度。
4.2.3类之间的关系3
4.3详细设计4
4.3.1类图4
4.3.2页面设计4
4.4测试与分析4
4.5程序代码7
5总结与展望15
参考文献16
课程设计成绩评定16
第16周(2013年6月8日-2011年6月14日)
随着科学技术的不断提高,计算机科学目渐成熟,计算机怩深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这样一个小程序,同时也是我的面向对象程序设计的课程设计。希望能对电脑初学都和想提高打字速度的朋友们有所帮助。
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import javax.swing.JButton;
打字测试c语言课程设计
打字测试c语言课程设计一、课程目标知识目标:1. 学生能掌握C语言基础的输入输出语句,理解其工作原理;2. 学生能理解并运用C语言的基本数据类型及变量声明;3. 学生能通过打字测试,熟练编写具有基础逻辑结构的C语言程序。
技能目标:1. 学生能够使用C语言编写简单的计算程序,进行数值运算;2. 学生通过打字测试,提高编程速度和准确性;3. 学生能够对C语言程序进行调试和修正,培养解决问题的能力。
情感态度价值观目标:1. 培养学生对C语言编程的兴趣,激发学生的学习热情;2. 学生在合作学习过程中,培养团队精神和沟通能力;3. 学生通过编程实践,认识到编程对解决现实问题的重要性,增强社会责任感。
课程性质:本课程为实践性较强的C语言入门课程,注重基础知识的掌握和实际操作能力的培养。
学生特点:学生为初中年级,对计算机编程有一定的好奇心,动手能力强,但注意力容易分散。
教学要求:结合学生特点,课程设计应注重趣味性和实际操作,强调在实践中学习,提高学生的编程兴趣和技能。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. C语言基础知识:- 数据类型:整型、浮点型、字符型等基本数据类型的使用和声明;- 输入输出语句:printf()和scanf()函数的使用;- 变量:变量的定义、赋值和作用域。
2. 基本控制结构:- 顺序结构:程序的执行流程;- 选择结构:if语句、switch语句的使用;- 循环结构:for循环、while循环和do-while循环。
3. 打字测试:- 设计简单的打字测试程序,要求学生完成指定的代码编写任务;- 通过测试,检验学生对C语言基础知识的掌握和编程速度。
4. 编程实践:- 设计具有实际意义的编程任务,如计算器、简单的排序算法等;- 学生独立完成编程任务,培养解决问题的能力。
教学内容安排和进度:第一课时:C语言基础知识介绍,数据类型、变量和输入输出语句;第二课时:基本控制结构,顺序结构和选择结构;第三课时:循环结构,for循环、while循环和do-while循环;第四课时:打字测试,检验学生对基础知识的掌握;第五课时:编程实践,完成实际编程任务。
打字测试c语言课程设计
打字测试c语言课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等;技能目标要求学生能够运用C语言进行简单的程序设计,具备基本的编程能力;情感态度价值观目标要求学生培养良好的编程习惯,提高解决问题的能力,增强自信心。
通过对C语言的学习,使学生了解编程的基本概念,培养学生的逻辑思维和创造性思维,提高学生的动手实践能力,使学生能够运用C语言解决实际问题,增强学生对计算机科学的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等。
具体安排如下:1.C语言的基本语法:介绍C语言的基本结构,包括变量、常量、运算符、表达式等。
2.数据类型:讲解整型、浮点型、字符型等基本数据类型的使用和转换。
3.运算符:介绍算术运算符、关系运算符、逻辑运算符等,并讲解其优先级和结合性。
4.控制结构:讲解顺序结构、选择结构、循环结构等程序控制流程。
5.函数:介绍函数的定义、声明、调用,以及函数的参数传递和返回值。
三、教学方法本课程采用讲授法、讨论法、案例分析法、实验法等多种教学方法。
1.讲授法:通过教师的讲解,使学生掌握C语言的基本语法和编程原理。
2.讨论法:学生进行小组讨论,共同解决问题,培养学生的合作能力和沟通能力。
3.案例分析法:通过分析实际编程案例,使学生了解编程的实际应用,提高学生的编程能力。
4.实验法:安排实验室实践环节,使学生在动手实践中掌握C语言的编程技巧。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供相关的C语言参考书籍,丰富学生的学习资源。
3.多媒体资料:制作教学PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:保障实验室的正常运行,为学生提供实践编程的环境。
打字训练软件
打字训练软件《Java语言程序设计》课程设计课设题目:打字训练测试软件院系:计算机科学与技术学院专业:物联网学生姓名:宋杰学号:123921041 学生姓名:王鹏学号: 123921042 学生姓名:于渊学号:123921043 指导教师:段善荣2014 年 12 月打字训练测试软件1、打字训练测试软件的概述1.1 背景与意义计算机在20世纪后半期取得了飞速发展,随着网络的发展,已经成为人们日常生活中不可或缺的一部分,如何快速的掌握计算机操作技能显得非常重要,其中打字速度更是衡量一个人操作熟练与否的重要标志,因此开发一种高效的打字程序显得迫在眉睫。
目前大多数打字程序都是只能在Windows下运行,跨平台运行能力不是很强。
为了适应当下的需求,格外需要一款新的打字程序。
我们小组开发的这个用JA V A设计的打字训练测试软件,它的主要功能是从文件中录入一段英文或中文文档,并能给出错误率和平均录入速度。
在该文档设计中,为了方便,文档格式设置为txt格式。
该软件能实现从磁盘上寻找打开一个文件、实时显示打字速度和剩余时间等功能,应用到GUI,多线程,文件的输入输出等知识。
需要从磁盘打开要录入文件的样本,录入时需要实时显示录入速度和剩余时间,录入结束后,显示录入速度和错误率。
录入结束方式可以通过点击“结束测试”按钮结束测试,文章录入完成也自动结束录入,到达设置时间也自动结束录入。
最后要求图形界面,界面良好美观,主要是为了锻炼一下打字技能,提高打字速度,并能给出错误分析。
2、打字训练测试软件的设计思路2.1系统主要功能本程序必需主要实现的功能如下:1)添加文件。
从磁盘添加现有的文本文件显示在程序界面上方。
2)设置测试时间。
在打字开始前,可以设置测试时间,方便快捷地结束测试。
3)显示测试结果。
结果主要包括:打字速度和错误率。
4)在录入过程中,显示当前速度和剩余时间。
为了实时提醒用户打字速度和打字时间可以实时提示打字速度和剩余时间(剩余时间是设置的测试时间减掉已使用的时间).5)使用菜单栏。
打字游戏程序设计报告
1.1 设计目的 本次课程设计的目的主要是将课堂上所学的知识学以致用,通过程序的制作过程学习课外的新知识,并加强加深对旧知识的理解与掌握,并加强加深对旧知识的理解与掌握,最终使学生达到以最终使学生达到以下三点:下三点:1.使学生增进对汇编语言的认识,加强用汇编语言编程的能力。
2.使学生了解和掌握汇编语言程序设计过程、方法及其实现,为以后微机原理课程的深入学习打下良好基础。
原理课程的深入学习打下良好基础。
3. 3. 使学生进一步掌握屏幕输出显示的设计方法。
使学生进一步掌握屏幕输出显示的设计方法。
1.2 课程设计在教学计划中的地位和作用《微机计算机原理与接口技术》这门课是自动化和电子等专业重要的基础专业课程之一,要求我们要有实际的动手能力。
要求我们要有实际的动手能力。
由于我们在课堂上学到的大多都是由于我们在课堂上学到的大多都是理论知识,所以需要通过课程设计这个环节,把我们所学到的知识运用到实践,这也是课程设计的主要目的,其中包括提高汇编等语言的编程能力及对接口等硬件的理解与分析能力和设计接口电路的能力。
本次设计课题使我们在汇编等语言的编程方面得到了很大的提高,的编程方面得到了很大的提高,是我受益匪浅。
是我受益匪浅。
原本陌生的和不太熟悉的指令程序及各种定义,序及各种定义,现在都有了一些认识及更深的理解。
现在都有了一些认识及更深的理解。
现在都有了一些认识及更深的理解。
这对我们以后走向社会,这对我们以后走向社会,这对我们以后走向社会,更更快地适应工作奠定了很好的基础。
快地适应工作奠定了很好的基础。
第二章 打字游戏程序设计内容要求和设计思想2.1 设计内容要求要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏;按要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏;按ESC键返回主界面;按空格暂停;按大写字母E 程序结束。
程序结束。
2626个字母中的任意一字母从屏幕落下,在下落的过程中键入落下的字母,如果正确,字母消失,分数增加;如果不正确,字母继续下落。
java打字训练测试软件设计
java打字训练测试软件设计河南机电高等专科学校实验课程名称 Java程序设计开课实验室系、部计科系年级 11 专业班软件111学生姓名学号开课时间 2012 至 2013 学年第一学期总成绩教师签名《Java程序设计》课程设计报告2013年1月6日系部计科系年级、专业、班软件111 姓名胡玉祥课程项目指导Java程序设计打字训练测试软件戴冬名称名称教师教师教师签名:戴冬评年月日语一、课程设计目的1.熟练掌握Java面向对象程序设计的基础知识2.熟练掌握Java中常用的Swing组件的使用方法3.熟练掌握使用JDBC操作数据库的方法4.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。
二、使用仪器、材料装有java开发环境的可以联网的计算机一台,《java程序设计》书一本,java帮助文档JDK_API一份。
三、课程设计步骤1、课题分析:打字软件中有窗体布局,课程载入和对照练习三部分。
其中窗体布局中包含:窗体的创建,定义标签和文本框,设置选课下拉列表,文本框文本改变,暂停按钮和窗体关闭按钮的监听器;课程的载人中有读取课程文件以及计数器的和显示标签的初始化;对照练习是本程序的主要计算部分,其主要是键盘的监听事件。
2、设计思路:做一窗体,窗体中有7个标签,一个按钮,一个下拉列表和两个文本区域如下图图表1所示,其中第一个文本区域为读取文件的文本,第二个文本区域为用户输入的文本,用一个键盘监听器监听键盘事件,当程序后先载人窗体,再读取文件kc1.txt中的文本,统计个数赋值给zgs,每读取一个字符让它赋值给字符数组y和字符串b,最后把字符串中字符设置为文本区中的文本。
然后等待文本区wz2中的文本的改变,当文本区里的文本改变后让键盘监听器判断键盘输入的文本。
当键盘的是字符的时候定义一个计时器并开始计时每秒钟让变量s加一,再让文本区中输入的字符和字符数组y中的第i个对比(i是键盘输入的个数),如果相同的话正确数加一,然后根据总个数和正确数求错误率和速度。
英文打字测试课程设计报告
英文打字测试课程设计报告一、课程目标知识目标:1. 学生掌握基本的英文打字指法,熟记键盘布局,了解每个字母键的位置。
2. 学生学会使用英文打字软件,理解并掌握打字速度和准确率的计算方式。
3. 学生掌握至少三种常用的英文打字练习方法,并能结合自身特点选择合适的练习方法。
技能目标:1. 学生能够熟练运用英文打字指法,实现盲打,提高打字速度和准确率。
2. 学生通过练习,使打字速度达到年级平均水平,准确率达到95%以上。
3. 学生能够独立使用英文打字软件进行自我练习和评估。
情感态度价值观目标:1. 学生培养良好的计算机使用习惯,认识到英文打字在学习和生活中的重要性。
2. 学生通过打字练习,增强自信心和耐心,提高解决问题的能力。
3. 学生在团队协作中,学会互相鼓励、互相帮助,培养团队精神。
本课程针对的是小学高年级学生,结合学生的认知特点,注重培养实际操作能力和团队协作精神。
课程设计遵循实用性原则,以提高学生的英文打字速度和准确率为主要目标,同时关注学生情感态度的培养,使他们在轻松愉快的氛围中学习。
通过明确具体的课程目标,为学生提供有效的学习成果评估标准,为后续的教学设计和评估奠定基础。
二、教学内容本课程教学内容主要包括以下三个方面:1. 英文打字基础知识:- 键盘布局与指法:介绍键盘布局,学习A-Z字母键、数字键及常用功能键的位置,掌握正确的打字指法。
- 打字速度与准确率:讲解打字速度和准确率的定义,学习如何计算和提高这两个指标。
2. 英文打字技能训练:- 打字软件使用:学习使用英文打字软件,了解软件的操作界面及功能。
- 打字练习方法:介绍至少三种常用的英文打字练习方法,如逐字母练习、单词练习、句子练习等。
3. 实践与应用:- 练习材料:选取与教材相关的故事、文章、对话等,进行打字练习。
- 团队协作:组织学生进行小组练习,互相鼓励、互相帮助,共同提高打字速度和准确率。
教学内容安排和进度:第一周:英文打字基础知识,熟悉键盘布局和指法。
打字速度测试课程设计
打字速度测试课程设计一、课程目标知识目标:1. 学生能理解打字速度在信息时代的重要性;2. 学生掌握基本的键盘布局和手指分工原则;3. 学生掌握至少一种打字训练软件的使用方法。
技能目标:1. 学生能够达到每分钟输入XX个正确汉字的打字速度;2. 学生通过练习,提高打字准确率,减少错误率至低于X%;3. 学生能够运用打字技巧提高日常写作和学习的效率。
情感态度价值观目标:1. 学生培养对信息技术学科的兴趣,认识到打字是信息素养的基本技能之一;2. 学生通过打字练习,培养耐心、细致的学习态度和良好的工作习惯;3. 学生在团队竞赛和互助学习中,培养合作精神,尊重他人成就,增强自信心。
分析:本课程针对XX年级学生设计,此阶段学生已具备基本的计算机操作能力,但打字速度和准确性仍有待提高。
课程性质为实用技能培训,旨在结合课本知识,通过实际操作,提高学生的打字技能。
考虑到学生年龄特点,课程设计注重激发兴趣和培养合作精神,确保学习成果的实用性和趣味性。
通过具体的学习成果评估,教师可以及时调整教学方法,确保课程目标的实现。
二、教学内容1. 键盘布局与手指分工原则:- 键盘分区及各区域功能介绍;- 手指分工原则讲解与实践操作;- 键盘操作规范与坐姿指导。
2. 打字训练软件应用:- 介绍至少一种打字训练软件,如XX打字通;- 教学软件的基本操作与功能模块;- 结合软件进行打字速度和准确度训练。
3. 打字技巧与方法:- 掌握盲打技巧,提高打字速度;- 常用词汇和短语的打字练习;- 打字速度提升策略与方法。
4. 打字速度测试与评估:- 定期进行打字速度测试,记录成绩;- 分析测试结果,找出问题所在,制定改进措施;- 结合教学进度,进行阶段性的评估。
教学内容安排与进度:第一课时:键盘布局与手指分工原则学习,并进行初步实践;第二课时:打字训练软件介绍与操作练习;第三课时:打字技巧讲解与实践;第四课时:进行打字速度测试,评估学习效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院课程设计报告书课程名称面向对象课程设计设计题目打字训练测试软件专业班级学号姓名指导教师2014 年6 月目录1 设计时间 (1)2 设计目的 (1)3 设计题目 (1)4设计任务 (1)5设计内容 (1)5.1需求分析 (1)5.2基本要求 (1)6 功能模块实现 (1)6.1包的描述 (1)6.2类的描述 (1)6.3页面设计 (2)6.4测试文字的加入 (4)6.5测试时间设计 (5)6.6程序源代码 (6)8总结与展望 (12)参考文献 (14)1 设计时间2014年6月16日-2014年6月20日2 设计目的1.熟练掌握Java面向对象程序设计的基础知识2.熟练掌握Java中常用的Awt组件的使用方法3.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。
3 设计题目打字测试软件4设计任务打字测试软件。
要求如下:(1)使用图形用户界面实现;(2)从文件中调入英文录入材料;(3)打字结束后给出错误率,录入时间。
5设计内容5.1需求分析设计一个英文打在测试软件5.2基本要求1.文件中调入英文录入材料2.最后给出错误率3.最后给出平均录入速度6 功能模块实现6.1包的描述由于本次实验使用的类较少,所有的类都建在同一个包下,本次实验也只用到一个包。
6.2类的描述Typing类:主要的构造都在这个类中。
My key类:是该程序的一个内部类。
6.2.1类之间的关系Typing类作为主函数的入口,调用actionPerformed类的方法实现事件监听器。
当发生点击事件时就会弹出输入框,开始英文打字功能;从而达到打字训练测试的目的。
6.2.2类图如图6-1所示图6-1 类图6.3页面设计final String TITLE = "光速打字系统";private Frame f;private Button btStart,btContinue;private Panel pnEast,pnCenter,pnNorth;Font fontTitle=new Font("黑体",Font.BOLD,30);Font fontButton=new Font("宋体",Font.BOLD,24);private Label lbMessage,lbTitle;//tfSource用于显示要练习的文字,tfInput 用户输入框private TextArea taSource,taInput;//总字数和错误的字数private long wordCount,inputWordCount,rightWordCount;//开始,结束时间,用户练习所用的时间private long startTime,overTime,userTime;/** 初始化控件*/private void start() {f = new Frame(TITLE+" by 牛帅"); //窗体标题f.setSize(600,430);f.setResizable(false);//禁止调整窗体的大小pnEast = new Panel();pnCenter = new Panel();btStart =new Button("开始");btStart.setFont(fontButton);btContinue = new Button("完成");btContinue.setFont(fontButton);taSource = new TextArea(10,60);//taSource.lbTitle = new Label(TITLE);lbTitle.setFont(fontTitle);//taSource.setEnabled(false);taSource.setEditable(false);pnNorth = new Panel();lbMessage = new Label("想练习打字的话,请先点击[开始按钮]哦!");taSource.setText("想练习打字的话,请先点击[开始按钮]哦!");taInput = new TextArea(10,60);taInput.setText("欢迎使用"+TITLE);btContinue.setEnabled(false);//窗体布局//窗体使用默认的GridLayout布局f.add(pnNorth,"North");pnNorth.add(lbTitle);//pnEast.add(lbMessage,"South");f.add(lbMessage,"South");f.add(pnEast,"East");pnEast.add(btStart);pnEast.add(btContinue);f.add(pnCenter,"Center");pnCenter.add(taSource);pnCenter.add(taInput);//添加监听器f.addWindowListener(new ClosingWindow());//启用窗体的功能按钮btStart.addMouseListener(new ButtonHandler());btContinue.addMouseListener(new ButtonHandler());f.setVisible(true);}如图6-2所示图6-2 打字测试软件界面图6.4测试文字的加入程序中,通过随机读取当前项目下的txt文件,随机方式是用Random()生0-3之间的数,添加“.txt”后缀,文件位置如图6-3所示。
图6-3 文件位置图代码实现部分:if (e.getSource() == btStart) {//获取练习用的文字file = rd.nextInt(3)+".txt";//System.out.println("打开的文件是:"+file);taSource.setText(fileToString("text/"+file));taInput.setText("");lbMessage.setText("亲,您现在可以练习了!加油!!");startTime = System.currentTimeMillis();btStart.setEnabled(false);btContinue.setEnabled(true);}6.5测试时间设计为了能够更方便地设置时间,在程序中用startTime,overTime,userTime三个变量来保存时间。
startTime是用来保存用户开始测试的系统时间,overTime是用来保存用户结束测试时的系统时间,相减得到用户测试所用的总时间(userTime)。
通过startTime = System.currentTimeMillis() 获得当前系统的时间。
6.6程序源代码package buttonAction02;/** 已经实现了按钮的单击事件了* 练习资料是以txt文件形式放在项目目录下text目录里* */import java.awt.*;import java.awt.event.*;import java.util.Random;import java.io.*;public class Typing{final String TITLE = "光速打字系统";private Frame f;private Button btStart,btContinue;private Panel pnEast,pnCenter,pnNorth;Font fontTitle=new Font("黑体",Font.BOLD,30);Font fontButton=new Font("宋体",Font.BOLD,24);private Label lbMessage,lbTitle;//tfSource用于显示要练习的文字,tfInput 用户输入框private TextArea taSource,taInput;//总字数和错误的字数private long wordCount,inputWordCount,rightWordCount;//开始,结束时间,用户练习所用的时间private long startTime,overTime,userTime;/** 初始化控件*/private void start() {f = new Frame(TITLE+" by 曹世龙"); //窗体标题f.setSize(600,430);f.setResizable(false);//禁止调整窗体的大小pnEast = new Panel();pnCenter = new Panel();btStart =new Button("开始");btStart.setFont(fontButton);btContinue = new Button("完成");btContinue.setFont(fontButton);taSource = new TextArea(10,60);lbTitle = new Label(TITLE);lbTitle.setFont(fontTitle);//taSource.setEnabled(false);taSource.setEditable(false);pnNorth = new Panel();lbMessage = new Label("想练习打字的话,请先点击[开始按钮]哦!"); taSource.setText("想练习打字的话,请先点击[开始按钮]哦!"); taInput = new TextArea(10,60);taInput.setText("欢迎使用"+TITLE);btContinue.setEnabled(false);//窗体布局//窗体使用默认的BorderLayout布局f.add(pnNorth,"North");pnNorth.add(lbTitle);//pnEast.add(lbMessage,"South");f.add(lbMessage,"South");f.add(pnEast,"East");pnEast.add(btStart);pnEast.add(btContinue);f.add(pnCenter,"Center");pnCenter.add(taSource);pnCenter.add(taInput);//添加监听器f.addWindowListener(new ClosingWindow());//启用窗体的功能按钮btStart.addMouseListener(new ButtonHandler());btContinue.addMouseListener(new ButtonHandler());f.setVisible(true);}/** 接收按钮的事件*/class ButtonHandler extends MouseAdapter {public void mouseClicked(MouseEvent e){ String file;Random rd = new Random();if (e.getSource() == btStart) {//获取练习用的文字file = rd.nextInt(3)+".txt";/*所有的测试文字,都以txt文件形式保存在当前目录下的text目录里* 通过随机读取当前项目下的txt文件获取内容*/taSource.setText(fileToString("text/"+file));taInput.setText("");lbMessage.setText("亲,您现在可以练习了!加油!!");//用currentTimeMillis方法来获得当前系统的时间startTime = System.currentTimeMillis();btStart.setEnabled(false);btContinue.setEnabled(true);}else if(e.getSource()==btContinue){overTime = System.currentTimeMillis();wordCount=taSource.getText().length();inputWordCount=taInput.getText().length();//用于判断用户是否输入了文字if(inputWordCount == 0){lbMessage.setText("貌似你什么也没输入呀!");}else{//计算用户所用的时间,并转换成以秒为单位userTime = (overTime-startTime)/1000;//统计错误的文字数rightWordCount=rightWordCount(taSource.getText(),taInput.getText());lbMessage.setText("亲,打字练习结束了哦!您共用了"+userTime+"秒,总字数为:"+wordCount+"您正确输入了"+rightWordCount+"正确率为"+(rightWordCount*1.0)/(wordCount*1.0));}btStart.setEnabled(true);btContinue.setEnabled(false);}}private int rightWordCount(String str,String strSub) {int count = 0;//由于思维不严谨,语句中本应该是&&符,我错用了||符,//所以测试时一直有问题,for(int i=0;i<str.length()&&i<strSub.length();i++){//统计的是正确的总数!!!if(str.charAt(i)==strSub.charAt(i))count++;}return count;}}/** 给窗体上的控制按钮启用监听器*/class ClosingWindow extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0);}}public static void main(String[] args){Typing fm = new Typing();fm.start();}/** 传入一个文件名,方法以字符串形式返回文件的内容*/ public String fileToString(String filePath){int n = 0,i = 0;byte[] data = new byte[1024];FileInputStream f = null;try {f = new FileInputStream(filePath);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {n = f.read();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}while(n!=-1){data[i] = (byte)n;i++;try {n = f.read();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}String str = new String(data,0,i);//close filetry {f.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return str;}7 运行与测试7.1当用户没有输入文字时界面图,如图7-1所示图7-17.2当用户输入一部分文字后,点击完成,程序会给出结果,如图7-2所示图7-28总结与展望在课程设计的过程中,我用到了java中awt的各种控件和布局方法,又通过查阅资料和向同学、老师求教,学会了一些没接触过的东西,如设置字体,和调用系统时间等。