我还是初学者,各位大侠见笑
我想写个打字的程序,要求是读入一篇文章,在规定时间内,输对得一分,输错、多输不扣分,漏输的话倒扣一分。我想请问这里算法应该怎么设置
谢谢啦

解决方案 »

  1.   

    a,一个记时器,记时。
    b,一个buffer,记录文字。当且仅当a,b同里成立就记一分,等等。
      

  2.   

    把文章读入CStringArray,每输对一个,把CStringArray指针往前移动一个字,作为当前需要比较的对象,输错等其它情况不移动指针。
    记分很简单不需要什么算法。上面也不算是什么算法,一种实现方法嘿。不知楼主是不是这个意思?
      

  3.   

    比如说
    默认正确答案是
                      abcdefg
    我运行时输入了
                      adcdefg
    我希望是第二个字输错了,其他都对
    而不是第二、三个字漏掉,第四个字对,然后又多输了两个字
      

  4.   

    “漏输”不好处理,
    比如:
    abcdefg
    acdefgw
    这个算什么?是算第二个漏输呢?还是错输?
    不知楼主最后要做个什么性质的软件?考试答题?打字练习?
      

  5.   

    把文章读入内存(动态分配内存,装入数组或内存映射文件),应该用数组小标或指针很容易比较呀,比如:
    char *str="abcdefg";
    char *UserStr="adcdefg";for(int i=0;i<strlen(str);i++)
    {if(*(str+i)!=*(UserStr+i)) nErrCharCount++;   //错误字符计数器
     else nRightCharCount++;   //否则正确字符计数
    }
      

  6.   

    回woodwoodwood3() 
                         abcdefg
                         acdefgw
    这种情况当然属漏输啦,应该怎么判断出来?
    我做的就是个打字练习的软件呀
      

  7.   

    回woodwoodwood3() 
                         abcdefg
                         acdefgw
    这种情况当然属漏输啦,应该怎么判断出来?
    我做的就是个打字练习的软件呀
    --------------------------------------------
    这种情况根本不能算漏输, 应该算错输,漏输的情况一般是输入了空格