-
-
[求助]这个题目的VC实现思路是怎样的?(已经实现,附上了源码)
-
发表于:
2011-11-1 21:52
5333
-
[求助]这个题目的VC实现思路是怎样的?(已经实现,附上了源码)
要求写如下功能的程序
写一个简单的系统,要求如下:
模拟一个公路系统,公路分2种,主结点跟副结点
主结点用一种表示符号(矩形等)
副结点用另一种表示符号(比如椭圆或者自己定义)
每个主,副结点之间都可以连线,表示这2个结点之间目前所拥有的公交车的数量,这个数量可以手动修改
要求可以添加主结点,副结点,可以在某2个结点之间画线并标记这2个结点之间的车辆数目
要求可以删除结点
每次运行程序的时候,可以一目了然的看到某2个结点之间的车辆数目,也就是把连接的2个结点之间的车辆数目标记出来。
个人思路:定义个菜单,添加主结点,副结点,连线
当点击主结点的时候鼠标变成十字状可以让用户在客户区绘制一个矩形表示主结点,然后需要给这个矩形添加上名字表示此结点的名字(这里名字不晓得如何添加,矩形不是控件没消息响应)
同理副结点也一样,用椭圆表示。
点击连线,可以让用户手动去画线来连接2个结点(可以是任意2个结点),连接完毕之后需要在线上填写这2个结点之间的车辆数目(这里该如何实现呢)
由于每次运行需要把画好的结点,连线,车辆数目。。。给显示出来,因此需要保存信息。
想到用2个结构体来存储:
struct main_node
{
bool node_flag;//为真表示主结点,假表示副结点
char nodename[MAX_PATH];
int left,top,right,bottom;
}
以上用来记录每个主,副结点的位置,名称
还需要定义另外的结构体来存储连线的状态,跟这条线上标记的车辆数目
struct line_state
{
POINT x,y;//连线的起始点坐标
int carcount;//这条线上的车辆数目
}
有了以上结构体后,需要保存到配置文件中,分别写到2个配置文件
一个用来标记结点的位置跟名字
[结点名字]
node_flag=?
left=?
top=?
right=?
bottom=?
另外一个配置文件用来存储连线,车辆数目
[lineone]
POINT X=?
POINT Y=?
int carcount=?
.....
每次运行的时候读取配置文件,然后在客户区根据配置文件信息去画主,副结点,画连线,去标记车辆数目。。。。
以上是我的比较愚笨的方式,里面还有几个问题不知道该如何解决呢,,,不晓得能不能实现。。。
对这个问题大家有什么思路吗,欢迎交流,谢谢大家先!!!
[课程]Linux pwn 探索篇!