行編輯問題的實現

2021-09-30 12:35:32 字數 801 閱讀 9611

這個問題主要是解決當使用者發現剛剛鍵入乙個是錯誤字元時,他可以補進乙個"#",以表示前面乙個字元無效;當發現錯誤較多時可以補進乙個」@「,以表示當前行中的字元均無效。

#include #include#define maxsize 128

typedef struct sqstacksqstack;

void initstack(sqstack * s)

void push(sqstack * s, char x)

else }

void pop(sqstack * s, char e)

else

}int stackempty(sqstack * s)

void clearstack(sqstack *s)

void destorystack(sqstack * s)

void printstack(sqstack * s)

printf("正確的數列為:");

int j, temp;

for (j = length, i = 0; j >= 0 && i != j; j--, i++)

for (i = 0; i <=length; i++) }

void lineedit()

ch = getchar();

} printstack(s);

clearstack(s);

if (ch != eof) ch = getchar();

destorystack(s);

}void main()

行編輯命令的實現。

問題分析 行編輯命令 輸入一段話,若輸入 則表示前乙個無效,若輸入 則表示這段話作廢。語言實現 標頭檔案部分 pragma once define stack size 50 typedef char elemtype include includeusing namespace std typed...

行編輯器的簡易C 實現

說到行編輯器的實現,其實還是主要運用棧的結構特點,具體理論參考 資料結構 嚴蔚敏著 實現 如下 include using namespace std define max size 100 void lineeditor char c1,int length else if c1 i else i...

datagrid不可編輯行有關問題的控制方法

解決方案 寫renderer唄,renderer裡可以拿到你點的這個cell是第幾行和第幾列,根據行列改變datagrid的editable屬性,給你乙個思路 1.renderer裡監聽點選事件 2.事件處理函式中從listdatadata取出行列index,進行判斷 哪一行可編輯這個變數可以通過建...