助教给我的邮件中这样说:
Jerry Huang 致 我
显示详细信息 3月21日 (6天前)
Hi,
我编译了你们的代码,进行了测试,好像和希望的结果差距比较大,请你们再检查确认一下。
如果是提交错了,请重新提交。
Thanks
huang
结果我只打了70分。。。。。
1
#include<iostream>
2
using namespace std;
3
/* 判断字符串是否在引号里面 */
4
int qutation ( char c , bool &f ,bool f1 )
5
{
6
char temp;
7
if ( c=='"' && f1==false)
8
{
9
f=true;
10
cout<<c;
11
while ( f==true )
12
{
13
cin.get(temp);
14
if ( temp=='"')
15
f=false;
16
cout<<temp;
17
}
18
return 1; //发现引号
19
}
20
return 0; //没有发现引号
21
}
22
void cut_add ( )
23
{
24
char c,temp;
25
bool f1,f2,f3;
26
f1=f2=f3=false; // f1标记block注释,f2标记引号,f3标记line注释
27
while ( cin.get(c) )
28
{
29
if ( !qutation(c,f2,f1) ) // 没有出现引号
30
{
31
/*判断注释开头*/
32
if ( c=='/' )
33
{
34
cin.get(temp);
35
if ( temp=='*' )
36
f1=true;//找到了block注释的开头
37
else
38
if ( temp=='/' )
39
f3=true;//找到了line注释的开头
40
/*当没有找到注释的开头时,执行else部分*/
41
else
42
{
43
cout<<c;
44
cin.putback(temp);
45
}
46
}
47
else
48
if ( f1==false && f3==false )
49
cout<<c;
50
/*判断注释结尾*/
51
if ( c=='*' )
52
{
53
cin.get(temp);
54
if ( temp=='/' )
55
f1=false; //关闭block注释
56
else
57
{
58
cout<<c;
59
cin.putback(temp);
60
}
61
}
62
else
63
if ( c=='\n' )
64
{
65
f3=false; //关闭line注释
66
cout<<c;
67
}
68
}
69
}
70
}
71
int main ( )
72
{
73
cut_add();
74
}
我不知道什么原因,手动输入可以的,但是用文件输入输出的话,输出就停不了了。。。。
题目:
就是给你个.cpp文件,这是加注释的,然后让你生成一个.txt文件,除去代码的注释。
用命令行输入:
erasecomment < DataIn.cpp > result.txt