用VS测试程序

怀着一种忐忑的心情,我开始了我的软件测试。

#include "stdio.h"
#include "stdlib.h"


int main(int argc, char* argv[])
{
    FILE *fp;
    bool flag = false;
    char ch;
    int count = 0,word = 0,line = 0;
    fp=fopen ("wang.txt","r");
    if (fp==NULL)
    {
        printf ("the file:wang.txt not found
");
        exit (-1);
    }

    if((ch=fgetc(fp))!=EOF)
        {
            line++;
            count++;
        }

    while ( (ch=fgetc(fp))!=EOF)
    {
        count++;
        if ((ch<'a'||ch>'z')&&(ch<'A'||ch>'Z'))
        {
            word++;
            flag = false;
        }
        else {
            flag = true;
        }
        if (ch=='
')
            line++;
    }

    if(flag){
        word++;
    }
    printf("字符为:%d
",count);
    printf("单词为:%d
",word);
    printf("行数为:%d
",line);
    fclose(fp);
return (0);
}

其实只是一个比较简单的程序,当时写完我还感到一丝的不可思议,因为它实在是太短了。竟然完成了我想要的功能,看来开始是我想复杂了,哎,没头脑呀!

这是wang.txt

这是运行结果。

我想把这个程序完善一下,因为当出现连续的非英文字符时(如:,,,,  。。。。)单词的数目会出现错误,我想见一个链表进行数据的存储,然后方便前后的字符进行比较。可我觉得这个方法太麻烦了,哪位大神还有更好的方法,欢迎指教呀!

原文地址:https://www.cnblogs.com/wcherry/p/5303368.html