助教給我的郵件中這樣說(shuō):
Jerry Huang 致 我
顯示詳細(xì)信息 3月21日 (6天前)
Hi,
我編譯了你們的代碼,進(jìn)行了測(cè)試,好像和希望的結(jié)果差距比較大,請(qǐng)你們?cè)贆z查確認(rèn)一下。
如果是提交錯(cuò)了,請(qǐng)重新提交。
Thanks
huang
結(jié)果我只打了70分。。。。。
1
#include<iostream>
2
using namespace std;
3
/* 判斷字符串是否在引號(hào)里面 */
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; //發(fā)現(xiàn)引號(hào)
19
}
20
return 0; //沒(méi)有發(fā)現(xiàn)引號(hào)
21
}
22
void cut_add ( )
23
{
24
char c,temp;
25
bool f1,f2,f3;
26
f1=f2=f3=false; // f1標(biāo)記block注釋,f2標(biāo)記引號(hào),f3標(biāo)記line注釋
27
while ( cin.get(c) )
28
{
29
if ( !qutation(c,f2,f1) ) // 沒(méi)有出現(xiàn)引號(hào)
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
/*當(dāng)沒(méi)有找到注釋的開頭時(shí),執(zhí)行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
/*判斷注釋結(jié)尾*/
51
if ( c=='*' )
52
{
53
cin.get(temp);
54
if ( temp=='/' )
55
f1=false; //關(guān)閉block注釋
56
else
57
{
58
cout<<c;
59
cin.putback(temp);
60
}
61
}
62
else
63
if ( c=='\n' )
64
{
65
f3=false; //關(guān)閉line注釋
66
cout<<c;
67
}
68
}
69
}
70
}
71
int main ( )
72
{
73
cut_add();
74
}
我不知道什么原因,手動(dòng)輸入可以的,但是用文件輸入輸出的話,輸出就停不了了。。。。
題目:
就是給你個(gè).cpp文件,這是加注釋的,然后讓你生成一個(gè).txt文件,除去代碼的注釋。
用命令行輸入:
erasecomment < DataIn.cpp > result.txt