我这个数列求和怎么调用不了自定义函数

#include <stdio.h>
#include <math.h>
int main()
{
    float fun1(int c);
    float fun2(float a1, float b1, float c1);

    int key, n, m;
    float j, k, z, area;
    printf("请输入密码");
    scanf("%d", &key);
    if (key != 111)
        printf("你无权使用");
    else
    {
        printf("**********\n");
        printf("1.数列求和\n2.计算三角形面积\n");
        printf("**********");
        printf("\n");

        printf("请输入序号");
        scanf("%d", &m);
        switch (m)
        {
        case 1:
        {
            printf("2/1 + 3/2 + 5/3 + 8/5 + 13/8 + 21/13 + ...");
            printf("请输入数列项数n   ");
            scanf("%d", n);
            fun1(n);
        }
        case 2:
        {
            printf("请输入三个边长:");
            scanf("%f%f%f", &j, &k, &z);
            area = fun2(j, k, z);
            printf("面积为:%.2f\n", area);
        }
        }
    }
}

float fun1(int c)
{
    double a = 1.0, b = 2.0, t = 0;
    double sum = 0.0;
    int i = 1;
    for (i; i <= c; i++)
    {
        sum = sum + b / a;
        b = a + b;
        t = b;
        a = t;
    }
    printf("数列和为:%lf", sum);
}

float fun2(float a1, float b1, float c1)
{
    float ave;
    float s;
    ave = (a1 + b1 + c1) / 2;
    s = sqrt(ave * (ave - a1) * (ave - b1) * (ave - c1));
    return s;
}

29行scanf("%d", n);少了一个取址符