test4 结对项目
[必做 1] 基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。
结对对象:袁晨晖 博客地址:http://www.cnblogs.com/ychhhh/
github地址:https://github.com/yuanchenhui/zuoye
双方贡献 1:1
结对照片:
#include<iostream>
#include<fstream>
#include<cstring>
#include<string>
using namespace std; struct Word{ //定义结构体
int Count;//计数器
Word() : Str(""), Count() {}
string Str; //字符串
char *p;
}; void exchange(Word &word) //函数,用于交换单词(排序单词)
{
string tStr = word.Str;
int tCount = word.Count;
word.Str = Str;
word.Count = Count;
Str =tStr;
Count = tCount;
} Words test[]; void lwr(char x[]) //大写转小写
{ int k = ;
while (x[k] != '\0')
{
if (x[k] >= 'A'&&x[k] <= 'Z')
x[k] = x[k] + ;
k++;
}
} int identify(char a[]) //判断是否符合单词的定义
{ int m=(strlen(a)>=)?:;
int n=(a[]>='a'&&a[]<='z')?:;
if(!m||!n)
return ;
else
while(a)
{ for(int i=;;i++)
{
if(!(a[i]>='a'&&a[i]<='z')||!(a[i]>=''&&a[i]<=''))
return ;
else
return ;
}
}
} void SortWordDown(Word * words, int size) //以单词出现频率降序排列单词,words 单词数组,size 单词数量
{
for(int i=;i<size;i++)
{
for(int j=;j <size-;j++)
{
if(words[j].Count<words[j+].Count)
{
words[j].exchange(words[j+]);
}
}
}
} int counting(char b[],int num) //对出现次数计数
{ for(int j=;j<num;j++)
{ if(!strcmp(b,test[j].p))
test[j].count++;
else
return ;
}
} int main( void )
{
char result[]; char *ptr;
ifstream file( "E://A_Tale_of_Two_Cities.txt" ); /* 读取 */
if ( !file )
{
cout << "不能打开文件";
}
while ( !file.eof() )
{
file.getline( result, );
}
file.close();
int j = ; /* 大写转小写 */
while ( result[j] != '/0' && result[j + ] != '/0' )
{
if ( result[j] >= 'A' && result[j] <= 'Z' )
{
result[j] = result[j] - 'A' + 'a';
j++;
}
}
cout << result;
char *sep = " "; int i = ;
ptr = strtok( result, " " ); /* 利用strtok函数来分割result字符串中的单词 */
while ( ptr != NULL )
{
if ( isword( p ) != false )
{
if ( judge( p, n ) != false )
{
w[n].s = *p; /* 赋值给数组 */
n++;
}
}
ptr = strtok( NULL, " " );
}
int t = ;
ofstream outfile; /* 输出文件到result1 */
outfile.open( "Result1.txt" )
SortWordDown( w, count );
while ( w[t].s ) /* 输出统计结果 */
{
if ( strlen( w[t].s ) >= )
{
outfile << w[t].s << ":" << w[t].count << '\n';
t++;
}
}
return();
}
运行结果:
:
借鉴资料:百度了各部分的主题思路,得到模板,怎么解决,问同学。
心得:
互相教对方,可以得到能力上的互补。
可以让编程环境有效地贯彻Design。
有效的减少BUG。
降低学习成本。一边编程,一边共享知识和经验,有效地在实践中进行学习。
在编程中,相互讨论,可能更快更有效地解决问题。
test4 结对项目的更多相关文章
- 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~
结对项目:Web复利计算 搭档博客地址:25江志彬 http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...
- 高级四则运算器—结对项目反思(193 & 105)
高级四则运算器—结对项目反思(193 & 105) 本周我和一位韩国同学(71061105)一起结对编程完成了我们的结对项目——高级的小学四则运算题目生成器. PSP表格 PSP2.1 P ...
- 高级四则运算器—结对项目总结(193 &105)
高级四则运算器—结对项目总结 为了将感想与项目经验体会分割一下,特在此新开一篇博文. 界面设计 啥都不说,先上图震慑一下... 上面的三个界面是我们本次结对项目的主界面,恩,我也觉得挺漂亮的!你问我界 ...
- 高级软件工程2017第3次作业——结对项目:四则运算题目生成程序(基于GUI)
Deadline:2017-10-11(周三)21:00pm (注:以下内容参考集大作业 ) 前言 想过和别人一起探索世界吗?多么希望,遇到困难时,有人能一起探讨:想要懈怠时,有人推你一把:当你专注于 ...
- WordCount结对项目
合作者:201631062124,201631062423 代码地址:https://gitee.com/yryx/WordCount 作业地址:https://edu.cnblogs.com/cam ...
- 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)
20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...
- 结对项目——四则运算GUI项目
一.项目地址:https://git.coding.net/lvgx/wsz.git 二.PSP: PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min) Plannin ...
- # 2019-2020-4 《Java 程序设计》结对项目总结
2019-2020-4 <Java 程序设计>结对项目阶段总结---<四则运算--整数> 一.需求分析 实现一个命令行程序 要求: 自动生成小学四则运算题目(加,减,乘,除): ...
- 结对项目——图形界面实现与dll动态链接
先来一发软件截图~~~ 生成题目的界面 测评界面 第三块本来准备做一个文件历史记录的界面,但是由于时间不够,暂时还没做完. 图形界面的设计与实现 由于对传统的对话框风格不太满意,所以这次作业的图形界面 ...
随机推荐
- Android开源项目汇总
Android很多优秀的开源项目,很多UI组件以及经典的HTTP 访问开源,都能给我们带来一些自己项目的启迪或者引用. 下面简单介绍一下自己收藏的一些项目内容. 项目: Apollo音乐播放器:And ...
- Azkaban 使用问题及解决
什么是Azkaban Azkaban是一款基于Java编写的任务调度系统 任务调度:有四个任务脚A.B.C.D,其中任务A与任务B可以并行运行,然后任务C依赖任务A和任务B的运行结果,任务D依赖任务C ...
- java对图片进行操作,仅仅是小demo
package com.cy.thumb; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io ...
- jsp---猜数字游戏,深有感触
猜数字游戏注意两点.1.随机数和猜的数字不能放在同一个页面,不然随机数不停出现,猜的数字不可能相等的. 2.数据类型的相互转换.包装类Integer和int的用法,前者是类,后者是基本数据类型 cai ...
- cas服务器搭建
一.CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议.CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的 ...
- Ngnix常用的操作
Nginx的常用参数如下: # /usr/local/nginx/sbin/nginx -h nginx version: nginx/0.7.63 Usage: nginx [-?hvVt] [-s ...
- undefined和NAN的区别(转)
Javascript 中 null.NaN和undefined的区别 1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始 ...
- 常见报表的JS代码
1.合并单元格 这个表格在报表里面算是比较典型的 1.里面的表格的列标题现在是写死的,其实这些可以通过配置进行 2.至于如果表头要进行合并(这种需求比较少,也比较容易实现) 3.至于统计:最好在后台按 ...
- JQuery的筛选方法
前面咱们学习到了jquery的选择器的筛选用法,那么咱们接下来学习一下jquery的常用筛选方法,一张图搞定一切.
- 怎样给oracle数据库的用户解锁
找到并进入运行窗口:(可以用windows+r快捷键哦)输入sqlplus命令:如图 进入新窗口后使用scott/tiger用户和密码进行登录会发现登录不成功:如图 这时我们可以使用syste ...