首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++编程兑现各个功能顺序执行

2013-01-07 
C++编程实现各个功能顺序执行我想编个程序,将已有的一些功能组合起来:比如功能一和功能二,他们都有各自执

C++编程实现各个功能顺序执行
我想编个程序,将已有的一些功能组合起来:比如功能一和功能二,他们都有各自执行按钮一和按钮二;点按钮一执行功能一,点按钮二执行功能二。现在想点按钮一或二,再点按钮一或二,再点按钮一或二。。。。。,等我点完后点击一个执行按钮,可以执行点的功能。
请问高手,用C++可以实现吗?还是要用别的语言?请具体解答。不会的劳驾不要凑热闹,感激不尽。
[解决办法]
MFC可以实现 设置好最后执行的条件即可
[解决办法]
这种东西跟设置的条件有关跟语言没什么关系吧,如果设置良好的逻辑关系应该能实现的
[解决办法]
通常为每个控件绑定一个布尔变量,根据你的选择动态改变其值即可,然后执行与否根据这个值进行判断
[解决办法]
用C++,有很多种办法可以实现楼主的想法。
如果是1L所说的Windows平台上有按钮这样的界面的话,你可以通过sendMessage或者postMessage这样的方式,来实现。

如果不考虑界面,你可以用函数指针这样的办法来实现。
[解决办法]
给一个用函数指针模拟实现的具体例子,供参考:


#include <map>
#include <iostream>
using namespace std;

typedef void (*fptr)(int);      // 定义函数指针类型fptr,fptr代表的函数没有返回值,有一个int参数。

void function1(int i)// 第一个函数
{
cout << "This is function..." << i << endl;
}

void function2(int i)// 第二个函数
{
cout << "This is function..." << i << endl;
}

void function3(int i)// 第三个函数
{
cout << "This is function3..." << i << endl;
}

int main(int argc, char* argv[])
{
int i = 0;
map<int, fptr> fmap;
fmap.insert(pair<int, fptr>(1, function1));     // 将函数function1的指针放到fmap中
fmap.insert(pair<int, fptr>(2, function2));     // 将函数function2的指针放到fmap中
fmap.insert(pair<int, fptr>(3, function3));     // 将函数function3的指针放到fmap中

do
{
// 选择需要执行的函数
cout << "Please enter which function you want to run: " << endl;
cin >> i;// 接收输入,用于指定执行那个函数
if(i < 1 
[解决办法]
 i >3)// 如果输入的数字不是1到3(包括1和3)之间的数字,则退出循环
{
cout << "Please select integer number between 1 and 3(inclusive)..." << endl;
break;
}

fmap.find(i)->second(i);// 通过函数指针调用指定的函数
cout << "======================" << endl;
cout << endl;
}while(true);
}


[解决办法]
使用WTL吧,很容易的,随便找个例子改一改就可以实现了。
[解决办法]
引用:
给一个用函数指针模拟实现的具体例子,供参考:

C/C++ code

#include <map>
#include <iostream>
using namespace std;

typedef void (*fptr)(int);      // 定义函数指针类型fptr,fptr代表的函数没有返回值,有一个int参数。

void function1(int i)  ……


你的map用的很巧妙,但是你没明白楼主的意思

他现在是想搞成点了1、2、3之后,然后再点一个按钮,这些函数1、2、3就顺序执行的

我觉得这个不难做,控制好程序逻辑即可
------解决方案--------------------


也感觉和语言没关系
控制好业务逻辑
[解决办法]
用组合模式设计成自动状态机形式.

热点排行
Bad Request.