structure
时间:2008-05-09 19:07:18
来源:论坛整理 作者: 编辑:chinaitzhe
附件里面有需要我编的程序
简单说下 就是写个程序 先输入你要输入多少人的信息 然后建立相应数目的struct
然后将这些信息存到struct的Array里面
问题出现建立相应数目的struct这里
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; struct pro { AnsiString name; AnsiString topic; int number; int fee; }; int x; pro *array; void build(pro arr[],int &x) { x=Form1->Edit1->Text.ToInt(); arr=new pro[x]; } void add(pro arr[],int x) { //ShowMessage( arr[0].name); for (int i=0; i <=x; i ) { arr[i].name=Form1->Edit3->Text; arr[i].number=Form1->Edit4->Text.ToInt(); arr[i].topic=Form1->Edit5->Text; arr[i].fee=Form1->Edit6->Text.ToInt(); } } void display(pro array[],int x) { for (int i=0; i < 1; i ) { Form1->Memo1->Lines->Add( array[i].name AnsiString ('/') array[i].number AnsiString ('/') array[i].topic AnsiString ('/') array[i].fee); } } //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //build(array,x); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { add(array,x); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { display(array,x); }
不知道我的描述是否清楚 问题应该就是在建立array这里 白死不得其解 还请个位前辈指点 谢谢
网友回复:问题应该就在这里
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ void build(pro arr[],int &x) { x=Form1->Edit1->Text.ToInt(); arr=new pro[x]; }
该如何解决?
网友回复:Form1->Edit1->Text.ToInt();
你窗体上有没有TEdit 类的控件呢?
网友回复:参数 : pro arr[],这样不行的。
网友回复:void build(pro *&arr,int &x);
网友回复:
void build(pro *&arr,int &x)//注重此处改动
{
x=Form1->Edit1->Text.ToInt();
arr = new pro[x];
}
void add(pro *arr,int x)//注重参数改为指针
{
for(int i=0;i <x;i )//注重i <=x 改为 i <x,否则会越界
{
arr[i].name = Form1->Edit3->Text;
arr[i].number = Form1->Edit4->Text.ToInt();
arr[i].topic = Form1->Edit5->Text;
arr[i].fee = Form1->Edit6->Text.ToInt();
}
}
void display(pro *array,int x)//参数改为指针
{
for(int i=0;i <1;i )//这里看不出你想干什么,为什么i <1而不是i <x
{
Form1->Memo1->Lines->Add(array[i].name AnsiString ('/')
array[i].number AnsiString ('/')
array[i].topic AnsiString ('/')
array[i].fee);
}
}
网友回复:非常感谢 星光半月 问题解决 同时也感谢3楼的朋友
之前的代码还有个逻辑上的问题
现在附上正确代码(还没让老师检查,不过个人认为没什么打的问题了) 希望能对和我一样的菜菜有所帮助
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; struct pro { AnsiString name; AnsiString topic; int number; int fee; }; int x; int y; pro *array; void build(pro *&arr,int &x) { x=Form1->Edit1->Text.ToInt(); arr=new pro[x]; Form1->Edit2->Text=0; } void add() { array[y].name=Form1->Edit3->Text; array[y].number=Form1->Edit4->Text.ToInt(); array[y].topic=Form1->Edit5->Text; array[y].fee=Form1->Edit6->Text.ToInt(); y ; Form1->Edit2->Text=y; Form1->Edit3->Clear(); Form1->Edit4->Clear(); Form1->Edit5->Clear(); Form1->Edit6->Clear(); } void display() { Form1->Memo1->Clear(); for (int i=0; i < y; i ) { Form1->Memo1->Lines->Add( array[i].name AnsiString ('/') array[i].number AnsiString ('/') array[i].topic AnsiString ('/') array[i].fee); } } void search() { AnsiString sear=Form1->Edit8->Text; for (int i = 0; i < x; i ) { if (array[i].topic==sear) { Form1->Memo2->Lines->Add( array[i].name AnsiString ('/') array[i].number AnsiString ('/') array[i].topic AnsiString ('/') array[i].fee); } } } //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { build(array,x); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { add(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { display(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button6Click(TObject *Sender) { search (); } //---------------------------------------------------------------------------
关键字:structure,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面