怎样实现输入一个数对应运行一个函数?

比如说我输入1,,1函数的功能是按数组输入学生信息,,,我输入2,,2函数的功能是按结构体输入信息,,求解

用switch,根据输入调用对应的函数。
参考如下:

参考如下:

#include <stdio.h>

struct StData 
{
    int id;
    char name[20];
};


void fun1()
{
    printf("this is fun1\n");
}
//输入信息,并保存到结构体数组
void fun2(struct StData st[],int n)
{
    int i;
    for (i=0;i<n;i++)
    {
        printf("请输入学生%d的学号:",i+1);
        scanf("%d",&st[i].id);
        printf("请输入学生%d的姓名:",i+1);
        scanf("%s",st[i].name);
    }
}

int main()
{
    int opt;
    struct StData st[100];
    int nmb = 5;
    printf("1.调用函数1\n");
    printf("2.输入学生信息\n");
    printf("3.退出系统\n");
    printf("请选择:");
    scanf("%d",&opt);
    switch(opt)
    {
    case 1:
        fun1();
        break;
    case 2:
        fun2(st,nmb);
        break;
    case 3:
        return 0;
    }
    return 0;
}

用switch语句,不同分支去调用不同的函数执行