这道c语言该怎样进行解答呢

现在正处疫情时期,为实施相应的管制措施,我校严格执行入校申请审批制度。该制度要求教师和学生入校前一天必须填报入校申请,院长审核批准后,上报学校保卫处备案。请你设计一个程序协助院长进行审阅和批示,并将审核结果为同意入校的教师或学生信息写入文本文件,以送交一个磁盘文件形式提交保卫处备案。程序说明如下:入校申请书要填写的内容如表图所示:

img

表中已经模拟填写了两位教师信息。假设你也要填报入校申请,请将你的个人信息作为表中的第三项记录。要求填写你个人的实际信息,你可以在“Sbj_mat(入校事由)”项中自己设置一个申请入校的理由,例如 “做实验”等理由。
(1)要求表格中两位教师信息以及你的个人信息,都以初始化结构体数组的方式来实现。
(2)辅助院长审批的过程是逐项查看并审批,在程序中要求实现当屏幕上显示一位申请人信息后,提示输入审批意见,如果院长同意入校,则从键盘输入1,AuditMind项中填整数1,否则就输入0,AuditMind项中填写0,表示院长不同意入校。
(3)审批结束后,要求只将同意入校的人员记录项写入到一个文本文件中。该文本文件要求以你的学号作为主文件名,存放到磁盘上的具体位置自定。

单身狗,只能来解题了

img

代码如下


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include<windows.h>
//按表格内容设置各结构体成员,成员长度稍稍富余一些  
struct entryRequest{
    int No_num;         //序号   
    char Vocation[12];  //工号/学号 
    char C_name[20];    //个人姓名 
    char College[20];   //所在部门 
    char Date[10];      //入校日期 
    char Sbj_mat[30];   //入校事由 
    char AuditMind;     //审批意见  0-不同意入校,1-同意入校
};

int main()
{
    //初始化结构体数组 
    struct entryRequest reqTable[3]={
        {.No_num=1,.Vocation="19810327",.C_name="田丽",.College="工学院",.Date="20200701",.Sbj_mat="值班",.AuditMind=' '},
        {.No_num=2,.Vocation="19731109",.C_name="于海",.College="理学院",.Date="20200701",.Sbj_mat="值班",.AuditMind=' '},
        {.No_num=3,.Vocation="19891109",.C_name="文飞",.College="门头沟学院",.Date="20220520",.Sbj_mat="做实验",.AuditMind=' '}
    };
    int len=(int)sizeof(reqTable) /sizeof(struct entryRequest);
    int i=0;
    char audit;
    
    printf("开始审核入校申请\n");
    while(i<len)
    {
        printf("当前入校申请信息如下: (%d/%d) \n\n",i+1,len);
        printf("==========================================\n");
        printf("序号     : %d\n",reqTable[i].No_num);
        printf("工号/学号: %s\n",reqTable[i].Vocation);
        printf("个人姓名 : %s\n",reqTable[i].C_name);
        printf("所在部门 : %s\n",reqTable[i].College);
        printf("入校日期 : %s\n",reqTable[i].Date);
        printf("入校事由 : %s\n",reqTable[i].Sbj_mat);
        printf("审批意见 : %c\n",reqTable[i].AuditMind);
        printf("\n==========================================\n");
        printf("请输入: 0-不同意入校,1-同意入校 2-跳过并查看下一个 3-退出程序: ");
        
        audit=(char)getchar();
        while( audit!='0' && audit!='1' && audit!='2'&& audit!='3'){
            if(audit!='\n'){
                printf("\n请输入: 0-不同意入校,1-同意入校 2-跳过并查看下一个 3-退出程序: ");
            }
            audit=getchar();
        }
        if(audit=='3'){
            exit(0);
        }
        if(audit=='2'){
            printf("\n********************************\n");
            printf("你【跳过】了【%s】的入校申请",reqTable[i].C_name);
            printf("\n********************************\n");
            i++;
            continue;
        }
        if(audit=='0'){
            reqTable[i].AuditMind='0';
            printf("\n********************************\n");
            printf("你【拒绝】了【%s】的入校申请",reqTable[i].C_name);
            printf("\n********************************\n");
            //Sleep(500);
        }
        if(audit=='1'){
            reqTable[i].AuditMind='1';
            printf("\n********************************\n");
            printf("你【同意】了【%s】的入校申请",reqTable[i].C_name);
            printf("\n********************************\n");
            //Sleep(500);
        }
        printf("\n\n");
        //system("cls"); 
        i++;
    }
    i=0;
    char dir[50]="C:\\shared\\c\\520\\";
    char path[256];
    FILE *fp;
    printf("\n++++++++++++++++++++++++++++++++++++++++\n");
    printf("开始保存到磁盘文件");
    printf("\n++++++++++++++++++++++++++++++++++++++++\n");
    while(i<len)
    {
        printf("i=%d AuditMind=%c\n",i,reqTable[i].AuditMind);
        if(reqTable[i].AuditMind=='1'){
            strcpy(path,dir);
            strcat(path,reqTable[i].Vocation);
            printf("%s\n",path);
            fp=fopen(path,"w+");
            if(fp==NULL){
                printf("\n打开文件失败\n");
                //exit(1);
            }
            fprintf(fp,"序号     : %d\n工号/学号: %s\n个人姓名 : %s\n所在部门 : %s\n入校日期 : %s\n入校事由 : %s\n审批意见 : %c\n",reqTable[i].No_num,reqTable[i].Vocation,reqTable[i].C_name,reqTable[i].College,reqTable[i].Date,reqTable[i].Sbj_mat,reqTable[i].AuditMind);
            fclose(fp);
        }
        i++;
    } 
    printf("\n++++++++++++++++++++++++++++++++++++++++\n");
    printf("已将通过审核的入校申请保存到磁盘文件,请提交保卫处备案");
    printf("\n++++++++++++++++++++++++++++++++++++++++\n");
    
    return 0;    
}

运行截图

img