就是要做一个电子地图,实现点的添加,删除,修改,查询功能,变量有XY坐标,点的ID,点的name。在MFC中编写,使用结构体数组,数组的容量没有固定值。调用数据通过接口函数。真心求解答,谢谢大家,急!!!
你好,可以稍微详细点吗,是否可以举个真实代码的例子。稍微多一点注释。万分感谢!
追答其实已经很详细了,CArray这样的工具类是很简单的,根据你的要求,只要掌握Add,InsertAt,SetAt,GetAt,RemoveAt 这几个函数就可以了。
那我稍微再改下:
Class MyPoint 或 struct MyPoint //定义点结构体
{
CPos m_pos ; //XY坐标;
UINT m_posID; //点的ID;
CString m_strPosName;点的NAME:
}
CArray m_arrMyPoint; //定义结构体类型数组
需要动态添加时
MyPoint point;
point.m_pos.x = 100;point.m_pos.y = 50; // 假设XY坐标为100,50
point.posID= 99; //点的ID
point.m_strPosName = "A点"; //点的name
添加:
m_arrMyPoint.Add(point); //将点结构体point加入数组末尾,
m_arrMyPoint.InsertAt(0,point); //将点结构体插入数组中0位置
删除:
m_arrMyPoint.RemoveAt(0,1); //从0位置起删除1个结构体
修改:
MyPoint newPoint; //新点结构
m_arrMyPoint.SetAt(0,newPoint); //将原位置为0的point 替换为 newpoint
或直接赋值:
m_arrMypoint.GetAt(0).m_strPosName = "B点"; //直接根据索引0修改该点名称
查询:
这个没有现成功能,自己写个条件遍历吧
for(int i=0; i<m_arrMyPoint.GetSize(); i++) //遍历整个数组
{
if(m_arrMyPoint.GetAt(i).m_strPosName == "X点") //假设查询数组中名称为X点的结构体
{
处理代码。。。 //可对该点属性进行任何处理
}
}
是这样,在MFC中我们做了一个界面,把需要添加的坐标,名称等信息添加到框中点击确定就可以添加了,是不是得用指针来做啊,因为每次添加的时候框中输入的数值是随机的。用指针的话得怎么写呢?万分感谢!
追答添加局部变量或指针都可以
AddFunction() //添加变量
{
MyPoint point;
m_arrMyPoint.Add(point); //将点结构体point加入数组末尾,
}
CArray m_arrMyPoint;//数组定义类型换成结构指针
AddFunction() //添加指针
{
MyPoint* pPoint = new MyPoint;
m_arrMyPoint.Add(pPoint); //将点结构体point指针加入数组末尾,不过用完记得释放
}
可以先写段测试代码,熟悉下CArray的增删改等功能
急!求用C++编写一个使用结构体数组实现添加,删除,修改,查询功能的程 ...
直接用MFC 的 CArray就可以了 实例伪代码:Class MyPoint 或 struct MyPoint { XY坐标;点的ID;点的NAME:} 定义数组 CArray<Mypoint,&Mypoint> m_arrMyPoint;需要动态添加时 MyPoint point;point.XY坐标 = 某值;point.点的ID = 某值;point.点的name = 某值;添加:m_arrMyPoint.Add(...
用C或C++编程实现数据库的查询,添加,删除,修改功能。
printf("\\n添加成功");return h;} f=f->next;e=e->next;}while(1);} struct book *delet(struct book *head) \/*删除记录*\/ { struct book *p,*e;char num[20];if(head==NULL) {printf("未打开任何文件");getchar();return NULL;} printf("请输入要删除的教材编号:");scan...
求用c++的mfc编写一个通讯录,要求能储存姓名 电话,能实现按姓名排序,查 ...
我只提示 用到listview、文件、等知识点。文件存成结构,读取存储要方便些。
急:mfc编程,用C++写一个简易的计算器,有图形界面的..请求各位大虾给出详...
个人的程序步骤,参考下:1.新建一个对话框程序。2.添加计算器的各个按键及编辑框(用来显示输入和结果)3.为对话框添加一些变量:一个状态标志(计算加减乘除),一个标志(对运算两个数的哪个进行处理),两个double变量(用于运算的两个数),用类向导为编辑框绑定一个变量。定义一个计算函数(进行加减乘除...
怎样用vc++编写一个窗口应用程序?
1、首先设计好界面。2、然后编写DoDataExchange程式。3、然后编写OnInitDialog初始化程式。4、然后编写OnSysCommand程式。5、然后编写OnPaint绘制程式。6、最后编写OnSetlock锁程式。
如何用c++写一个windows的记事本???
先建立一个MFC窗体 然后在上面托个文本框(TextBox)建立个菜单,内容是:"文件-保存,另存,关闭,打开";"编辑-撤销,全部删除,查找";"查看-字体"等等 然后判断用户操作对文本框的属性进行操作就可以了 比如要保存,就open一个文件,把文本框.text写进去就可以了 比如:FILE *fp fopen("c:\\abc.txt","...
C++一段正常的程序放入MFC中无法使用
因为MFC的CWnd类重载了WindowFromPoint函数,你在MFC的一个窗口类函数中使用WindowFromPoint,默认会使用CWnd类的函数,而不是windows的API函数。最简单的修改办法,将WindowFromPoint函数声明为顶层作用域:hwndPointNow = ::WindowFromPoint(pNow); \/\/ ::
用c或c++编写一个多级菜单。至少三级。
用c或c++编写一个多级菜单。至少三级。 要求如题目所示,要尽量详细些。最好是能在vc6.0上运行的,谢了,各位。... 要求如题目所示,要尽量详细些。最好是能在vc6.0上运行的,谢了,各位。 展开 我来答 4个回答 #热议# 已婚女性就应该承担家里大部分家务吗? 鲜钧eU 2009-07-17 · TA获得超过30...
在C++MFC中如何删除一个字符串变量的最后一位
给你个思路,你可以这样,取得字符串长度,然后截取子字符串到最后一位的前面,最后把这个子字符串赋给原来的字符串。
想用C语言编写一个有可视化的界面,有按钮,有输入框的程序
可以用MFC做界面,在Visual C++新建》项目》MFC AppWizard(exe)》dialog based》下面都默认,就能建立一个MFC工程。可以添加控件,控件响应的原理与VB中的类似,建议你找本MFC的教材仔细了解其原理