用Button |
尚未結案
|
cokoadsl
一般會員 ![]() ![]() 發表:1 回覆:1 積分:0 註冊:2012-03-30 發送簡訊給我 |
|
s92405054
高階會員 ![]() ![]() ![]() ![]() 發表:7 回覆:49 積分:101 註冊:2009-04-07 發送簡訊給我 |
上、下一筆可透過另一個全域變數來當作目前所在的index,
上一筆就減一,下一筆就加一最多不能加超過你目前的Cur_Num, 至於刪除就直接把當前index上的結構初始化,並將所有資料搬移, Cur_Num-- 就好了,修改就利用Std[index]來修改就好囉~ 建議~利用指標來指向結構陣列比較好一點(個人建議並非絕對^^") ===================引 用 cokoadsl 文 章=================== 想寫一個能輸入成績資料 功能有新增(最多10筆)、顯示、修改、刪除(最少0筆)、調閱資料上一筆和下一筆 目前新增和顯示寫出來了,都正確喔! 各位大大幫個忙= =''研究好久了! 感激不盡^^~ 以下是我寫的程式碼 ------------------------------------------------------------------------- Std=Student (簡略) 標頭檔的部份 #define MAX_STD_NUM 10 struct STUDENT_INFO { int No; String Name, Adr, Memo; float Chi, Eng, Math; }; public區的部份 void Initial(); //變數初始 void ShowData(); //顯示資料 void AddData(); //新增資料 void ModifyData();//修改資料 //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Initial(); //將變數初始 } //--------------------------------------------------------------------------- void TForm1::Initial() { Cur_Num=0; for(int i=0;i
{ Std[i].No=i 1; Std[i].Name="無名氏"; Std[i].Chi=0; Std[i].Eng=0; Std[i].Math=0; Std[i].Adr="新北市"; Std[i].Memo="無"; } } //------------------------------------------------------------- void TForm1::ShowData() { for(int i=0;i< Cur_Num;i ) { Memo1->Lines->Add("學號:" IntToStr(Std[i].No)); Memo1->Lines->Add("姓名:" Std[i].Name); Memo1->Lines->Add("國文:" FloatToStr(Std[i].Chi)); Memo1->Lines->Add("英文:" FloatToStr(Std[i].Eng)); Memo1->Lines->Add("數學:" FloatToStr(Std[i].Math)); Memo1->Lines->Add("住址:" Std[i].Adr); Memo1->Lines->Add("備註:" Std[i].Memo); Memo1->Lines->Add("===================="); } } //-------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { ShowData(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { AddData(); } //--------------------------------------------------------------------------- void TForm1::AddData() { if ((Cur_Num 1)>=MAX_STD_NUM ) { ShowMessage("超過最大資料筆數"); return; } Std[Cur_Num].Name=Edit2->Text; Std[Cur_Num].Adr=Edit6->Text; Std[Cur_Num].Memo=Edit7->Text; Std[Cur_Num].Chi=StrToFloat(Edit3->Text); Std[Cur_Num].Eng=StrToFloat(Edit4->Text); Std[Cur_Num].Math=StrToFloat(Edit5->Text); Cur_Num ; } //----------------------------------------------------------- 目前就修改和刪除以及上一筆和下一筆卡關了~"~ |
cokoadsl
一般會員 ![]() ![]() 發表:1 回覆:1 積分:0 註冊:2012-03-30 發送簡訊給我 |
這位大哥,真的很謝謝您!
我發了好多論壇~"~只有你肯指點一下,謝謝感恩。 ===================引 用 s92405054 文 章=================== 上、下一筆可透過另一個全域變數來當作目前所在的index, 上一筆就減一,下一筆就加一最多不能加超過你目前的Cur_Num, 至於刪除就直接把當前index上的結構初始化,並將所有資料搬移, Cur_Num-- 就好了,修改就利用Std[index]來修改就好囉~ 建議~利用指標來指向結構陣列比較好一點(個人建議並非絕對^^") ===================引 用 cokoadsl 文 章=================== 想寫一個能輸入成績資料 功能有新增(最多10筆)、顯示、修改、刪除(最少0筆)、調閱資料上一筆和下一筆 目前新增和顯示寫出來了,都正確喔! 各位大大幫個忙= =''研究好久了! 感激不盡^^~ 以下是我寫的程式碼 ------------------------------------------------------------------------- Std=Student (簡略) 標頭檔的部份 #define MAX_STD_NUM 10 struct STUDENT_INFO { int No; String Name, Adr, Memo; float Chi, Eng, Math; }; public區的部份 void Initial(); //變數初始 void ShowData(); //顯示資料 void AddData(); //新增資料 void ModifyData();//修改資料 //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Initial(); //將變數初始 } //--------------------------------------------------------------------------- void TForm1::Initial() { Cur_Num=0; for(int i=0;i
{ Std[i].No=i 1; Std[i].Name="無名氏"; Std[i].Chi=0; Std[i].Eng=0; Std[i].Math=0; Std[i].Adr="新北市"; Std[i].Memo="無"; } } //------------------------------------------------------------- void TForm1::ShowData() { for(int i=0;i< Cur_Num;i ) { Memo1->Lines->Add("學號:" IntToStr(Std[i].No)); Memo1->Lines->Add("姓名:" Std[i].Name); Memo1->Lines->Add("國文:" FloatToStr(Std[i].Chi)); Memo1->Lines->Add("英文:" FloatToStr(Std[i].Eng)); Memo1->Lines->Add("數學:" FloatToStr(Std[i].Math)); Memo1->Lines->Add("住址:" Std[i].Adr); Memo1->Lines->Add("備註:" Std[i].Memo); Memo1->Lines->Add("===================="); } } //-------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { ShowData(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { AddData(); } //--------------------------------------------------------------------------- void TForm1::AddData() { if ((Cur_Num 1)>=MAX_STD_NUM ) { ShowMessage("超過最大資料筆數"); return; } Std[Cur_Num].Name=Edit2->Text; Std[Cur_Num].Adr=Edit6->Text; Std[Cur_Num].Memo=Edit7->Text; Std[Cur_Num].Chi=StrToFloat(Edit3->Text); Std[Cur_Num].Eng=StrToFloat(Edit4->Text); Std[Cur_Num].Math=StrToFloat(Edit5->Text); Cur_Num ; } //----------------------------------------------------------- 目前就修改和刪除以及上一筆和下一筆卡關了~"~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |