#include <stdio.h>
void main()
{
FILE *fp;
int line = , str, word, pu, ch;
int g;
str = ; word = ; pu = ; ch = ; g = ;
fopen_s(&fp, "E:\\sun.txt", "r");//打开相应位置文件
if (fp == NULL)//判断文件是否为空
{
printf("the file : sun.txt not found");
}
ch = fgetc(fp);//将文件中所有符号按字符依次读取
str++;
while (ch != EOF)//判断是否读取结束
{
printf("%c", ch);
if (ch == '\n')//判断行数
{
line++;
}
else if (ch == ' ' || ch == ',')//判断单词数
{
word++;
if (ch == ',')//判断标点符号
{
g++;
}
}
str++;//统计所有的字符
ch = fgetc(fp);
}
word++;
printf("一共有:%d行 %d个单词 %d个字符 %d个标点符号\n", line, word, str, g);
fclose(fp);
}# test2

本次作业是第二个个人项目,统计字符数,行数,标点符号等。

其实这个题目还挺简单的,所以拿到题目时我的思路很清晰,并马上付诸行动。

首先声明指针,然后打开相应位置的相应文件。然后判断文件是否为空,空文件结束操作,否则继续下一项。

文件不为空的情况下,将文件中所有数据按字符进行依次读取,读取完毕后统计出所有的字符数。接下来依次进行行数,单词数,标点符号数的统计。最后关闭文件,将结果输出。

虽然题目不是很难,但是值得思考的地方还有很多。比如统计结束之后,是否可以将所有的单词,标点符号进行分类,并将其存入到不同的文件下。还有单词查找的准确度等等,都是要考虑的问题,毕竟需求决定发展方向,所以这也不是我的最终版本,这个太简单了,很多功能还没有添加,我会继续改写,陆续添加新功能。

通过两次个人项目,我对于动手编程已经没有恐惧感了,渐渐的变得敢于动手,虽然我的程序还很幼稚明,也很简单,但我会继续努力,争取在今后的两人结对编程和团队项目中展现自己的能力。

第三周作业————————word count的更多相关文章

  1. 第三周作业--Word Counter

    需求分析: 1.写出一个程序,模仿wc.exe,通过输入文件名,实现文件内容读取: 2.统计出文件内容的总字符数.总单词数.行数.每行字符数.每行单词数. 代码分析: 一.打开文件. FILE *fp ...

  2. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  3. 第三周作业、实时操作系统µC/OS介绍及其它内容

    作业要求 见<实时控制软件设计>第三周作业 1 阅读笔记--µC/OS 1.1 基本介绍 µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核, ...

  4. 2018-2019-1 20189221《Linux内核原理与分析》第三周作业

    2018-2019-1 20189221<Linux内核原理与分析>第三周作业 实验二 完成一个简单的时间片轮转多道程序内核代码 实验过程 在实验楼中编译内核 编写mymain.c函数和m ...

  5. 2017-2018-2 1723《程序设计与数据结构》第三周作业 & 实验一 总结

    作业地址 第三周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1667 提交情况如图: 实验一:https://edu.c ...

  6. 第三周作业(一)VS安装及单元测试练习

    第三周作业(一) 需求:练习教科书第22~25页单元测试练习,要求自行安装Visual Studio开发平台,版本至少在2010以上,要求把程序安装过程和练习过程写到博客上,越详细越好,要图文并茂,没 ...

  7. 2017-2018-1 JaWorld 第三周作业

    2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...

  8. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  9. 2017-2018-1 20179205《Linux内核原理与设计》第三周作业

    <Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...

随机推荐

  1. python基础 - 控制语句

    判断-if mood = True if mood: print('mood ok'); else: print('mood not OK') if-elif-else if a == 1: pass ...

  2. OutputStreamWriter与InputStreamReader(转换流)

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...

  3. 微软公布针对最新IE漏洞的安全通报2963983

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/MSSecurity/article/details/24637607  微软于昨天公布了一篇最新 ...

  4. Java中关于AbstractQueuedSynchronizer的入门(二)

    AQS是一个同步器的基础类,里面的关键字段: //如下关键字段都是volatile类型 /** * Head of the wait queue, lazily initialized. Except ...

  5. margin auto 实现居中,与text-align:center的区别

    本文导读:一个元素在水平方向上所占的长度,由width ,padding ,和margin 决定.这些值中,只有width和margin-left,margin-right可以设为auto,text- ...

  6. MySQL比like语句更高效写法locate position instr find_in_set

    你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种. LIKE语句 SELECT `column` FROM `table` where `condition` like  ...

  7. (二 -1) 天猫精灵接入Home Assistant-控制Mqtt设备

    关于hass对接mqtt 请参考官网 https://www.hachina.io/docs/7083.html 1 登陆运行着hass的阿里云服务器 2 修改hass配置文件,添加mqtt服务信息 ...

  8. 高性能mysql之慎用BLOB与TEXT

    文章转自 https://blog.csdn.net/john1337/article/details/70919212 BLOB与TEXT是为了存储极大的字符串而设计的数据类型,采用二进制与字符串方 ...

  9. jmeter(四)HTTP请求

    启动jmeter,建立一个测试计划 这里再次说说怎么安装和启动jmeter吧,昨天下午又被人问到怎样安装和使用,我也是醉了:在我看来,百度能解决百分之八十的问题,特别是基础的问题... 安装:去官网下 ...

  10. C. Report

    题意:给出n个无序的数以及m个操作,每个操作由两个数组成,第一个数是操作的方式,第二个数 i 是操作的范围,若第一个数是1,则给 1-i 个数按升序排序,若第二个数是2,则给 1-i 个数按降序排列. ...