打字训练测试系统

打字训练测试系统
打字训练测试系统

第一章打字训练测试系统的概述 (2)

1.1 系统总体设计概述 (2)

1.2 系统功能需求分析 (2)

第二章系统设计的主要类和方法 (3)

2.1 API类和系统主类: (3)

2.2 图形界面设计 (3)

2.3 创建线程 (4)

2.4 文件管理 (5)

2.5 事件监听响应 (5)

第三章系统功能设计 (5)

3.1 主窗口界面设计 (5)

3.2 添加文件功能实现 (9)

3.3 设置测试时间设计 (12)

3.4 速度和剩余时间设计 (14)

3.5 显示测试结果 (15)

第四章总结 (16)

第一章打字训练测试系统的概述

1.1 系统总体设计概述

计算机在20世纪后半期取得了飞速发展,随着网络的发展,已经成为人们日常生活中不可或缺的一部分,如何快速的掌握计算机操作技能显得非常重要,其中打字速度更是衡量一个人操作熟练与否的重要标志,因此开发一种高效的打字程序显得迫在眉睫。目前大多数打字程序都是只能在Windows下运行,跨平台运行能力不是很强。为了适应当下的需求,格外需要一款新的打字程序。我们小组开发的这个用JA V A设计的打字训练测试软件,它的主要功能是从文件中录入一段英文或中文文档,并能给出错误率和平均录入速度。在该文档设计中,为了方便,文档格式设置为txt格式。该软件能实现从磁盘上寻找打开一个文件、实时显示打字速度和剩余时间等功能,应用到GUI,多线程,文件的输入输出等知识。需要从磁盘打开要录入文件的样本,录入时需要实时显示录入速度和剩余时间,录入结束后,显示录入速度和错误率。录入结束方式可以通过点击“结束测试”按钮结束测试,文章录入完成也自动结束录入,到达设置时间也自动结束录入。最后要求图形界面,界面良好美观,主要是为了锻炼一下打字技能,提高打字速度,并能给出错误分析。

本系统构建学生打字练习系统,基于所开发的打字程序界面友好,图形复杂。打字练习程序中应用到eclipse最新版本,java1.6以上版本的jdk。对于打字测试进入整体的部署。完成打字练习程序开发,培养程序设计和开发能力。

1.2 系统功能需求分析

要求设计一款打字训练测试程序,实现从磁盘上寻找打开一个文件、设置打字时间、时实显示打字速度和剩余时间等功能,应用到GUI,多线程,文件的输入输出等知识。需要从磁盘打开要录入文件的样本,录入前可以设定录入练习时间,录入时需要实时显示录入速度和剩余时间,录入结束后,显示录入速度和错误率。录入结束方式可以通过点击“结束测试”按钮结束测试,文章录入完成也自动结束录入,到达设置时间也自动结束录入。最后要求图形界面,界面良好美观。根据任务要求主要遇到的问题在于如何很好的监听按键菜单事件,监听部分键盘;如何在打开文件对话框中过滤只显示txt和目录文件,读取文件后如何一部一部地显示并能正确统计录入字数和错误字数;如何在录入文章时,同时监控系统时间,并能尽量减少cpu占用。经过对现有一般打字程序的使用者的调查与分析,得出若要编写此打字程序,本程序必需主要实现的功能如下:

1)添加文件。从磁盘添加现有的文本文件显示在程序界面上方。

2)设置测试时间。在打字开始前,可以设置测试时间,方便快捷地结束测试。

3)显示测试结果。结果主要包括:打字速度和错误率。

4)在录入过程中,显示当前速度和剩余时间。为了实时提醒用户打字速度和打字时间可以

实时提示打字速度和剩余时间(剩余时间是设置的测试时间减掉已使用的时间).

5)使用菜单栏。要求菜单栏可以从“文件——>打开”添加文件,可以从“文件——>退出”

退出程序,可以从“帮助——>关于”了解程序信息。

6)多情况结束测试。1.当测试结束时,结束测试。2.当点击“结束测试”按钮结束测试。

3.当文章录入完成结束测试。主要功能图如图1.1所示

打字训练功能模块

文件功能

退出系统测试功能

打开文件

率图1.1 打字训练功能模块

第二章系统设计的主要类和方法

2.1 API类和系统主类

该软件采用JA V A语言编写,运用myeclipse开发环境,程序整体采用一个Typer 主类和用一个TyperProgram类完成图形界面的编写和监听响应事件。当程序运行时调用TyperProgram类,启动线程。

import java.io.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.filechooser.FileFilter;

public class Typer{

public static void main(String[] args){

TyperProgram tp=new TyperProgram();

tp.start();

}

2.2 图形界面设计

定义setWindow()方法来设计用户界面,整体的JFrame用BorderLayout进行布局分成北中南三个块。其中北边是一个用GridLayout布局的JPanel分成1行2列,两列中分别是一

个JTextField;中间是一个GridLayout布局的JPanel分成2行1列;南边是一个FlowLayout 布局的JPanel,里面放两个居中的按钮。

public void setWindow(){

JFrame jf_title=new JFrame("打字训练测试软件");//创建标题窗口

Container cont=jf_title.getContentPane();

cont.setLayout(new BorderLayout());

Font font=new Font("黑体",Font.PLAIN,17);

Font font_text=new Font("times new man",Font.PLAIN,18);

//设置字体大小

JMenuBar jmb=new JMenuBar();//创建菜单条

JMenu jm_file,jm_help;//创建文件和帮助两个菜单

jm_file=new JMenu("文件");jm_file.setFont(font);

jm_help=new JMenu("帮助");jm_help.setFont(font);

.......}

2.3 创建线程

在设计本系统时,由于同时存在多个执行单元,如打字素的显示,打字错误率计算以及剩余时间的统计,它们必须按照不同的执行方式共同工作,所以为了让程序活的更高的性能,提高程序的响应速度及程序的数据吞吐量,我们采用了多线程控制,即首先定义一个主线程TyperProgram ,然后再在这个主线程内部定义一个子线程Timer,监听键盘和文本输入用匿名内部类来实现,TyperProgram和Timer用多线程来实现并发运行。当程序运行时TyperProgram的对象先运行,当点击开始按钮时Timer对象开始运行。

A.创建主线程

class TyperProgram extends Thread implements ActionListener { JPanel jpc1,jpc2,jpg,jp_button,jpb;

JMenuItem jmi_open,jmi_exit,jmi_about;

JTextField jtf_pace,jtf_time;

JTextArea jta_text,jta_type;

JButton jbt_add,jbt_start,jbt_end;

CardLayout card1,card2;

String state="",strTime="";

StringBuffer strbFile;

int words,errorWords;

double startTime;

File getPath;//获得文件路径

BufferedReader buf; //定义字符输入流

boolean fileOver,lock=true;

………………}

B.创建子线程

用Timer类实现Runnable接口从而实现对系统时间监控显示完成录入后的成绩计算。

其中监听键盘和文本输入用匿名内部类来实现。putScore()用来结束测试后,统计错误率,并将错误率显示在界面,右上方的JTextField中。

private class Timer implements Runnable{

public void putScore(){…}//定义计算错误率方法

public void errcolor(){…}//定义错别字设置显色方法

public void run(){…}//重写run方法

………………}

2.4 文件管理

添加打开文件用打开对话框,通过定义readFile函数来获取文件路径,再使用addFile方法及文件过滤器来添加txt文件进行测。。

public void readFile(){…}//读取文件

public void addFile(){…}//添加文件

2.5 事件监听响应

我们用setListener()来设置多种监听,如事件监听,键盘监听,文本监听等。其中事件监听由于实现了接口ActionListener,直接添加本类,再于函数actionPerformed()来实现,而其它监听都用的是匿名内部类来实现。很成功地完成了多种监听处理功能。

public boolean isDigit(String str){…}//确定指定位置为字符

public void setstart(){…}//设置测试时间

public void setListener(){…}//设置监听

public void actionPerformed(ActionEvent e){…}//事件监听接口

public void run(){…

}

第三章系统功能设计

3.1 主窗口界面设计

窗口为一个添加菜单栏的JFrame,菜单栏包括主要有文件和帮助两个部分,整体的JFrame用BorderLayout进行布局分成北中南三个块。其中北边是一个用GridLayout布局的JPanel分成0行2列,两列分别是一个JTextField(当前的速度,剩余时间);中间是一个GridLayout布局的JPanel分成2行1列,每行分别为一个CardLayout布局的JPanel,其中第一行里放了一个带按钮的JPanel(添加文件)和一个JTextArea,第二行为JTextArea;南边是一个FlowLayout布局的JPanel,里面放两个居中的按钮(开始测试,结束测试),相关代码如下,该界面如图2.4.1所示

public void setWindow(){

JFrame jf=new JFrame("打字训练测试软件");//创建标题窗口

Container con=jf.getContentPane(); //声明一个Container对象

con.setLayout(new BorderLayout());//设置容器的布局方式为

BorderLayout

Font font=new Font("黑体",Font.PLAIN,17);//设置字体大小

Font font_text=new Font("times new man",Font.PLAIN,18);

JMenuBar jmb=new JMenuBar();//创建菜单条

JMenu jm_file,jm_help;//创建文件和帮助两个菜单并设置字体

jm_file=new JMenu("文件");jm_file.setFont(font);

jm_help=new JMenu("帮助");jm_help.setFont(font);

//创建打开,退出,关于三个菜单项并设置相关热键

jmi_open=new JMenuItem("打开

");jmi_open.setFont(font);jmi_open.setActionCommand("打开");

jmi_open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,Inpu tEvent.CTRL_MASK));

jmi_exit= new JMenuItem("退出

");jmi_exit.setFont(font);jmi_exit.setActionCommand("退出");

jmi_exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,Inpu tEvent.CTRL_MASK));

jmi_about=new JMenuItem("关于

");jmi_about.setFont(font);jmi_about.setActionCommand("关于");

jm_file.add(jmi_open);//在文件菜单上添加打开菜单项

jm_file.addSeparator();//菜单项之间的分界线

jm_file.add(jmi_exit);//在文件菜单添加退出菜单项

jm_help.add(jmi_about);//在帮助菜单上添加关于菜单项

jmb.add(jm_file);jmb.add(jm_help);//在菜单条上添加文件和帮助两个菜单

jtf_pace=new JTextField();//创建一行显示速度的文本

jtf_pace.setFont(font);

jtf_pace.setEditable(false);//使显示速度的文本无法编辑

jtf_time=new JTextField();//创建一行显示时间的文本

jtf_time.setFont(font);

jtf_time.setEditable(false);//使显示时间的文本无法编辑

JPanel jp_show=new JPanel(new GridLayout(1,2));//创建一个显示结果的测试栏,并将其布局设置为1行两列

jp_show.add(jtf_pace);jp_show.add(jtf_time);//添加速度和时间到该测试栏

con.add(BorderLayout.NORTH,jp_show);//将测试栏置于北面

jpg=new JPanel();

jpg.setLayout(new GridLayout(2,1));//创建GridLayout的布局方式为2行,1列

jta_text=new JTextArea();//创建显示多行的添加文本

jta_type=new JTextArea();//创建显示多行的输入文本

jta_text.setFont(font_text); //设置文字字体

jta_text.setLineWrap(true);//设置为自动换行

jta_text.setEditable(false);//使添加的文字无法编辑

jta_text.setBackground(new Color(200,255,200));//设置添加文字背景色

jta_type.setFont(font_text);///设置输入文本的字体

jta_type.setLineWrap(true);

jta_type.setBackground(new Color(200,200,255));//设置输入文字背景色

jbt_add=new JButton("添加文件");jbt_add.setFont(font);//

jbt_add.setActionCommand("打开");//设置jbt_add按钮的激发事件

jpb=new JPanel(new CardLayout());//创建卡片布局

card1=new CardLayout();

jpc1=new JPanel(card1);

jpc1.add("card1",jpb);jpc1.add("card2",jta_text);

JLabel jb=new JLabel(new ImageIcon("image/keybord.png"));//创建一个图片标签

card2=new CardLayout();

jpc2=new JPanel(card2);

jpc2.add("card1",jb);

jpc2.add("card2",jta_type);

jpg.add(jpc1);

jpg.add(jpc2);

con.add(BorderLayout.CENTER,jpg);

jp_button=new JPanel();

jp_button.setLayout(new FlowLayout(FlowLayout.CENTER,50,0));//设置该JPanel为流布局,使放置的组件居中,行高为50个单位

jbt_start=new JButton("开始测试");

jbt_start.setFont(font);jbt_start.setActionCommand("开始");

jbt_end=new JButton("结束测试");

jbt_end.setFont(font);jbt_end.setActionCommand("结束");//设置

jbt_end按钮的激发事件

jp_button.add(jbt_start);

jp_button.add(jbt_end);//将该两个按钮添加到

con.add(BorderLayout.SOUTH,jp_button);//将该面板设置为南面

jf.setBounds(250,100,710,705);//设置整个界面的大小

jf.setJMenuBar(jmb);

jf.setVisible(true);

jbt_add.requestFocus();

jf.setResizable(false);//设置窗体不可编辑

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e){

String strAction=e.getActionCommand();

if(strAction=="打开"&&lock){

addFile();

}

else if(strAction=="退出"){

System.exit(1);

}

else if(strAction=="关于"){

String str=" 版权所有 2012";

JOptionPane.showMessageDialog(null,str,"关于

",JOptionPane.PLAIN_MESSAGE);

}

else if(strAction=="开始"&&lock){

if(!state.equals("addFile"))

JOptionPane.showMessageDialog(null,"你还没有添加有效文档","提示",https://www.360docs.net/doc/9f12411508.html,RMATION_MESSAGE);

else

setstart();

}

else if(strAction=="结束"){

if(!state.equals("start"))

JOptionPane.showMessageDialog(null,"你还没有测试","提示",https://www.360docs.net/doc/9f12411508.html,RMATION_MESSAGE);

else

state="over";

}

}

图3.1 起始界面设计

3.2 添加文件功能实现

添加打开文件用打开对话框,并对对话框添加文件过滤器,代码如下,界面如图2.4.2所示public void readyFile(){

String strFile="";

FileReader in=null;

try{

String strLine="";

in=new FileReader(getPath);

buf=new BufferedReader(in);

strLine=buf.readLine();

while(strLine!=null){

strFile+=strLine;

strLine=buf.readLine();

}

}catch(IOException e1){

e1.printStackTrace();

}

strbFile=new StringBuffer(strFile);

fileOver=false;

}

public void readFile(){

String strPart=""; int n=320;

if(strbFile.length()<=n){

jta_text.setText(strbFile+"\n");

fileOver=true;

return;

}

strPart=strbFile.substring(0,n);

strbFile=strbFile.delete(0,n);

jta_text.setText(strPart+"\n");

}

public void addFile(){//增加文件的方法

JFileChooser fileCh=new JFileChooser();

fileCh.setCurrentDirectory(new File("files"));

fileCh.setFileFilter(new FileFilter(){

public boolean accept(File f){

return

f.getName().toLowerCase().endsWith(".txt")||f.isDirectory();

}

public String getDescription(){

return"文本文档 *.txt*";

}

});

if(fileCh.showOpenDialog(null)==JFileChooser.CANCEL_OPTION)return ;

getPath=fileCh.getSelectedFile();

if(!getPath.getPath().toLowerCase().endsWith(".txt")){ JOptionPane.showMessageDialog(null,"请选择文本文档","提示

",https://www.360docs.net/doc/9f12411508.html,RMATION_MESSAGE);

return;

}

readyFile();

readFile();

state="addFile";

card1.show(jpc1,"card2");

jbt_add.requestFocus();

}

图 3.2添加文件界面设计

3.3 设置测试时间设计

录入时间设定用一个对话框实现,并接收输入信息,默认录入测试时间为5分钟,主要代码如下该界面如图2.4.3所示

public void setstart(){

JPanel jp=new JPanel(new GridLayout(2,0));

JLabel jlab=new JLabel("设置测试时间(分):");

JTextField jtfTime=new JTextField();

jtfTime.setText("5");

jp.add(jlab);jp.add(jtfTime);

int select=JOptionPane.showConfirmDialog(null,jp,"设置

",JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);

if(select!=JOptionPane.OK_OPTION)return;

strTime=jtfTime.getText();

if(isDigit(strTime)){

if(jta_text.getText()!=null){

readyFile();

readFile();

}

card2.show(jpc2,"card2");

jta_type.setText(null);

jta_type.setEditable(true);

jta_type.requestFocus();

state="start";

lock=false;

startTime=System.currentTimeMillis();

Timer ti=new Timer();

Thread t=new Thread(ti);

t.start();

}

else{

JOptionPane.showMessageDialog(null,"请输入数字","提示

",https://www.360docs.net/doc/9f12411508.html,RMATION_MESSAGE);

}

}

public void setListener(){//设置监听

jmi_open.addActionListener(this);

jmi_exit.addActionListener(this);

jmi_about.addActionListener(this);

jbt_add.addActionListener(this);

jbt_start.addActionListener(this);

jbt_end.addActionListener(this);

jbt_add.addKeyListener(new KeyListener(){

public void keyPressed(KeyEvent e1){

if(e1.getKeyCode()==KeyEvent.VK_ENTER)

addFile();

}

public void keyReleased(KeyEvent e2){}

public void keyTyped(KeyEvent e2){}

});

jta_type.getDocument().addDocumentListener(new

DocumentListener(){

public void insertUpdate(DocumentEvent e1){

String str1=jta_text.getText();

String str2=jta_type.getText();

if(str1.length()==str2.length()&&str2.endsWith("\n")){

if(fileOver){

state="over";

}

else{

words+=str2.length();

for(int i=0;i

if(str1.charAt(i)!=str2.charAt(i))

errorWords++;

EventQueue.invokeLater(new Runnable(){

public void run() {

jta_type.setText(null);

}

});

readFile();

}

}

}

public void changedUpdate(DocumentEvent e2){}

public void removeUpdate(DocumentEvent e3){}

});

}

图2.4.3 设置测试时间

3.4 速度和剩余时间设计

实时显示录入速度和剩余时间通过实现Runnable接口的一个Timer类来计算实现。当开始录入时获取一个系统时间startTime=System.currentTimeMillis(),然后每隔一秒获取一个系统时间nowTime=System.currentTimeMillis(),同时统计当前录入的字数count=jta2.getText().length(),字数除以用两个时间之差得到速度最后单位换算为(字/分);剩余时间等于设置时间减去花费的时间remainTime=setTime-spendTime最后转换为分和秒,代码如下。

public void putScore(){

jta_type.setEditable(false);//设置添加文本不可编辑

String str1,str2;//定义两个字符串,分别为从添加文本和输入文本中获取的字符

str1=jta_text.getText();str2=jta_type.getText();

double error; //定义错误率

int

k=str1.length()

l=str1.length()

for(int i=0;i

if(str1.charAt(i)!=str2.charAt(i))//若两个字符串在同一索引处的字符不相同,

k++;

error=(words+l)==0?0:((errorWords+k)*1.0/(words+l))*100;

jtf_time.setText("错误率:"+Math.ceil(error*100)/100.0+"%");

errorWords=0;words=0;

state="addFile";lock=true;

jbt_start.requestFocus();

}

public void run(){

double nowTime,spendTime,setTime,speed=0,remainTime;

int count,remainMin,remainSec;

nowTime=System.currentTimeMillis();

spendTime=(nowTime-startTime)/60000;

setTime=Double.parseDouble(strTime);

while(spendTime

count=jta_type.getText().length();

speed=(words+count)/spendTime;

remainTime=setTime-spendTime;

remainMin=(int)remainTime;

remainSec=(int)Math.round((remainTime-remainMin)*60);

jtf_pace.setText("当前的速度:"+Math.round(speed)+"字/分");

jtf_time.setText("剩余时间:"+remainMin+"分"+remainSec+"秒");

try{

Thread.sleep(1000);

}catch(Exception e){

e.printStackTrace();

}

nowTime=System.currentTimeMillis();

spendTime=(nowTime-startTime)/60000;

}

jtf_pace.setText("速度:"+Math.round(speed)+"字/分");

putScore();

}

3.5 显示测试结果

显示录入速度和错误率。录入速度计算同上,错误率等于总的错字数/录入总字数error=(words+l)==0?0:((errorWords+k)*1.0/(words+l))*100(注:如果没有录入就结束测试,错误率为0%),界面如图2.4.5所示

图3.5 显示测试结果

第四章总结

经过几个星期,我们的课程设计总算完成了,这其中虽然遇到不少问题,通过询问同学,老师的帮助也一一解决了,通过这次课程设计,使大家的编程能力都提高了不少,这次课程设计给大家提供了一个动手,思考和解决问题的机会,巩固了所学的课程。在设计中,大家难免会遇到多种分歧,比如在布局管理器上就要想到怎样放置整个组件,使整个界面美观,简单,如金义善同学就想到了在起始界面上添加一张键盘图片使空白处不至于那么空洞,不过由于时间仓促,没有再进一步完善,图片上其实可以设置类似的按键来同步键入的字符,周攀同学设计的速度和时间设置上的算法很周到,陈小琳同学在添加文件上的算法设计

也显示其扎实的编程能力,其中考虑到如何过滤非txt格式的文档。本人在他们设计的基础之上也进行了相关完善,总之,这次课程设计是由大家一起完成的,本人也体会到了团队合

作的氛围,哪方面不懂的大家都可以一起解决,分享自己的编程心得,最终达到学习的目的。

小组分工

文字录入实训大纲

《汉字录入》实训教学大纲 一、说明 1. 本教学基本要求适用于2年制教学。 2. 教学内容采用模块结构,包括基础模块和实践性教学模块。在教学过程中,可根据学校的实际教学要求选择相应的汉字录入练习软件 3. 在教学过程中,应采用灵活的教学手段,边讲解、边演示、边练习,以增加学生的感性认识,激发学生的学习兴趣,提高教学效果。 4. 注意改革考核手段与方法,根据本课程实践性较强的特点,可采用笔试与上机考试相结合的形式,对在学习和应用上有创新的学生应特别给予鼓励。 二、大纲内容 课题一常用键及其功能 实训目的: 1.掌握键盘与常用功能及其基本操作要素; 2.掌握正确的打字指法; 3.能熟悉键盘分布,掌握常用功能键; 4.能正确进行键盘操作; 实训内容: 项目1.键盘分区 项目2.常用键及其功能 重点操作技能:英文键区;编辑键区功能键的作用。 课题二指法训练 实训目的: 1.掌握打字的基本指法。 能正确进行键盘操作。2. 3.能快速盲打; 4.掌握正确的打字姿势,熟练应用打字指法。 实训内容: 项目1.打字姿势 项目2.基本指法及键位 项目3.击键方法 项目4.练习指法的注意事项 项目5.指法练习中的常见错误 重点操作技能:基本指法及键位 课题三五笔字型编码基础

1.了解键盘汉字录入方法分类。 2.掌握常用汉字录入方法技术。 3.能使用常用的汉字录入方法进行文字录入; 教学要求: 对汉字的五种基本笔画、基本字根、字根间的结构关系、汉字的拆分原则及三种字型结构进行分析讲解,最后对五笔字型字根总表进行说明并要求背诵字根总表。实训内容: 项目1.五种基本笔画 项目2.130个基本字根 项目3.字根间的结构关系 项目4.汉字的拆分原则 项目5.汉字的三种字形结构 项目6.字型字根总表 重点操作技能:字根间的结构关系、汉字的拆分原则。 课题四五笔字型单字的输入 实训目的: 1.理解汉字的结构层次; 掌握字根分类;2. 3.掌握五笔字型字根键位及字根在键盘上的分布规律; 4.掌握键面字根、成字字根、单笔画的输入方法; 教学要求: 讲解键名汉字的编码、成字字根的编码及键外字编码的输入方法,对识别码的作用及使用方法进行分析,最后对难拆汉字进行编码拆分的讲解。 实训内容: 项目1.编码歌诀 项目2.键名汉字的编码 项目3.成字字根汉字的编码 项目4..键外字编码 项目5.难字拆分编码练习 重点操作技能:键名汉字的编码、成字字根汉字的编码 课题五简码输入 实训目的: 掌握简码、重码、容错码 掌握一、二、三级简码,并对其进行练习,以提高文字录入的速度。 实训内容: 项目1.一级简码 项目2.二级简码 项目3.三级简码 重点操作技能:二级简码 课题六词组输入

汇编课程设计汇本打字游戏

华北科技学院 课程设计说明书 专业:网络工程 课程名称: 汇编课程设计 设计题目: 打字游戏设计 设计时间: 2011-12-05 至2011-12-16 评语: ________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:___

课程设计报告的要求 1、需求分析 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。 2、总体设计(程序设计组成框图、流程图) 3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等)) 4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、测试结果,用几组测试数据进行测试算法设计的正确性。 6、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。 《汇编语言》课程设计案例 一、问题述及其需求分析 要求:利用汇编语言编写一个小的打字游戏 容:编写程序,在打开的菜单页面中选择游戏的难度。 难度选择包括以下5个选择 (1)very slow (2)slow (3)normal (4)fast (5)very fast 在编写过程中包括以下几个部分: (1)初始化上部分的字母 (2)获得下落的字母 (3)字母下移,同时覆盖原来的字母 (4)判断是否有输入 (5)若无输入则下落到最后 (6)覆盖原来的字符

用C语言实现一个简单的学生成绩管理系统

目录 1 引言 (1) 2 系统需求分析 (1) 2.1项目背景分析 (1) 2.2 系统开发的目标与意义 (1) 2.3 项目需求分析 (1) 3 系统总体设计 (1) 3.1 功能模块分析 (1) 3.2 系统功能模块初始化准备 (3) 3.2.1 编译预处理 (3) 3.2.2 数据结构定义 (3) 3.3 具体模块处理函数的实现 (4) 3.3.1 菜单函数界面的设计 (4) 3.3.2 功能函数设计 (4) 4 系统测试与分析 (9) 4.1 运行工具介绍 (9) 4.2 系统操作 (9) 结束语 (10) 参考文献 (10)

用C语言实现一个简单的学生成绩管理系统 摘要:伴随着现代社会的发展,网络技术的不断进步,越来越多的管理工作都从传统的现实社会中发展到了网络上。高校是使用计算机技术最早的单位,学校的各项管理工作也从现实生活走上了网络空间。本文对学校的需求进行分析,通过使用C语言设计并实现学生成绩的管理,力求尽量简洁实用地解决学校对学生成绩的管理和学生对成绩的查询问题。 关键字:C语言成绩管理系统程序设计 1 引言 在信息时代,计算机以其极高的运算速度、巨大的数据存储容量,以及能准确地进行各种算术运算和逻辑运算的能力而成为现代化计算工具,并被广泛应用于社会各个领域。计算机技术的高速发展已被认为是人类进入信息时代的标志。成绩管理系统是计算机技术和信息时代的产物,是信息处理或数据处理的核心。该系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化,以达到提高学生成绩管理效率的目的。通过运用程序设计软件实现学生成绩管理中的多种功能,如学生成绩信息的添加、删除、查询、修改、显示、排序等。该系统的设计充分利用计算机作为辅助工具,来实现学生考试成绩从传统的手工管理到计算机管理,并对提高管理效率和节约大量的人力、物力有一定的推动作用。因此,开发这种管理软件很必要,本文将在分析系统的应用价值以及开发工具的基础上,用C语言来开发成绩管理系统。 2 系统需求分析 2.1项目背景分析 在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有任何信息管理系统,特别是在西部贫困地区,学校的各类管理依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快,准,精才能发挥其价值。 2.2 系统开发的目标与意义 (1)系统开发目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥充分发挥其作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: ①系统应具有实用性、可靠性和适用性。 ②对系统中数据库的信息进行有效处理,防止数据错乱。 ②能够按照用户选择的不同的条件进行简单查询。 ③方便用户的操作,尽量减少用户的操作。 (2)系统开发的意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力财力。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。 2.3 项目需求分析 学校工作流程分析:学校工作总体规划由教务人员在学生成绩管理系统中输入学生的基本信息并对其进行维护管理,包括对信息的增加、修改及对信息的各项处理操作等。 新的学年,教务人员首先编排班级,再对在校学生进行基本的信息录入,新生入学后由教务人员在管理系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任,并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,并对本年级各科成绩及总成绩进行排名。教务处、班主任及任课老师跟据实际情况对录入的成绩进行维护管理,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。 3 系统总体设计 3.1 功能模块分析 学生成绩管理系统是对学生基本信息及成绩的管理。开发工具主要采用TurboC2.0,主要用于对学生的学

电脑打字指法练习方法

电脑打字指法练习方法 一、每个手指所管辖的键符 左手右手小指 1 2 Q A Z— = P [ ] ;’ ‘ /无名指 3 W S X 0 O L ? 中指 3 E D C 9 I K , 食指 5 6 R F T G V B 7 8 Y J U H N M 二、键盘基本指法图示 左手右手 1 2 3 4 5 6 7 8 9 0 Q W E R T Y U I O P A S D F G H J K L ; Z X C V B N M ,? / 小无中食食食食中无小 指名指指指指指指名指

指指 三、指法练习 1、基本键位ASDF和JKL;的练习 左手四指置于ASDF四个字母键上,右手四指置于JKL;四个字母键上,两个大拇指放在空格键上。固定手指位置后,就不要再看键盘,而应集中视线于文稿。两手弹击字键要稳、准、快,小指和无名指自然下垂,不要向上翘起。 Asdf jkl; Dkdk fjfj A;a; slsl Adk; sfjl Lass fall Ask dad Sad lad Alas add Sad fall A lass; A flask 2、基本键G和H的练习 打G键时,原按F键的左手食指向右平伸,弹击G键后迅速退回原位。打H键时,原按J键的右手食指向左平伸,弹击H键后迅速退回原位。其他手指原位不动。 All has had add Ask lad sad gas Fall slag jags asks Half hall glad lass Glass flask glass flask Halls flags 3、RT和YU键的练习 打R键时,原按F键的左手食指向左上方伸出;打T键时,左手食指向右上方伸出;打U键时,右手食指要向更左上方伸出。每打完一个键后,手指应立即退回到基本键位上。 Rusty hurry Tatty lad A dusty flask

汇编语言课程设计报告-打字练习程序

提供全套毕业设计,欢迎咨询 汇编语言课程设计报告 程序题目:打字练习程序 学生姓名:XX 班级:2010级计算机科学与技术专业4班学号:XXX 院系:计算机科学学院 指导教师:XXX

目录

1设计目的 本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的: 1. 增进对汇编语言的认识,加强用汇编语言编程的能力; 2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; 3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; 4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; 5. 掌握屏幕输出显示的设计方法。 2概要设计 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明

是 否 否 是 是 图2-1程序设计流程图 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER 进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1: 3 详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)

c语言教务管理系统

c语言教务管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数 void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数 void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

打字文章练习

树蛙班级:姓名: 阳光明媚的夏天,一只胸怀大志的青蛙蹲在田埂上,做了一个十分重要的决定:要爬上河边那棵最高的柳树,看看夏天最美丽的风景。知道了这只青蛙爬树的志向后,所有的青蛙都向它投来了羡慕和尊敬的目光,因为它们知道这是一只多么优秀的青蛙,而它们又是多么地信任它。这只青蛙选中位置就往树上跳了,其他所有的青蛙都鼓着眼睛拭目以待。可是,这只青蛙大多是还没抱着树干就掉了下来;即使少数几次抱住了,又不知下一步怎么办,风一起,整个身子晃晃悠悠,一会又掉了下来,但是,这只青蛙还是一次又一次地向自己的目标冲刺着。 蟋蟀看见这只鼻青脸肿的青蛙,惊奇地问道:“青蛙兄弟,你怎么老是往树上爬呀?”青蛙瞥了蟋蟀一眼,回答道:“我要看夏天美丽的风景,我要改变青蛙不会爬树的命运!” 燕子飞过来,对青蛙说:“这树是你们青蛙能爬的吗?”青蛙上气不接下气地说:“我想我们能!” 摔得快死的时候,这只青蛙口里还不停地叫着:“爬树!爬树!” 所有的青蛙都被这只青蛙的话和坚持不懈的精神深深地感染着,情绪一下子高涨起来;为了实现那只优秀青蛙的遗愿,许多青蛙陆续向河边的柳树跳去,跳去…… 于是,后来地球上有了一个新物种——树蛙

老鹰再生——经典励志小故事班级:姓名:老鹰是世界上寿命最长的鸟类。它一生的年龄可达70岁。要活那么长的寿命,它在40岁时必须做出困难却重要的决定。当老鹰活到40岁时,它的爪子开始老化,无法有效地抓住猎物。它的啄变得又 长又弯,因为它的羽毛长得又浓又厚。使得飞翔十分吃力。它只有两种选择:等死或经过一个十分痛苦的更新过程——150天漫长的操练。它必须很努力地飞到山顶。在悬崖上筑巢。停留在那里,不得飞翔。老鹰首先用它的喙(hui)击打岩石,直到完全脱落。然后静静地等候新的喙长出来。它会用新长出的喙把指甲一根一根的拔出来。当新的指甲长出来后,它们便把羽毛一根一根的拔掉。5个月以后,新的羽毛长出来了,再生的老鹰开始飞翔。 10×10=100;100÷10=10;5÷10×100%=50%;¥100.00 ⅠⅦ↘↙∑♀〖〗$○1 欧洲招安儿童澳洲恩施绿色耳朵? & # “”~! 【】{} 改变自己需要勇气和决心。不好的习惯也是长时间形成的,要改变它并不意味着你一两天的不同行为就能改变,好习惯的养成是日积月累的结果,不要欲速而不达,更不能讳疾忌医,不能对自己的缺点过分宽容,要敢于面对,并要有改掉缺点的决心,这样我们才能进步,才能有更大有成就。

打字练习游戏程序

摘要 汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。 关键字:汇编语言、程序设计、助记符

目录 摘要 0 目录 (1) 前言 (2) 第1章系统分析 (3) 第2章系统总体设计 (4) 2.1打字程序包括以下五个子程序: (4) 2.2算法的整体设计思路 (4) 2.3程序的主要特点 (4) 第3章详细设计 (5) 3.1主界面伪代码 (5) 3.2等级界面伪代码 (5) 3.3游戏界面伪代码 (6) 3.4清屏子程序设计 (6) 3.5密码程序设计 (7) 3.6宏代码 (8) 3.6.1在指定位置显示彩色字符串 (8) 3.6.2显示背景 (9) 3.6.3画横向边框的宏 (9) 3.6.4画竖边框的宏 (10) 3.7功能的进一步完善 (11) 3.7.1完善代码一 (11) 3.7.2完善代码二 (12) 3.7.3完善代码三 (12) 第4章软件使用说明书 (14) 4.1密码界面图: (14) 4.2主界面图: (14) 4.3等级选择界面: (14) 4.4游戏界面: (15) 参考文献 (17) 致谢 (18) 源代码: (19)

前言 随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。 《打字游戏程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过具体的问题分析、设计、调试、运行程序。在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。这个程序最终通过菜单所提示的信息选取所要进入的界面,获得所要的功能。

c语言教务管理系统

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

//目录界面结构体 struct student { char num[10]; char name[10]; float chinese; float english; float math; float sum; int a; }stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}}; //登陆界面 void main() { load(); } void load() { background1(); choice1(); } void background1() { puts(" "); puts(" "); printf(" ********************************************\n"); printf(" 欢迎登录学生管理系统"); puts(" "); printf(" ********************************************\n"); printf(" 1.登录 2.注册\n "); printf(" 请选择:"); } void choice1() { int a; scanf("%d",&a); fflush(stdin); switch(a) { case 1:denglu();break; case 2:zhuce();break; default:fanhui1();break; } }

打字练习美文

对待一个橘子的好 一个日本人因为心脏病作了外科手术,出院时医生给他看账单,他突然气血攻心,晕厥,死亡。两个美国律师吃饱了没事做,在办公室里赛跑,其中一个近视眼撞破了玻璃,从摩天大楼里飞出,死亡。阿拉斯加瓦尔迪兹发生石油泄漏后,救援每只海豹的平均花费高达8万美元,在一个特别仪式上,有两只花巨款拯救回来的海报在旁观者的欢呼与掌声中被放回大自然,但在一分钟后,他们被一头杀人鲸吞入肚中。一个叫凯·拉纳加的恐怖分子在寄邮件炸弹时没有付足邮资,邮件被盖上“退返寄信人”的邮戳退回,而他忘了那是炸弹,于是打开邮包,被炸成碎片……人生真的很无常,你根本不知道,下面会有什么事在等你。所谓风水轮流转,谁都可以交好运,谁都有可能触霉运,上帝虽然法力无边,但也有打盹的时候,只有“现在”最可信,也一个是最可爱的。从这个意义上说,众生真的是平等的,王子在日光浴,乞丐也在晒太阳。如果这有什么区别的话,就是幸福的含金量,就是你用多大的心来享受当下的美- -同样一个橘子,有人几口就囫囵吃完,有人先闭目嗅它的清香,提神,然后剥皮,很美的造型,一瓣瓣地吃,慢慢地嚼,舒缓地咽……如果人生有什么不同,应该从对待一个橘子的态度里就可见吧。 放下 最近我与一位美国籍的出家师父相约茶馆,用英文谈论心经。师父听完我的烦恼,要我以便提起他刚买的3罐番茄汁,一边跟他说话。随着时间流逝,我受不了酸痛,放下了手。师父却说:“提起来,继续谈。”又过了15分钟,我实在承受不住了,师父说:“现在可以放下了。”看着我狐疑的脸,师父笑了起来。 “你不喜欢提着重物跟我说话,却为何带着烦恼来跟我说话呢?手酸了,放下就好,对待烦恼,不也是如此?烦恼就像这些番茄汁,是你自己用手举起来的。” 最近我开始练习,一手举起有重量的东西,一边想事情。手酸了,自然会放下,有一天我也会做到,心累了,就把心事放下来。 空信封 父亲过世后,我整理他的房间。 他生活简朴,除了几个烟斗,没什么特殊物品。衣橱里有个小木箱,外表斑驳,但看起来似乎装着重要物品。 我小心翼翼地打开箱子,里面整整齐齐地放着一大沓旧信封,有一百多个。 信封都是空的,邮戳日期从1982年到1994年父亲逝世前几个月。随着时间流逝,寄信地址从台北换到台中,从台中变成土城,再从土城转到新竹,最后又回到台北。信封表面似曾相识,都是我的笔记。那些信封都是我寄生活费给父亲用的。 父亲不愿意离开他的田地,一直住在乡下。十几年前,他年事渐高,身体不再硬朗,我

打字游戏

湖南农业大学东方科技学院 课程设计报告 课程名称:微机原理与接口技术 设计题目:打字游戏程序设计 学生姓名:罗英杰 学号: 2 年级专业:2008级计算机科学与技术 班级: 3 班 指导老师:王兴波 学院:东方科技学院 湖南·长沙 提交日期:2009年12月

一、任务与要求 1. 开始界面的提示信息:进入游戏,退出 2. 打字游戏:字母从屏幕上方下落,若用户在字母下落过程中输入正确字母,字母消失, 输入不正确,字母继续下落 3. 空格键退出游戏 二、分析与规划 1、结构分析图,如下 2、布局分析: 首先,出现菜单主界面起到提示作用。然后进入游戏,接着完成游戏的退出。

三、实现过程 1、出现菜单主界面: ZK db "WELCOME TO PLAY$" no db "shejiren: Luo Yingjie 2009/12/09 $" meg db "press Enter key to continue.......$" meg1 db "when a letter is dropping,please hit it!$" meg2 db "press space key to pause!$" meg3 db "press ESC key to return main interface!$" meg4 db "press letter 'E' to exit!$" 上面的代码菜单主界面的内容 clear_screen 00d,00d,24d,79d Init_game 00d,00d,0ah,dl,80d,nextsign1 Init_game 24d,00d,0ah,dl,80d,nextsign2 Init_game 00d,00d,0ah,dh,25d,nextsign3 Init_game 00d,79d,0ah,dh,25d,nextsign4 menu 05d,15d,ZK ;菜单信息的宏调用 menu 07h,15d,no menu 09d,15d,meg menu 11d,15d,meg1 menu 13d,15d,meg2 menu 15d,15d,meg3 menu 17d,15d,meg4 clear_screen 01d,01d,23d,78d ;清屏宏调用 clear_screen 01d,01d,23d,78d Init_game 23d,01d,01h,dl,78d,nextsign5 mov ah,02h mov bh,00h mov dh,01h

文字录入课程教学大纲

《文字录入》教学大纲 一、课程性质和任务 《文字录入及处理》是计算机专业的一门基础课程,它是以中文Windows 为系统平台,从了解微型计算机基础知识入手,重点讲述汉字输入/输出,汉字编辑、排版、表格制作。本课程的任务是要培养学生掌握指法。汉字输入/输出的基本操作。以及汉字的编辑。排版、表格制作等基本技能。 二、课程教学目标 (一)知识教学目标 1、计算机基础知识 2、操作系统Windows XP的启动,关闭及基本操作。 3、英文录入技能和训练。 4、五笔字型汉字输入技能和训练 5、文字处理软件Word2002的基本应用。 (二)思想教育目标 1、掌握计算机的发展,分类及软、硬件系统基本组成。 2、掌握操作系统Windows XP的基本操作。 3、掌握键盘操作,动作规范。 4、掌握五笔字型的输入方法,提高录入速度。 5、掌握中文文字处理软件中汉字编辑、排版、表格制作、打印等基本技能。 (三)思想教育目标 1、以上机实践为主,培养学生的操作能力。 2、加强指法训练,动作规范的能力。 3、能熟练输入文字、加强汉字录入提高录入速度的能力。 4、对文字进行编辑、排版、表格制作。打印输出的能力。 三、教学内容和要求

(一)基础教学模块 1、计算机基础知识 ①电子计算机及应用 ②微型计算机 ③安全使用计算机 2、操作系统Windows XP入门 ①Windows XP的桌面 ②Windows XP的基本操作 ③使用“开始”菜单 ④计算机资源管理 ⑤系统设置 3、英文录入技能和训练 ①键盘键位及其功能 ②键盘操作 ③指法训练 4、五笔字型汉字输入技能和训练 ①汉字的基本结构 ②五笔字型的字根键盘 ③汉字的拆分 ④五笔字型的汉字编码 ⑤简码、重码和容错码 ⑥词组的输入 5、文字处理软件Wood2002的基本应用 ①Wood 2002的简介 ②创建和打开文档 ③Wood2002的编辑操作 ④Wood2002的排版操作

文字录入实训项目

文字录入与排版实训项目指导书 实训指导教师杨清 年 4 月20 日 2010

实训名称:文字录入与排版一 实训内容与要求: 一、实训时间:100分钟 二、文字录入与排版部分 1?在“ D :根目录”下创建一个“技能考试”文件夹。(5分) 2. 建立一个word文档,文档中录入以下“雷锋故事”的文章,完成录入后以“雷锋故事.doc” 为文件名保存在“技能考试”文件夹下,若无按要求存盘,扣除卷面分值5-10分,并按下面要 求对文档进行排版 雷锋把自己的藏书拿出来供大家学习,被人们称为“小小的雷锋图书馆”,他帮助同志学习 知识,同班战友乔安山文化程度低,雷锋就手把把手教他认字,学算术。同班战友小周父亲得了生病,雷锋知道后以小同的名义给家里写了信又寄去世0元钱。战友小韩在夜里出车时棉裤被硫 酸水烧了几个洞,雷锋值班回来以现后,把自己的帽子拆下来一针一钱地为小韩补好裤子,轻轻地盖上他身体。 知道这个情况的乔安山说:“为了给你补裤子,雷锋半宿都没睡!”

、表格制作(30分) 重新建立一个word文档进行表格制作,完成后以"个人简历”.doc为文件名保存在"技能 考试”文件夹下 实训名称:文字录入与排版二 实训内容与要求: 一、考试时间:100分钟 二、文字录入与排版部分 1. 在“ D: “根目录”创建一个“技能考试”文件夹(5分) 2. 建立一个word文档,录入以下“盖茨的名言”的文章,完成后以“盖茨的名言.doc”为文件名 保存在“技能考试”文件夹下,正确录入文字,无文字错误,多字少字每处扣1分,不按要求 保存者,扣除5分,文档中的汉字输入方法自由选择。 (25 分)。 具体要求及样文版式如下: ①纸张16开;页边距上下均为3厘米,左右均为厘米,纵向纸张;(5分) ②标题居中,黑体三号字;小标题定为黑体四号字;正文定为宋体五号字,并设置段落首行缩进。

C#打字游戏课程设计

C# 打字游戏程序核心代码主要部分: 设计程序流程图:

主窗体代码: using System; using System.Collections.Generic; using https://www.360docs.net/doc/9f12411508.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //课程名称 C# 程序设计实践 //设计题目打字游戏 //专业计算机科学与技术 //班级 //学号 //姓名 //指导老师 namespace Typing_Game { public partial class FrmTyping : Form { public FrmTyping() { InitializeComponent();

public int right = 0; //正确个数计数 public int wrong = 0; //错误个数计数 public int sum = 0; //总个数技术 public int count = 0; //按键总次数 public float accuracy; //正确率 public int Minute = 1; //设置默认没局游戏时间 public int minute; //设置游戏中的倒计时分 public int second; //设置游戏中的倒计时秒 private void FrmTyping_Load(object sender, EventArgs e) { } //在状态栏中显示当前系统时间 private void timerSys_Tick(object sender, EventArgs e) { DateTime now = DateTime.Now; this.tsslSysTime.Text = "系统时间: " + now.Hour.ToString() + ":" + now.Minute.ToString() + ":" + now.Second.ToString()+'\t'; } //开始&结束按钮 private void tsmiStratOrOver_Click(object sender, EventArgs e) { if (tsmiStratOrOver.Text == "开始") { tsmiStratOrOver.Text = "结束"; timerWord.Start(); timerGame.Start(); timerGT.Start(); //在游戏开始时暂停&继续按钮可用 tsmiPauseOrContinue.Enabled = true; //在游戏未开始时选择游戏等级与设置游戏按钮无效 tsmiLevel.Enabled = false; tsmiOption.Enabled = false; //游戏开始初始化游戏数据 right = 0; wrong = 0;

练习打字

级别管辖 基层人民法院管辖第一审民事案件,但本法另有规定的除外。 中级人民法院管辖下列第一审民事案件: (一)重大涉外案件; (二)在本辖区有重大影响的案件; (三)最高人民法院确定由中级人民法院管辖的案件。 高级人民法院管辖在本辖区有重大影响的第一审民事案件。 最高人民法院管辖下列第一审民事案件: (一)在全国有重大影响的案件; (二)认为应当由本院审理的案件。 地域管辖 对公民提起的民事诉讼,由被告住所地人民法院管辖;被告住所地与经常居住地不一致的,由经常居住地人民法院管辖。 对法人或者其他组织提起的民事诉讼,由被告住所地人民法院管辖。 同一诉讼的几个被告住所地、经常居住地在两个以上人民法院辖区的,各该人民法院都有管辖权。 下列民事诉讼,由原告住所地人民法院管辖;原告住所地与经常居住地不一致的,由原告经常居住地人民法院管辖: (一)对不在中华人民共和国领域内居住的人提起的有关身份关系的诉讼; (二)对下落不明或者宣告失踪的人提起的有关身份关系的诉讼; (三)对被劳动教养的人提起的诉讼; (四)对被监禁的人提起的诉讼。 因合同纠纷提起的诉讼,由被告住所地或者合同履行地人民法院管辖。 合同的双方当事人可以书面合同中协议选择被告住所地、合同履行地、合同签订地、原告住所地、标的物所在地人民法院管辖,但不得违反本法对级别管辖和专属管辖的规定。 因保险合同纠纷提起的诉讼,由被告住所地或者保险标的所在地人民法院管辖。 因票据纠纷提起的诉讼,由票据支付地或者被告住所地人民法院管辖。 因铁路、公路、水上、航空运输和联合运输合同纠纷提起的诉讼,由运输始发地、目的地或者被告住所地人民法院管辖。 因侵权行为提起的诉讼,由侵权行为地或者被告住所地人民法院管辖。 因铁路、公路、水上和航空事故请求损害赔偿提起的诉讼,由事故发生地或者车辆、船舶最先到达地、航空器最先降落地或者被告住所地人民法院管辖。 因船舶碰撞或者其他海事损害事故请求损害赔偿提起的诉讼,由碰撞发生地、碰撞船舶最先到达地、加害船舶被扣留地或者被告住所地人民法院管辖。 因海难救助费用提起的诉讼,由救助地或者被救助船舶最先到达地人民法院管辖。 因共同海损提起的诉讼,由船舶最先到达地、共同海损理算地或者航程终止地的人民法院管辖。 下列案件,由本条规定的人民法院专属管辖: (一)引不动产纠纷提起的诉讼,由不动产所在地人民法院管辖; (二)因港口作业中发生纠纷提起的诉讼,由港口所在地人民法院管辖; (三)因继承遗产纠纷提起的诉讼,由被继承人死亡时住所地或者主要遗产所在地人民法院管辖。 两个以上人民法院都有管辖权的诉讼,原告可以向其中一个人民法院起诉;原告向两个以上有管辖权的人民法院起诉的,由最先立案的人民法院管辖。

大学课程设计报告小小打字游戏设计-课程设计报告

2016-2017学年第一学期 《Windows程序设计》 课程设计报告 题目:小小打字游戏设计 专业: 班级: 姓名: 指导教师: 成绩: 二0一六年十一月十五日

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 系统功能 (1) 1.3 信息存储功能 (1) 2 系统设计 (1) 2.1 数据库设计 (1) 2.1.1 GameUser表 (1) 2.1.2 GameInfo表 (2) 2.2 游戏系统设计 (2) 2.2.1 程序项目设计 (2) 2.2.2 功能模块设计 (2) 3 C#系统实现 (5) 3.1 类图 (5) 3.2 核心代码 (6) 3.3 MySqlConn类 (10) 3.4 MainForm类 (11) 3.5 菜单事件 (12) 3.6 窗体键盘事件 (13) 3.7 MyRandom类 (15) 3.8 Program类 (16) 4 总结 (17) 4.1 收获 (17) 4.2 反思 (17) 5 参考文献: (18)

1 设计内容及要求 1.1 设计内容 软件名称:小小打字游戏 需求分析:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。 1.2 系统功能 (1)、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏; (2)、注册功能:不存在的用户,可以注册; (3)、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个; (4)、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值; (5)、游戏显示:游戏窗口随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度; (6)、游戏操作:按下键盘上的A-Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1; (7)、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏数据记录; (8)、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示以及游戏排名。 1.3 信息存储功能 需要存储的信息: (1)游戏分数、(2) 游戏等级、 (3) 用户、 (4)密码、(5)游戏开始时间、(6)游戏结束时间。 2 系统设计 2.1 数据库设计 2.1.1 GameUser表 表1 GameUser表

学生成绩管理系统(数据结构C语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

相关文档
最新文档