Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

關於輸入運算的問題

0 views
Skip to first unread message

Altera

unread,
Mar 30, 1999, 3:00:00 AM3/30/99
to
All:
我是個BCB新手,請各位幫忙
我先前用Turbo C++寫了一個作二進位運算的程式(Convelutional Coding)
比方說:
輸入:1
輸出:111
輸入:101011
輸出:111100010100010011
在DOS下,每輸入一個需按一下Enter


現在,我想把程式改成有Windows介面,我利用了兩個TEdit,個別做為Input與
Output
還有一個按鈕,按下時會出現輸出的結果.
可是TEdit.Text是Char Type,我要如何將直接輸入在TEdit中的內容一一取出
來作整數運算呢?
請問我要如何才能在一個Tedit中輸入二進位數字,而在另一個TEdit中出現
結果呢?

這是我先前寫的程式,可否幫我看看哪裡錯了,因為輸出都不對.....
需要利用<<或>>嗎?
還是利用for迴圈將TEdit.Text[i+!]一個一個作運算?
有什麼做法較好,希望大家提供解決方法.....thank

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i,x;
int x1[100],x2[100],x3[100],m[3]={0,0,0};
Char *temp=new Char[Edit1->Text.Length()+1];
int *output=new int[3*(Edit1->Text.Length())+1];
strcpy(temp,Edit1->Text.c_str());
for(i=0;i<Edit1->Text.Length()+1;i++)
{
m[2]=m[1];
m[1]=m[0];
m[0]=temp[i];
if(m[0]==m[1])
x=0;
else
x=1;
if(x==m[2])
x1[i]=0;
else
x1[i]=1;
x2[i]=m[0];
if(m[0]==m[2])
x3[i]=0;
else
x3[i]=1;
}
for(i=0;i<3*(Edit1->Text.Length())+1;i++)
{
output[i]=x3[i];
output[i+1]=x2[i];
output[i+2]=x1[i];
}
Edit2->Text=output;
}


BCB新手.....
謝謝大家


0 new messages