1 #include <stdio.h> 2 void main() 3 { 4 FILE *fp; 5 int line = 1, str, word, pu, ch; 6 int g; 7 str = 0; word = 0; pu = 0; ch = 0; g = 0; 8 fopen_s(&fp, "E:\sun.txt", "r");//打开相应位置文件 9 if (fp == NULL)//判断文件是否为空 10 { 11 printf("the file : sun.txt not found"); 12 } 13 ch = fgetc(fp);//将文件中所有符号按字符依次读取 14 str++; 15 while (ch != EOF)//判断是否读取结束 16 { 17 printf("%c", ch); 18 if (ch == ' ')//判断行数 19 { 20 line++; 21 } 22 else if (ch == ' ' || ch == ',')//判断单词数 23 { 24 word++; 25 if (ch == ',')//判断标点符号 26 { 27 g++; 28 } 29 } 30 str++;//统计所有的字符 31 ch = fgetc(fp); 32 } 33 word++; 34 printf("一共有:%d行 %d个单词 %d个字符 %d个标点符号 ", line, word, str, g); 35 fclose(fp); 36 }# test2
本次作业是第二个个人项目,统计字符数,行数,标点符号等。
其实这个题目还挺简单的,所以拿到题目时我的思路很清晰,并马上付诸行动。
首先声明指针,然后打开相应位置的相应文件。然后判断文件是否为空,空文件结束操作,否则继续下一项。
文件不为空的情况下,将文件中所有数据按字符进行依次读取,读取完毕后统计出所有的字符数。接下来依次进行行数,单词数,标点符号数的统计。最后关闭文件,将结果输出。
虽然题目不是很难,但是值得思考的地方还有很多。比如统计结束之后,是否可以将所有的单词,标点符号进行分类,并将其存入到不同的文件下。还有单词查找的准确度等等,都是要考虑的问题,毕竟需求决定发展方向,所以这也不是我的最终版本,这个太简单了,很多功能还没有添加,我会继续改写,陆续添加新功能。
通过两次个人项目,我对于动手编程已经没有恐惧感了,渐渐的变得敢于动手,虽然我的程序还很幼稚明,也很简单,但我会继续努力,争取在今后的两人结对编程和团队项目中展现自己的能力。