全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2865
推到 Plurk!
推到 Facebook!

[BCB] 關於Switch之運作問題

答題得分者是:Stallion
leon17
一般會員


發表:5
回覆:14
積分:3
註冊:2006-12-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-06 19:26:13 IP:140.121.xxx.xxx 訂閱
不好意思阿
我本身的問題是這樣的
希望做完題目後~總分會加上評語
於是設計了七道題目~分配如下
題號 題數 配分
1 5 (5、4、3、2、1)
2 5 (5、4、3、2、1)
3 3 (5、3、1)
4 5 (5、4、3、2、1)
5 3 (5、3、1)
6 5 (5、4、3、2、1)
7 5 (5、4、3、2、1)
然後有五種類型的評語A、B、C、D、E
所以評分標準是↓
( 評語-分數 )
A-7
B-8~20
C-21
D-22~34
E-35
做了PageControl~ (7個問題表單 1個結果表單)
<程式碼如下>
-----------------------------------------------------
void __fastcall TTest_3::PageControl1Change(TObject *Sender)
{
if(PageControl1->ActivePageIndex==7)
{
int k0,k;
k0=
Edit1->Text.ToIntDef(0)
Edit2->Text.ToIntDef(0)
Edit3->Text.ToIntDef(0)
Edit4->Text.ToIntDef(0)
Edit5->Text.ToIntDef(0)
Edit6->Text.ToIntDef(0)
Edit7->Text.ToIntDef(0);
if(k0>=5 && k0<=35)
k=k0/7;
switch (k)
{
case 4:
Label1->Caption=IntToStr(k0);
Label4->Caption="E";
break;
case 3:
Label1->Caption=IntToStr(k0);
Label4->Caption="D";
break;
case 2:
Label1->Caption=IntToStr(k0);
Label4->Caption="C";
break;
case 1:
Label1->Caption=IntToStr(k0);
Label4->Caption="B";
break;
default:
Label1->Caption=IntToStr(k0);
Label4->Caption="A";
break;
}
}
}
-----------------------------------------------------
但這樣都無法顯示出正確的得分對應
.請問該怎麼修改呢?
謝謝
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-06 23:18:57 IP:211.22.xxx.xxx 未訂閱
Upload your code if you want to, some nice guy will debug your code.
leon17
一般會員


發表:5
回覆:14
積分:3
註冊:2006-12-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-07 15:47:48 IP:140.121.xxx.xxx 訂閱
http://fileho.com/download/4c6444517718/BCB1.rar.html
我放上來了
有疑問的表單名字為Test3
請各位前輩不吝指正~謝謝
PS:此外不知是否能解決TabSheet1的選項選擇後.....才能接續換到TabSheet2作答之問題
謝謝

===================引 用 文 章===================
Upload your code if you want to, some nice guy will debug your code.
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-07 21:03:11 IP:211.22.xxx.xxx 未訂閱
1.把 test3 的 Form 在 Project->Options 從 Auto-Create Form 改成 Available Form 之後
//---------------------------------------------------------------------------
void __fastcall TName_2::Button3Click(TObject *Sender)
{
// Name_2->Hide();
{
Test_3->ShowModal();
__finally
Test_3->Free();
TRadioButton *aButton;

switch (aButton->Tag)
{
case 1: Edit1->Text= 5;break;
case 2: Edit1->Text= 4;break;
case 3: Edit1->Text= 3;break;
case 4: Edit1->Text= 2;break;
case 5: Edit1->Text= 1;break;
case 6: Edit2->Text= 5;break;
case 7: Edit2->Text= 4;break;
case 8: Edit2->Text= 3;break;
case 9: Edit2->Text= 2;break;
case 10: Edit2->Text= 1;break;
case 11: Edit3->Text= 5;break;
case 12: Edit3->Text= 3;break;
case 13: Edit3->Text= 1;break;
case 14: Edit4->Text= 5;break;
case 15: Edit4->Text= 4;break;
case 16: Edit4->Text= 3;break;
case 17: Edit4->Text= 2;break;
case 18: Edit4->Text= 1;break;
case 19: Edit5->Text= 5;break;
case 20: Edit5->Text= 3;break;
case 21: Edit5->Text= 1;break;
case 22: Edit6->Text= 5;break;
case 23: Edit6->Text= 4;break;
case 24: Edit6->Text= 3;break;
case 25: Edit6->Text= 2;break;
case 26: Edit6->Text= 1;break;
case 27: Edit7->Text= 5;break;
case 28: Edit7->Text= 4;break;
case 29: Edit7->Text= 3;break;
case 30: Edit7->Text= 2;break;
case 31: Edit7->Text= 1;break;
}
}
//---------------------------------------------------------------------------


{
}
//---------------------------------------------------------------------------

{
int Count;

pTabSheet = ((TPageControl *)Sender)->ActivePage;
{
{
{
return;
}
}
//---------------------------------------------------------------------------
leon17
一般會員


發表:5
回覆:14
積分:3
註冊:2006-12-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-07 21:50:32 IP:140.121.xxx.xxx 訂閱
Stallion大
感謝您百忙之中抽空看我的作業Q_Q
也修正很多程式碼
但我有一項地方看不懂
{
}
是直接在cpp輸入就好
以及為什麼只要TabSheet1填入答案後~其他TabSheet都會預設答案了
再次謝謝您:p
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-07 21:55:25 IP:211.22.xxx.xxx 未訂閱
使用 Object inspector 產生 Test_3 Form 的 OnClose 事件即可。
leon17
一般會員


發表:5
回覆:14
積分:3
註冊:2006-12-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-01-07 22:01:34 IP:140.121.xxx.xxx 訂閱
那請問為什麼只要TabSheet1填入答案後~其他TabSheet都會預設答案了 <之前就會這樣了>
的確粉詭異@@
謝謝
===================引 用 文 章===================
使用 Object inspector 產生 Test_3 Form 的 OnClose 事件即可。

Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-01-07 22:09:23 IP:211.22.xxx.xxx 未訂閱
應該是你所有的Radio Button共用一個On Click的事件所致。
提供一個思考改善的方向:
1.維持每個 RadioButton 的 Tag值,但是把所有的On Click事件關連拿掉。
2.在經過每個Page裏面的RadioButton經過檢查都已經選擇了後,在選擇最後一頁時,運用一個類似OnChanging裏面寫法,應用Loop把所有的TEdit裏面的值再來加總算出結果。
leon17
一般會員


發表:5
回覆:14
積分:3
註冊:2006-12-31

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-07 22:16:04 IP:140.121.xxx.xxx 訂閱
好的~Stallion大大
感激不盡

===================引 用 文 章===================
應該是你所有的Radio Button共用一個On Click的事件所致。
提供一個思考改善的方向:
1.維持每個 RadioButton 的 Tag值,但是把所有的On Click事件關連拿掉。
2.在經過每個Page裏面的RadioButton經過檢查都已經選擇了後,在選擇最後一頁時,運用一個類似OnChanging裏面寫法,應用Loop把所有的TEdit裏面的值再來加總算出結果。
系統時間:2024-05-07 21:06:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!