结对伙伴学号 | 201831061428 |
---|---|
结对伙伴姓名 | 钟宜轩 |
伙伴博客地址 | 博客 |
Github地址 | git |
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 60 |
Estimate | 估计这个任务需要多少时间 | 40 | 30 |
Development | 开发 | 200 | 200 |
Analysis | 需求分析 (包括学习新技术) | 50 | 40 |
Design Spec | 生成设计文档 | 20 | 20 |
Design Review | 设计复审 (和同事审核设计文档) | 25 | 25 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 15 | 15 |
Design | 具体设计 | 100 | 80 |
Coding | 具体编码 | 600 | 630 |
Code Review | 代码复审 | 25 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 50 |
Reporting | 报告 | 30 | 20 |
Test Report | 测试报告 | 25 | 30 |
Size Measurement | 计算工作量 | 30 | 20 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计 | 40 | 50 |
合计 | 1220 | 1290 |
遇到了很多困难,但也花费了很多时间去努力克服。虽然不是很完善,但我们确实尽力了。
讨论过程
设计实现过程
代码设计流程如下:
代码实现
#include
#include
#include
#include
#include
#include
#define N 20
using namespace std;
/*定义结构体*/
typedef struct wenjian{
char data[N];
int shu;
struct wenjian *zuo;
struct wenjian *you;
}wenjian,*bwenjian;
class Word{//定义一个词汇的类
public:
Word();
int get_word(int start, int end, char* p, char* word);
void create_wenjian(char* m, bwenjian& b);
void Order(bwenjian b, FILE* q);
int sum;
int j;
int i;
char liang[N];
char liang1[N];
char word[N];
char fwen[20];
};
/*初始化*/
Word::Word()
{
sum = 0;
j = 0;
i = 0;
}
/*定义获取单词数的函数*/
int Word::get_word(int start, int end, char* p, char* word)
{
memset(word, 0, sizeof(char));
for ( i = start; idata, m);
b->shu = 1;
b->zuo = NULL;
b->you = NULL;
}
else
{
strcpy(liang1, b->data);
liang1[0] = tolower(b->data[0]);
if (strcmp(liang, liang1) == -1)
{
create_wenjian(m, b->zuo);
}
else if (strcmp(liang, liang1) == 1)
{
create_wenjian(m, b->you);
}
else
{
b->shu++;
}
}
}
/*写入文件*/
void Word::Order(bwenjian b, FILE* q)
{
if (b != NULL)
{
Order(b->zuo, q);
fprintf(q, "world:%-10s 次数:%-9d\n", b->data, b->shu);
printf("world:%-10s 次数:%-9d\n", b->data, b->shu);
Order(b->you, q);
}
}
int main()
{
Word w;//定义Word的类
while (true)
{
memset(w.fwen, 0, sizeof(w.fwen));
cout << "请输入你想打开的函数" << endl;
cin >> w.fwen;
FILE *q;
q=fopen(w.fwen,"rb");
if (q==NULL)
{
cout << "打开文件失败!" << endl;
return false;
}
cout << "已打开!" << w.fwen << endl;
//开始进行文件统计
fseek(q, 0, SEEK_END);
int len = ftell(q);
rewind(q);
char *p = new char[len + 1];
p[len] = 0;
fread(p, 1, len, q);
fclose(q);
cout << p << endl;
bwenjian b = NULL;
while (w.i> w.fwen;
q=fopen(w.fwen,"w");
if (q == NULL)
{
cout << "不能写入文件" << endl;
return false;
}
fprintf(q, "词频统计结果: \n");
cout<<"词频统计结果:\n"<
代码说明
总结
作业好难啊!!花费了很多时间,也同学一起努力,才能算是勉强完成,和同学一起努力,一起流汗,在一起付出中收获,确实是不错的体验,可是作业的难度太大了!!提交也遇到了很多麻烦。不过幸好和同伴在一个寝室,大家一起敲代码,一起研究怎么交,如果不在一个寝室,沟通不方便的话,我们可能会死。万幸,还是在作业截止之前交了上来,以后希望可以再可以和同学一起努力。