專案 注釋轉換

2021-08-19 23:03:36 字數 2134 閱讀 2298

此次的注釋轉換就是將c語言中的注是轉換成c++的注釋。

一、注釋轉換的基本思路

在注釋轉換中,將會遇到5種狀態(普通狀態、遇到\狀態、c++注釋狀態、c注釋狀態、遇到*狀態):

1.以普通狀態(normal)開始,如果遇到 / 將進入遇到/狀態(found_slash),否則將繼續處於normal狀態 ;

2.進入 /狀態(foungd_slash)後,繼續獲取字元,如果遇到 *將進入c注釋狀態(c_comment)、如果遇到 /將進入c++注釋狀態(cpp_comment)、除這倆種以外將返回普通狀態(normal);

3.進入c注釋狀態(c_comment)後,繼續獲取字元,如果遇到* 將進入遇到*狀態(found_star),否則繼續保持c注釋(c_comment);

注:進入c注釋後,將要判斷是否遇到 \n,如果遇到,將輸入\n和\\;

4.進入c++注釋(cpp_comment)後,繼續獲取字元,如果遇到遇到 \n將進入普通狀態(normal),否則繼續保持c++注釋狀態(cpp_comment)。

5.進入*狀態(found_star)後將繼續進行獲取字元,如果遇到*將繼續處於*狀態(found_star),如果遇到 /將進入普通狀態(normal),除此之外,將返回c注釋狀態(c_comment)。

在以上**中,如果是試圖檢視下乙個字元時,用完記得要進行歸還。

二、注釋轉換思路圖

三、注釋轉換模擬檔案

//1.一般情況

/* int i = 0; */

// 2.換行問題

/* int i = 0; */int j = 0;

/* int i = 0; */

int j = 0;

// 3.匹配問題

/*int i = 0;/****xx*/

// 4.多行注釋問題

/* int i=0;

int j = 0;

int k = 0;

*/int k = 0;

// 5.連續注釋問題

/**//**/

// 6.連續的**/問題

/***/

// 7.c++注釋問題

// /*******x

四、注釋轉換程式**

#include#includetypedef enum statestate;

void commentconvert(file* input,file* output)

switch(state)else

break;

case found_slash:

if(ch == '*')else if(ch == '/')else

break;

case cpp_comment:

if(ch == '\n')else

break;

case c_comment:

if(ch == '*')else if(ch == '\n')else

break;

case found_star:

if(ch == '*')else if(ch == '/')else

}else

break;}}

} int main()

五、程式輸出結果

//1.一般情況

// int i = 0;

// 2.換行問題

// int i = 0;

int j = 0;

// int i = 0;

int j = 0;

// 3.匹配問題

//int i = 0;/****xx

// 4.多行注釋問題

//// int i=0;

// int j = 0;

// int k = 0;

// int k = 0;

// 5.連續注釋問題

////

// 6.連續的**/問題

//*// 7.c++注釋問題

// /*******x

注釋轉換專案

注釋轉換 由c語言的注釋全部轉換為c 的注釋風格。從input.c檔案裡讀取的內容注釋轉換儲存到output.c檔案中。狀態圖為 通常採用switch case語句來處理。input.c檔案裡的內容為 1.一般情況 int i 0 2.換行問題 int i 0 int j 0 int i 0 int...

小專案 注釋轉換

功能 將c注釋轉換為c 注釋 有普通 c cpp 結束四種狀態,各狀態轉換條件如下 status 定義列舉型別,表示四種狀態 include include convert.h enum sta status nulstat 將 狀態預製為普通狀態 void test nulstat file ip...

(C) 專案 注釋轉換

以下是 區 comment convert.h 標頭檔案 pragma once define input input.c define output output.c enum sta status 定義列舉型別,表示四種不同的狀態 void comment convert main file i...