#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. tkinter学习系列(三)之Label控件

    目录 目录 前言 (一)基本用法和可选属性 ==1.基本用法== ==2.可选属性== (二)属性的具体使用 ==1.常用属性== ==2.边距与文本对齐方式== ==案例一== ==案例一的效果== ...

  2. 计算机基础-BIOS

    BIOS--硬件和软件的纽带(Basic Input Output System) 1.含义:基本的输入输出系统,它是一组固化到计算机内主板上的一个ROM存储芯片上的程序 2.性质:它保存着计算机最重 ...

  3. (下一篇博客)提示5G信道

    原本注册这个博客是要不定期更新一些产品的测试内容的 但由于一些个人原因并没有坚持去做到, 每次有点子的时候却没能来得及记下来导致很内容的缺失 接下来将关键点以图片形式 和一些摘要形式先发上来, 已做备 ...

  4. C#Url处理类

    using System; using System.Text.RegularExpressions; using System.Web; using System.Collections.Speci ...

  5. Eclipse中安装springmvc插件

    我网上找了很多方法,常见的两种: 方法一: 先去下载spring-framework-x.x.x.RELEASE.zip包,然后解压,后面需要配置什么,具体的笔者也记不了,哈哈哈 方法二: 打开菜单栏 ...

  6. php 非对称加密解密类

    <?phpnamespace app\Parentclient\model;header("Content-Type: text/html;charset=utf-8");/ ...

  7. 用户输入序号选择商品,按q退出

    输出商品列表,用户输入序号,显示用户选中的商品 li = ['手机','电脑','鼠标垫','游艇'] while 1: li = ['手机','电脑','鼠标垫','游艇'] for i in li ...

  8. WIN10 + VS 2013 配置Opencv2.4.1.3 32位

    VS2013 配置Opencv2.4.1.3    32位 系统变量 Path: F:\2biancheng_tool\Opencv2413\opencv\build\x86\vc12\bin 用户变 ...

  9. go标准库的学习-crypto/des

    参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/des" des包实现了DES标准和TDEA算法,参见U.S. Fed ...

  10. vue分页全选和单选操作

    <!DOCTYPE html> <html> <head> <title>演示Vue</title> <style> ul,li ...