C语言结课提问,求帮

C语言结课,按照b站上一个视频打的,视频上到这里是能运行了,我这里还在报错,真找不到问题在哪,帮帮忙555

#include<stdio.h>
#include<conio.h>//getch()的头文件
#include<stdlib.h>//malloc()的头文件
int main()
{
    while (1)
    {
        printf("--------------------------------------------------\n");
        printf("------     welcome to 科技项目管理系统      ------\n");
        printf("--------------------------------------------------\n");
        printf("------              1.录入项目信息:        ------\n");
        printf("------              2.录入成员信息:        ------\n");
        printf("------              3.可完成审批:          ------\n");
        printf("------              4.添加项目:            ------\n");
        printf("------              5.删除项目:            ------\n");
        printf("------              6.查询项目:            ------\n");
        printf("------              7.保存项目:            ------\n");
        printf("--------------------------------------------------\n");
        printf("请输入选择:");
        char ch = getch();//从键盘获取一个字符,终止while1)的死循环,并getch()不需要用户输入回车

        switch (ch)
        {
        case'1':
            InputInformation();//调用项目编号函数
            break;//getch()读取的字符,所以case1’需要用单引号,以下同理
        case'2':break;
        case'3':break;
        case'4':break;
        case'5':break;
        case'6':break;
        case'7':break;
        }
    }
    return 0;
}



//录入项目信息
void InputInformation()//定义项目信息的函数
{
    //创建一个新结点
    struct Node *pNewNode = (Node*)malloc(sizeof(Node));
    pNewNode->pNext = NULL;
    //头插法
    if (pNewNode == NULL)
    {
        g_pHead = pNewNode;
    }//如果头结点为空,则新节点为头结点
    else
    {
        pNewNode->pNext = g_pHead;
        g_pHead = pNewNode;
    }//如果头结点不为空,则新结点为头结点



    printf("请输入项目编号:\n");
    scanf("%s", pNewNode->Pro.number);

    printf("请输入项目名称:\n");
    scanf("%s", pNewNode->Pro.name);

    printf("请输入项目申报时间:\n");
    scanf("%f", pNewNode->Pro.time);

    printf("请输入项目负责人:\n");
    scanf("%s", pNewNode->Pro.boss);

    printf("请输入项目预算金额:\n");
    scanf("%f", pNewNode->Pro.money);

    printf("请输入项目审批状态:\n");
    scanf("%d", pNewNode->Pro.state);

    printf("录入成功!");
    system("pause");
}



//定义一个项目
typedef struct _Project//typedef另外命名
{
    char number[50];
    char name[20];
    double time;
    char boss[20];
    double money;
    int state;
}Project;



//结点
typedef struct _Node
{
    struct Project Pro;
    struct _Node* pNext;//指向下一个结点
}Node;



//函数声明
void InputInformation();//声明项目信息的函数



//头结点
Node *g_pHead = NULL;

补上报错:

img

img

报啥错啊?这个void InputInformation()实现代码之后的结构体,函数申明,全局变量都应该放到main函数前面啊

#include<stdio.h>
#include<conio.h>//getch()的头文件
#include<stdlib.h>//malloc()的头文件

//定义一个项目
typedef struct _Project//typedef另外命名
{
    char number[50];
    char name[20];
    double time;
    char boss[20];
    double money;
    int state;
}Project;
//结点
typedef struct _Node
{
    Project Pro;
    struct _Node* pNext;//指向下一个结点
}Node;
//函数声明
void InputInformation();//声明项目信息的函数
//头结点
Node *g_pHead = NULL;


int main()
{
    while (1)
    {
        printf("--------------------------------------------------\n");
        printf("------     welcome to 科技项目管理系统      ------\n");
        printf("--------------------------------------------------\n");
        printf("------              1.录入项目信息:        ------\n");
        printf("------              2.录入成员信息:        ------\n");
        printf("------              3.可完成审批:          ------\n");
        printf("------              4.添加项目:            ------\n");
        printf("------              5.删除项目:            ------\n");
        printf("------              6.查询项目:            ------\n");
        printf("------              7.保存项目:            ------\n");
        printf("--------------------------------------------------\n");
        printf("请输入选择:");
        char ch = getch();//从键盘获取一个字符,终止while1)的死循环,并getch()不需要用户输入回车
        switch (ch)
        {
        case'1':
            InputInformation();//调用项目编号函数
            break;//getch()读取的字符,所以case1’需要用单引号,以下同理
        case'2':break;
        case'3':break;
        case'4':break;
        case'5':break;
        case'6':break;
        case'7':break;
        }
    }
    return 0;
}
//录入项目信息
void InputInformation()//定义项目信息的函数
{
    //创建一个新结点
    Node *pNewNode = (Node*)malloc(sizeof(Node));
    pNewNode->pNext = NULL;
    //头插法
    if (pNewNode == NULL)
    {
        g_pHead = pNewNode;
    }//如果头结点为空,则新节点为头结点
    else
    {
        pNewNode->pNext = g_pHead;
        g_pHead = pNewNode;
    }//如果头结点不为空,则新结点为头结点
    printf("请输入项目编号:\n");
    scanf("%s", pNewNode->Pro.number);
    printf("请输入项目名称:\n");
    scanf("%s", pNewNode->Pro.name);
    printf("请输入项目申报时间:\n");
    scanf("%f", pNewNode->Pro.time);
    printf("请输入项目负责人:\n");
    scanf("%s", pNewNode->Pro.boss);
    printf("请输入项目预算金额:\n");
    scanf("%f", pNewNode->Pro.money);
    printf("请输入项目审批状态:\n");
    scanf("%d", pNewNode->Pro.state);
    printf("录入成功!");
    system("pause");
}



  1. 把你声明的结构体、变量都放到main 函数之前
struct Node *pNewNode = (Node*)malloc(sizeof(Node));

把struct 去掉
3.

struct Project Pro;

把 struct 去掉

malloc的头文件都写错了,include<stdlib.h>