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);
}