第16周【项目 3-用函数指针调用函数】

问题描述:

  将下面的程序补充完整(包括定义函数),使其能够完成图示的功能。请使用已有程序的风格。

void eat();
void sleep();
void hitdoudou();
void run(void (*f)());
int main()
{
int iChoice;
do
{
cout<<"请选择(1-吃;2-睡;3-打;其他-退)";
cin>>iChoice;
if(iChoice==1)
run(eat);
else if(...)
...
}
while(true);
return 0;
}

例如

代码:

#include <iostream>
#include <cstdio>
using namespace std;
void eat();
void sleep();
void hitdoudou();
void run(void (*f)());
int main()
{
    int iChoice;
    do
    {
        cout<<"请选择(1-吃;2-睡;3-打;其他-退)"<<'\n';
        cin>>iChoice;
        if(iChoice==1)
            run(eat);
        else if(iChoice==2)
            run(sleep);
        else if(iChoice==3)
            run(hitdoudou);
        else
            break;
    }
    while(true);
    return 0;
}


void eat()
{
    cout<<"我吃吃吃... ..."<<endl;
}

void sleep()
{
    cout<<"我睡睡睡... ..."<<endl;
}

void hitdoudou()
{
    cout<<"我不打还能干什么... ..."<<endl;
}

void run(void(*f)())
{
    f();
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值