Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1458646
  • 博文数量: 187
  • 博客积分: 10375
  • 博客等级: 上将
  • 技术积分: 3127
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-07 10:58
文章分类

全部博文(187)

文章存档

2013年(1)

2012年(8)

2011年(28)

2010年(36)

2009年(47)

2008年(67)

我的朋友

分类: C/C++

2008-12-26 23:45:01

在程序算法与技巧精选的这本书中看到这个程序,试了一下,挺好用的.
1~7数字键对应标准音1~7,后面三个键8、9、0对应高音1~3,Q、W、E、R、T、Y、U对应低音1~7。
 

#include <stdio.h>
main(){
    unsigned long f, f1, f2, p, i;
    char c;
    int a[17]={1320,524, 588, 660, 694, 784, 880, 988, 1048, 1176, 262, 294, 330, 347, 392, 440, 494};
    while((c = getch()) != 0x1b){
        if(c<='9' && c>='0') i=c-0x30;
        switch(c){
            case 'q':{i=10;break;}
            case 'w':{i=11;break;}
            case 'e':{i=12;break;}
            case 'r':{i=13;break;}
            case 't':{i=14;break;}
            case 'y':{i=15;break;}
            case 'u':{i=16;break;}
        }
        f=1193280/a[i];
        f2=f/256;
        f1=f%256;
        outportb(0x43,0xb6);
        outportb(0x42,f1);
        outportb(0x42,f2);
        p=inportb(0x61);
        outportb(0x61, p|3);

    }
    p=inportb(0x61)&~3;
    outportb(0x61,p);
}

阅读(1116) | 评论(0) | 转发(0) |
0

上一篇:收到的节日祝福

下一篇:12只球中挑坏球

给主人留下些什么吧!~~