[ create a new paste ] login | about

Link: http://codepad.org/nkrZDt8c    [ raw code | output | fork ]

C++, pasted on Dec 12:
#include <iostream>
using namespace std;
void procreation(int,void (*run)(char const*,int)); /* 以函數指標為參數 */
void slow_run_shoes(char const*,int);
void leisure_shoes(char const*,int);
void spiked_shoes(char const*,int);
int main()
{
    int procreation_number;/* 生產項目代號1~3 */
    int size;/* 尺寸 */
    procreation_number=2;
    size=8;
    switch(procreation_number)
    {
        case 1:
            procreation(size,slow_run_shoes); /* 參數列中傳入函數slow_run_shoes的位址 */
            break;
        case 2:
            procreation(size,leisure_shoes); /* 參數列中傳入函數leisure_shoes的位址 */
            break;
        case 3:
            procreation(size,spiked_shoes); /* 參數列中傳入函數spiked_shoes的位址 */
            break;
        default:
            cout <<"停止生產!!!" <<endl;
    }
    getchar();
    return 0;
}
void procreation(int size,void (*run)(char const *material,int size))
{
    char const *material; /* 質料名稱 */
    int material_number; /* 質料代號1~3 */
    material_number=3;
    switch(material_number)
    {
        case 1:
            material="布";
            break;
        case 2:
            material="獸皮";
            break;
        case 3:
            material="塑膠";
    }
    (*run)(material,size); /* 呼叫函數指標 */
}
void slow_run_shoes(char const *material,int size)
{
    cout <<"以質料為" <<material <<"、尺寸為" <<size <<"來生產慢跑鞋" <<endl;
}
void leisure_shoes(char const *material,int size)
{
    cout <<"以質料為" <<material <<"、尺寸為" <<size <<"來生產休閒鞋" <<endl;
}
void spiked_shoes(char const *material,int size)
{
    cout <<"以質料為" <<material <<"、尺寸為" <<size <<"來生產釘鞋" <<endl;
}


Output:
1
以質料為塑膠、尺寸為8來生產休閒鞋


Create a new paste based on this one


Comments: