(c语言初尝试)c语言实现教务管理系统

进入大学写的第一个程序,这个是大学进入工作室的考核
虽然效果不错,但是现在看来作为一个程序还是很失败的
做这个程序我完全是在闭门造车,所以最后易读性和可拓展性都很低,大家写程序一定不要步入这样的误区

首页界面
在这里插入图片描述
登录或者注册,账号分为老师账号和学生账号
学生的功能相比老师会少一些
程序运行时会在程序的目录创建两个文件
在这里插入图片描述
分别保存学生数据和账号信息

我还偷偷在程序里加了一个大风车,,,c语言的初学者肯定都被大风车折磨过我就不多说了
具体看程序

#include<stdio.h>
#include<string.h>
#include<windows.h>  //使用了sleep函数
#include<stdlib.h>
//主函数
int main()
{
    void jiemian(int x); //界面
    int zhuce(int quanxianxuanze);//注册(权限选择)
    int denglu();//登录
    void fengche1(int x);
    void fengche2(int x);
    void fengche3(int x);
    void kaifazhexinxi();
    int cuowu=0,shujuliang=0,changdu=0,j=0,k=0,yunxingcishu=0,shanchucishu=0,xiugaicishu=0,num=0;//j为删除时的参数,’添加‘的运行次数
    /*此处开始用链表读取之前保存的文件*/
    printf("链表读取文件中..."); //文件过大时出现此页面
    struct shuju
    {
        char name[500];
        char number[500];
        char sex[100];
        char age[100];
        char mark[100];
        struct shuju *jiedian;
    };
    struct shuju*head=NULL;//头指针
    struct shuju*p1=NULL;//初始读取链表时所用指针,有传递功能
    struct shuju*p2=NULL;//无传递功能,全局都使用
    struct shuju*p3=NULL;//无传递功能,全局都使用
    struct shuju*p4=NULL;//无传递功能,全局都使用
    struct shuju*p5=NULL;
    struct shuju*pd=NULL;//删除时所用中间指针(包括初始时的删除结尾)无传递功能,全局都使用
    head=(struct shuju*)malloc(sizeof(struct shuju));
    FILE*sj=fopen("shuju.txt","a+");
    if(fscanf(sj,"%s",head->name)==EOF)
    {
        goto biaoji2;
    }
    changdu=strlen(head->name);
    head->name[changdu]=' ';
    head->name[changdu+1]='\0';
    fscanf(sj,"%s",head->number);
    changdu=strlen(head->number);
    head->number[changdu]=' ';
    head->number[changdu+1]='\0';
    fscanf(sj,"%s",head->sex);
    changdu=strlen(head->sex);
    head->sex[changdu]=' ';
    head->sex[changdu+1]='\0';
    fscanf(sj,"%s",head->age);
    changdu=strlen(head->age);
    head->age[changdu]=' ';
    head->age[changdu+1]='\0';
    fscanf(sj,"%s",head->mark);
    changdu=strlen(head->mark);
    head->mark[changdu]='\n';
    head->mark[changdu+1]='\0';
    head->jiedian=NULL;
    shujuliang+=1;//数据量+1
    p1=head;
    while(1)
    {
        p2=(struct shuju*)malloc(sizeof(struct shuju));
        p1->jiedian=p2;
        pd=p1;
        p1=p2;
        if(fscanf(sj,"%s",p1->name)==EOF)
        {
            goto biaoji2;
        }
        changdu=strlen(p1->name);
        p1->name[changdu]=' ';
        p1->name[changdu+1]='\0';
        fscanf(sj,"%s",p1->number);
        changdu=strlen(p1->number);
        p1->number[changdu]=' ';
        p1->number[changdu+1]='\0';
        fscanf(sj,"%s",p1->sex);
        changdu=strlen(p1->sex);
        p1->sex[changdu]=' ';
        p1->sex[changdu+1]='\0';
        fscanf(sj,"%s",p1->age);
        changdu=strlen(p1->age);
        p1->age[changdu]=' ';
        p1->age[changdu+1]='\0';
        fscanf(sj,"%s",p1->mark);
        changdu=strlen(p1->mark);
        p1->mark[changdu]='\n';
        p1->mark[changdu+1]='\0';
        p1->jiedian=NULL;
        shujuliang+=1;
    };
    printf("非正常读取,程序可能会出现严重问题");
    system("pause");
//读取任务已完成,此处删除多读取的结尾
biaoji2: //goto标记点
    if(shujuliang==0)
    {
        free(head);
        head=NULL;
        p1=NULL;
    }
    else
    {
        pd->jiedian=NULL;
        free(p1);
        p1=pd;
        p2=NULL;

    }
    fclose(sj);
    //此处开始显示初始页面,要求登录
    fflush(stdin); //清除键盘缓冲区
    int quanxianxuanze,denglupanduan=0,i=0;//i是运行所需
    char xuanze,xuanze1,xuanze2;
    jiemian(1);
    scanf("%c",&xuanze);
    //选择登录进入,注册,退出
    if(xuanze=='1') //登录
    {
        jiemian(2);
        fflush(stdin); //清除键盘缓冲区
        denglupanduan=denglu();
    }
    else
    {
        if(xuanze=='3')//退出
        {
            if(shujuliang==0)
            {
                printf("退出中\n");
                exit(1);
            }
            else
            {
                i=0;
                printf("退出中\nfree");
                while(1)
                {
                    printf(".");
                    if(i==0)
                    {
                        p2=head;
                        i=1;
                    }
                    else
                    {

                        if(p2->jiedian==NULL)
                        {
                            break;
                        }
                        p3=p2->jiedian;
                        p2=p3;
                    }
                    free(p2);
                }
                Sleep(700);
                exit(1);
            }
        }//注册
        jiemian(3);
        fflush(stdin); //清除键盘缓冲区
        xuanze=getchar();
        if(xuanze!='1'&&xuanze!='2')
        {
            jiemian(0);
            goto biaoji2;
        }
        if(xuanze=='1')
        {
            quanxianxuanze=1;
        }
        else
        {
            quanxianxuanze=2;
        }
        jiemian(4);
        fflush(stdin);//清除键盘缓冲区
        denglupanduan=zhuce(quanxianxuanze);
        jiemian(5);
    }
    //防止暴力破解密码
biaoji1:    //goto标记点
    system("color 1f");
    if(denglupanduan==0)
    {
        cuowu+=1;
        jiemian(6);
        if(cuowu>=5)
        {
            printf("\n\n你已经输错次数达到最大限制,再见\n");
            system("pause");
            exit(1);
        }
        else
        {
            printf("\n\n你已经输错了%d次了,还剩%d次机会哦\n",cuowu,5-cuowu);
            system("pause");
            goto biaoji2;
        }
    }
    //登陆成功,进入主页面
biaoji3:
    if(denglupanduan==1)//权限为学生
    {
        jiemian(9);
    }
    if(denglupanduan==2)//权限为老师
    {
        jiemian(8);
    }
    fflush(stdin); //清除键盘缓冲区
    scanf("%c",&xuanze);
    if(xuanze<='0'||xuanze>='6')//防止乱输
    {
        jiemian(0);
        goto biaoji3;
    }
    char chaxunshuju1[50],chaxunshuju2[50];//以后查询可用
    if(denglupanduan==1)//为学生
    {
        switch(xuanze)//主选择
        {
        case '1'://选择查询
            jiemian(12);
            fflush(stdin); //清除键盘缓冲区
            scanf("%c",&xuanze);
            if(xuanze=='1')//选择单个查询
            {
                if(shujuliang==0)
                {
                    printf("无数据,请添加\n");
                    system("pause");
                    goto biaoji3;
                    break;
                }
                else
                {
                    printf("请输入查询学生的姓名:");
                    scanf("%s",&chaxunshuju1);
                    changdu=strlen(chaxunshuju1);
                    chaxunshuju1[changdu]=' ';
                    chaxunshuju1[changdu+1]='\0';
                    printf("请输入查询学生的学号:");
                    scanf("%s",&chaxunshuju2);
                    changdu=strlen(chaxunshuju2);
                    chaxunshuju2[changdu]=' ';
                    chaxunshuju2[changdu+1]='\0';
                    i=0;
                    while(1)
                    {
                        if(i==0)
                        {
                            p2=head;
                            i=1;
                        }
                        else
                        {
                            if(p2->jiedian==NULL)
                            {
                                break;
                            }
                            p3=p2->jiedian;
                            p2=p3;
                        }
                        if((!strcmp(p2->name,chaxunshuju1))&&(!strcmp(p2->number,chaxunshuju2)))
                        {
                            printf("\n查询%s信息成功\n--------------------------\n",&p2->name);
                            printf("姓名:%s\n",&p2->name);
                            printf("学号:%s\n",&p2->number);
                            printf("性别:%s\n",&p2->sex);
                            printf("年龄:%s\n",&p2->age);
                            printf("成绩:%s",&p2->mark);
                            system("pause");
                            goto biaoji3;
                            break;
                        }
                    }
                }
            }
            else
            {
                if(xuanze=='2')//选择全部查看,权限不足
                {
                    jiemian(7);
                    goto biaoji3;
                }
                else
                {
                    if(xuanze=='3')//返回上一个页面
                    {
                        goto biaoji3;
                    }
                    jiemian(0);//乱输入
                    goto biaoji3;
                }
            }
            jiemian(14);//查询不到学生信息
            goto biaoji3;
            break;
        case '2'://无权限
            jiemian(7);
            goto biaoji1;
            break;
        case '3'://无权限
            jiemian(7);
            goto biaoji1;
            break;
        case '4'://无权限
            kaifazhexinxi();
            goto biaoji1;
            break;
        case '5'://退出软件,释放所占的内存
            jiemian(17);
            if(shujuliang==0)
            {
                printf("退出中\n");
                exit(1);
                break;
            }
            else
            {

                i=0;
                printf("释放内存中");
                while(1)
                {
                    printf(".");
                    if(i==0)
                    {
                        p2=head;
                        i=1;
                    }
                    else
                    {
                        if(p2->jiedian==NULL)
                        {
                            break;
                        }
                        p3=p2->jiedian;
                        p2=p3;
                    }
                    free(p2);
                }
                printf("\n退出中...");
                exit(1);
                break;
            }
        }
        goto biaoji3;
    }
    if(denglupanduan==2)//教师权限
    {
        switch(xuanze)//选择
        {
        case '1'://选择查询信息
            jiemian(13);
            fflush(stdin); //清除键盘缓冲区
            scanf("%c",&xuanze);
            if(xuanze=='1')
            {
                if(shujuliang==0)
                {
                    printf("无数据,请添加\n");
                    system("pause");
                    goto biaoji3;
                    break;
                }
                else
                {
                    printf("请输入查询学生的姓名:");
                    scanf("%s",&chaxunshuju1);
                    changdu=strlen(chaxunshuju1);
                    chaxunshuju1[changdu]=' ';
                    chaxunshuju1[changdu+1]='\0';
                    printf("请输入查询学生的学号:");
                    scanf("%s",&chaxunshuju2);
                    changdu=strlen(chaxunshuju2);
                    chaxunshuju2[changdu]=' ';
                    chaxunshuju2[changdu+1]='\0';
                    i=0;
                    while(1)
                    {
                        if(i==0)
                        {
                            p2=head;
                            i=1;
                        }
                        else
                        {

                            if(p2->jiedian==NULL)
                            {
                                break;
                            }
                            p3=p2->jiedian;
                            p2=p3;
                        }
                        if((!strcmp(p2->name,chaxunshuju1))&&(!strcmp(p2->number,chaxunshuju2)))
                        {
                            printf("\n查询%s信息成功\n--------------------------\n",&p2->name);
                            printf("姓名:%s\n",&p2->name);
                            printf("学号:%s\n",&p2->number);
                            printf("性别:%s\n",&p2->sex);
                            printf("年龄:%s\n",&p2->age);
                            printf("成绩:%s",&p2->mark);
                            system("pause");
                            goto biaoji3;
                            break;
                        }
                    }
                }
            }
            else
            {
                if(xuanze=='2')//选择查询全部学生信息
                {
                    if(shujuliang==0)
                    {
                        printf("无数据,请添加\n");
                        system("pause");
                        goto biaoji3;
                    }
                    else
                    {
                        i=0;
                        system("cls");
                        printf("                    数据库\n==================================================\n");
                        while(1)
                        {
                            if(shujuliang==0)
                            {
                                printf("\n\n\n无数据\n\n");
                                break;
                            }
                            if(i==0)
                            {
                                p2=head;
                                i=1;
                            }
                            else
                            {
                                if(p2->jiedian==NULL)
                                {
                                    break;
                                }
                                p3=p2->jiedian;
                                p2=p3;
                            }
                            printf("-------------------------------------------------\n");
                            printf("姓名:%s\n",&p2->name);
                            printf("学号:%s\n",&p2->number);
                            printf("性别:%s\n",&p2->sex);
                            printf("年龄:%s\n",&p2->age);
                            printf("成绩:%s\n",&p2->mark);
                        }
                        if(yunxingcishu==0)//查询本次是否添加数据
                        {
                            printf("本次运行未添加数据\n");
                        }
                        printf("==================================================\n");
                        printf("包含本次修改的全部数据,包括未保存的\n");
                        system("pause");
                        goto biaoji3;
                    }
                }
                else
                {
                    if(xuanze=='3')//返回上一个页面
                    {
                        goto biaoji3;
                    }
                    jiemian(0);
                    goto biaoji3;
                }
            }
            jiemian(15);//查询不到信息
            goto biaoji3;
            break;
        case '2'://添加学生信息
biaoji4:
            jiemian(11);
            fflush(stdin); //清除键盘缓冲区
            char name1[50],number1[50],sex1[10],age1[10],mark1[10];
            printf("请输入学生姓名:");
            scanf("%s",&name1);
            changdu=strlen(name1);
            name1[changdu]=' ';
            name1[changdu+1]='\0';
            printf("请输入学生学号:");
            scanf("%s",&number1);
            changdu=strlen(number1);
            number1[changdu]=32;
            number1[changdu+1]='\0';
            printf("请输入学生性别:");
            scanf("%s",&sex1);
            changdu=strlen(sex1);
            sex1[changdu]=32;
            sex1[changdu+1]='\0';
            printf("请输入学生年龄:");
            scanf("%s",&age1);
            changdu=strlen(age1);
            age1[changdu]=32;
            age1[changdu+1]='\0';
            printf("请输入学生成绩:");
            scanf("%s",&mark1);
            changdu=strlen(mark1);
            mark1[changdu]='\n';
            mark1[changdu+1]='\0';
            i=0;
            if(shujuliang!=0)
            {
                while(1)
                {
                    if(i==0)//检测头指针
                    {
                        p2=head;
                        i=1;
                    }
                    else
                    {
                        if(p2->jiedian==NULL)
                        {
                            break;
                        }
                        p3=p2->jiedian;
                        p2=p3;
                    }
                    if(!strcmp(p2->number,number1))//重复检测
                    {
                        printf("\n此学生已存在\n");
                        system("pause");
                        goto biaoji4;
                    }
                }
            }
            if(shujuliang==0)//本次打开没有添加过
            {
                head=(struct shuju*)malloc(sizeof(struct shuju));
                strcpy(head->name,name1);
                strcpy(head->number,number1);
                strcpy(head->sex,sex1);
                strcpy(head->age,age1);
                strcpy(head->mark,mark1);
                head->jiedian=NULL;
                p1=head;
                yunxingcishu+=1;
                shujuliang+=1;
                k=1;
            }
            else
            {
                p2=(struct shuju*)malloc(sizeof(struct shuju));
                p1->jiedian=p2;
                p1=p2;
                strcpy(p1->name,name1);
                strcpy(p1->number,number1);
                strcpy(p1->sex,sex1);
                strcpy(p1->age,age1);
                strcpy(p1->mark,mark1);
                p1->jiedian=NULL;
                yunxingcishu+=1;
                shujuliang+=1;
                k=1;
            }//若保存则关闭软件时不会提示保存
            printf("现在就要保存吗?(Yes/No)\n暂不保存继续输入(Continue)\n不保存和不选择重启应用后将丢失\n");//输入Y,y,Yes,YES,yes等均可
            fflush(stdin);//清除键盘缓冲区
            scanf("%c",&xuanze);
            if(xuanze=='y'||xuanze=='Y')
            {
                printf("\n保存中");
                i=0;
                FILE*sj=fopen("shuju.txt","w");//清空以前的
                while(1)
                {
                    printf(".");
                    if(i==0)
                    {
                        p2=head;
                        i=1;
                    }
                    else
                    {
                        if(p2->jiedian==NULL)
                        {
                            break;
                        }
                        p3=p2->jiedian;
                        p2=p3;
                    }
                    fputs(p2->name,sj);
                    fputs(p2->number,sj);
                    fputs(p2->sex,sj);
                    fputs(p2->age,sj);
                    fputs(p2->mark,sj);
                }
                fclose(sj);
                printf("\n保存成功!!!\n");
                k=0;
                system("pause");
                break;
            }
            if(xuanze=='n'||xuanze=='N')//不保存
            {
                break;
            }
            if(xuanze=='C'||xuanze=='c')//不管保存不保存,先继续输入
            {
                goto biaoji4;
            }
            jiemian(0);
            break;
        case '3':
biaoji6:
            jiemian(18);
            fflush(stdin); //清除键盘缓冲区
            scanf("%c",&xuanze);
            if(xuanze=='1')//修改单独的学生
            {
                if(shujuliang==0)
                {
                    printf("无数据,请添加\n");
                    system("pause");
                    goto biaoji3;
                }
                else
                {
                    printf("请输入修改学生的姓名:");
                    scanf("%s",&chaxunshuju1);
                    changdu=strlen(chaxunshuju1);
                    chaxunshuju1[changdu]=' ';
                    chaxunshuju1[changdu+1]='\0';
                    printf("请输入修改学生的学号:");
                    scanf("%s",&chaxunshuju2);
                    changdu=strlen(chaxunshuju2);
                    chaxunshuju2[changdu]=' ';
                    chaxunshuju2[changdu+1]='\0';
                    i=0;
                    while(1)//检测该学生
                    {
                        if(i==0)
                        {
                            p2=head;
                            i=1;
                        }
                        else
                        {
                            if(p2->jiedian==NULL)
                            {
                                break;
                            }
                            p3=p2->jiedian;
                            p2=p3;
                        }
                        if((!strcmp(p2->name,chaxunshuju1))&&(!strcmp(p2->number,chaxunshuju2)))
                        {
                            system("cls");
                            fflush(stdin);  //清除键盘缓冲区
                            printf("                       请修改\n");
                            printf("------------------------------------------------------\n");
                            printf("请输入修改后学生姓名:");
                            scanf("%s",&name1);
                            changdu=strlen(name1);
                            name1[changdu]=' ';
                            name1[changdu+1]='\0';
                            printf("请输入修改后学生性别:学号不允许更改!\n");
                            printf("请输入修改后学生性别:");
                            scanf("%s",&sex1);
                            changdu=strlen(sex1);
                            sex1[changdu]=32;
                            sex1[changdu+1]='\0';
                            printf("请输入修改后学生年龄:");
                            scanf("%s",&age1);
                            changdu=strlen(age1);
                            age1[changdu]=32;
                            age1[changdu+1]='\0';
                            printf("请输入修改后学生成绩:");
                            scanf("%s",&mark1);
                            changdu=strlen(mark1);
                            mark1[changdu]='\n';
                            mark1[changdu+1]='\0';
                            strcpy(p2->name,name1);
                            strcpy(p2->sex,sex1);
                            strcpy(p2->age,age1);
                            strcpy(p2->mark,mark1);
                            printf("更改成功!\n");
                            k=1;
                            xiugaicishu+=1;
                            system("pause");
                            goto biaoji6;
                        }
                    }
                    printf("无该学生\n");
                    system("pause");
                    goto biaoji6;
                    break;
                }
            }
            if(xuanze=='2')//删除学生
            {
                if(shujuliang<2)
                {
                    printf("不足两个数据,无法删除\n");
                    system("pause");
                    goto biaoji3;
                }
                else
                {
                    printf("请输入要删除的学生信息\n");
                    printf("请输入删除学生的姓名:");
                    scanf("%s",&chaxunshuju1);
                    changdu=strlen(chaxunshuju1);
                    chaxunshuju1[changdu]=' ';
                    chaxunshuju1[changdu+1]='\0';
                    printf("请输入删除学生的学号:");
                    scanf("%s",&chaxunshuju2);
                    changdu=strlen(chaxunshuju2);
                    chaxunshuju2[changdu]=' ';
                    chaxunshuju2[changdu+1]='\0';
                    i=0;
                    while(1)//检测该学生
                    {
                        j+=1;
                        if(i==0)
                        {
                            p2=head;
                            i=1;
                        }
                        else
                        {
                            if(p2->jiedian==NULL)
                            {
                                break;
                            }
                            pd=p2;
                            p3=p2->jiedian;
                            p2=p3;
                        }
                        if((!strcmp(p2->name,chaxunshuju1))&&(!strcmp(p2->number,chaxunshuju2)))
                        {
                            if(p2->jiedian==NULL)
                            {
                                pd->jiedian=NULL;
                                free(p2);
                                printf("删除成功\n");
                                k=1;
                                shujuliang-=1;
                                shanchucishu+=1;
                                system("pause");
                                goto biaoji3;
                                break;
                            }
                            else
                            {
                                pd->jiedian=p2->jiedian;
                                free(p2);
                                shujuliang-=1;
                                printf("删除成功\n");
                                k=1;
                                shanchucishu+=1;
                                shujuliang-=1;
                                system("pause");
                                goto biaoji3;
                                break;
                            }
                        }
                    }
                    printf("无该学生\n");
                    system("pause");
                    goto biaoji3;
                    break;
                }
            }
            if(xuanze=='3')//若修改过或删除未保存,提示保存
            {
                if(k==1)
                {
                    jiemian(10);
                    printf("(Yes/No)\n不保存和不选择重启应用时将丢失数据\n");
                    fflush(stdin);  //清除键盘缓冲区
                    scanf("%c",&xuanze);
                    if(xuanze=='y'||xuanze=='Y')
                    {
                        i=0;
                        FILE*sj=fopen("shuju.txt","w");//清空以前的
                        while(1)
                        {
                            if(i==0)
                            {
                                p2=head;
                                i=1;
                            }
                            else
                            {
                                if(p2->jiedian==NULL)
                                {
                                    break;
                                }
                                p3=p2->jiedian;
                                p2=p3;
                            }
                            fputs(p2->name,sj);
                            fputs(p2->number,sj);
                            fputs(p2->sex,sj);
                            fputs(p2->age,sj);
                            fputs(p2->mark,sj);
                        }
                        printf("\n保存成功!!!\n");
                        k=0;
                    }
                    fclose(sj);
                    Sleep(700);
                }
                goto biaoji3;
                break;
            }
            jiemian(0);
            goto biaoji3;
            break;
        case '4'://其他
            jiemian(19);
            fflush(stdin); //清除键盘缓冲区
            scanf("%c",&xuanze);
            if(xuanze=='1')
            {
                system("dfc.mp3");
                for(int m=6; m<=30; m++)
                {
                    system("cls");
                    fengche1(m);
                    fengche2(m);
                    fengche3(m);
                    Sleep(100);
                }
                for(int n=29; n>=6; n--)
                {
                    system("cls");
                    fengche1(n);
                    fengche2(n);
                    fengche3(n);
                    Sleep(100);
                }
                break;
            }
            if(xuanze=='2')
            {
                kaifazhexinxi();
                break;
            }
            if(xuanze=='3')
            {
                goto biaoji3;
            }
            break;
        case '5'://退出,此时若存在任何的更改未保存会提示
            if(k==1)
            {
                jiemian(10);
                printf("(Yes/No不保存或不选择重启应用后将丢失n\n");
                fflush(stdin); //清除键盘缓冲区
                scanf("%c",&xuanze);
                if(xuanze=='y'||xuanze=='Y')
                {
                    i=0;
                    FILE*sj=fopen("shuju.txt","w");//清空以前的
                    while(1)
                    {
                        if(i==0)
                        {
                            p2=head;
                            i=1;
                        }
                        else
                        {
                            if(p2->jiedian==NULL)
                            {
                                break;
                            }
                            p3=p2->jiedian;
                            p2=p3;
                        }
                        fputs(p2->name,sj);
                        fputs(p2->number,sj);
                        fputs(p2->sex,sj);
                        fputs(p2->age,sj);
                        fputs(p2->mark,sj);
                    }
                    fclose(sj);
                    printf("\n保存成功!!!\n");
                    k=0;
                    Sleep(700);
                }
                else
                {
                    if(xuanze=='n'||xuanze=='N')
                    {
                        printf("\n释放内存中...\n");
                        Sleep(700);
                    }
                    else
                    {
                        jiemian(0);
                        goto biaoji3;
                        break;
                    }
                }
            }
            else
            {
                jiemian(16);
                printf("\n释放内存中...\n");
                Sleep(700);
            }
            if(shujuliang==0)
            {
                printf("退出中");
                exit(1);
                break;
            }
            i=0;
            printf("退出中");
            while(1)
            {
                printf(".");
                if(i==0)
                {
                    p2=head;
                    i=1;
                }
                else
                {
                    if(p2->jiedian==NULL)
                    {
                        break;
                    }
                    p3=p2->jiedian;
                    p2=p3;
                }
                free(p2);
            }
            exit(1);
            break;
        }
        goto biaoji3;
    }
}
//界面
void jiemian(int x)
{
    switch(x)
    {
    case 0:
        system("cls");
        system("color 4f");
        printf("******************************************************\n");
        printf("          亲爱的 哥哥 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("               >哥,好好的输入不香吗<\n");
        printf("                错误原因:非法输入\n\n\n\n");
        printf("******************************************************\n");
        system("pause");
        break;
    case 1:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                    >欢迎使用<\n\n\n\n\n");
        printf("******************************************************\n");
        system("pause");
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >1登录<\n");
        printf("                     >2注册<\n");
        printf("                     >3退出<\n\n\n");
        printf("******************************************************\n\n除选'1''3'外任何操作都为‘2’\n");
        break;
    case 2:
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                   >请输入账号密码<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 3:
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                   你的身份是?\n");
        printf("                     >1学生<\n");
        printf("                     >2教师<\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 4:
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("              >请输注册的账号和密码<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 5:
        system("cls");
        printf("\a");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >注册成功<\n\n\n\n\n");
        printf("******************************************************\n\n自动登录中,请稍后...\n");
        Sleep(1000); //停顿2.5秒
        break;
    case 6:
        system("cls");
        system("color 4f");
        printf("\a");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                  >登录失败<\n\n\n\n\n");
        printf("******************************************************\n");

        break;
    case 7:
        system("cls");
        system("color 4f");
        printf("\a");
        printf("******************************************************\n");
        printf("          亲爱的 学生 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                  >你还没有资格这么做哦<\n");
        printf("                错误原因:权限不足\n\n\n\n\n");
        printf("******************************************************\n");
        system("pause");
        break;
    case 8:
        system("cls");
        system("color 1f");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >1查询数据类<\n");
        printf("                     >2添加数据<\n");
        printf("                     >3修改数据类<\n");
        printf("                     >4其他类<\n");
        printf("                       >5跑路<\n\n");
        printf("******************************************************\n");
        break;
    case 9:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 同学 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >1查询数据类<\n");
        printf("                      2添加数据  !权限不足!\n");
        printf("                      3修改数据类  !权限不足!\n");
        printf("                      4开发者信息\n");
        printf("                       >5跑路<\n\n");
        printf("******************************************************\n");
        break;
    case 10:
        system("color 1f");
        system("cls");
        printf("\a");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                >本次有修改未保存<\n\n\n\n\n");
        printf("******************************************************\n\n是否保存后再离开?\n");
        break;
    case 11:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("               请输入添加的数据(禁填空格)\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 12:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 同学 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >1查询信息<\n");
        printf("                      2整体查看  !权限不足\n");
        printf("                     >3上一界面<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 13:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >1查询信息<\n");
        printf("                     >2整体查看<\n");
        printf("                     >3上一界面<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 14:
        system("cls");
        printf("\a");
        printf("******************************************************\n");
        printf("          亲爱的 同学 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >无该学生信息<\n\n\n\n\n");
        printf("******************************************************\n");
        system("pause");
        break;
    case 15:
        system("cls");
        printf("\a");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >无该学生信息<\n\n\n\n\n");
        printf("******************************************************\n");
        system("pause");
        break;
    case 16:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("            欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                >本次无未保存修改<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 17:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 同学 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                     >退出中<\n\n\n\n\n");
        printf("******************************************************\n");
        break;
    case 18:
        system("color 1f");
        system("cls");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                       >1修改学生<\n");
        printf("                       >2删除学生<\n");
        printf("                       >3退出<\n\n\n");
        printf("******************************************************\n");
        break;
    case 19:
        system("cls");
        system("color 1f");
        printf("******************************************************\n");
        printf("          亲爱的 老师 欢迎来到学生成绩管理系统\n");
        printf("------------------------------------------------------\n\n\n\n");
        printf("                      >1大风车<\n");
        printf("                      >2关于<\n");
        printf("                      >3返回<\n\n\n\n");
        printf("******************************************************\n");
        break;
    }
}
//注册
int zhuce(int quanxianxuanze)
{
    int changdu,changdu1,fanhui=0;
    char quanxian1[]= {"1\n"},quanxian2[]= {"2\n"},name[100],password[100];
    FILE*zhanghao1=fopen("zhanghao.txt","a+");
    printf("请输入账号:");
    scanf("%s",&name);
    changdu=strlen(name);//获得长度后对输入txt文件中的字符串添加回车
    name[changdu]='\n';
    name[changdu+1]='\0';
    printf("请输入密码:");
    scanf("%s",&password);
    changdu1=strlen(password);
    password[changdu1]='\n';
    password[changdu1+1]='\0';
    if(quanxianxuanze==1)
    {
        fputs(quanxian1,zhanghao1);
        fanhui=1;
    };
    if(quanxianxuanze==2)
    {
        fputs(quanxian2,zhanghao1);
        fanhui=2;
    }
    fputs(name,zhanghao1);
    fputs(password,zhanghao1);
    fclose(zhanghao1);
    return fanhui;
}
//登录
int denglu()
{
    int TorF=0,fanhui=0,quanxianfanhuizhi=0; //登录判断,返回值,权限返回值
    char name[100]= {0},password[100]= {0},dengluname1[100],name1[100],password1[100],quanxian[100];
    printf("请输入账号:");
    scanf("%s",&name);
    printf("请输入密码:");
    scanf("%s",&password);
    FILE*denglu=fopen("zhanghao.txt","r");
    while(1)
    {
        TorF=0;
        if(fscanf(denglu,"%s",quanxian)==EOF)//判断是否结束
        {
            break;
        }
        else
        {
            if(strcmp(quanxian,"1")==0)
            {
                quanxianfanhuizhi=1;
            }
            if(strcmp(quanxian,"2")==0)
            {
                quanxianfanhuizhi=2;
            }
        }
        fscanf(denglu,"%s",name1);
        fscanf(denglu,"%s",password1);
        if(strcmp(name1,name)==0)
        {
            TorF+=1;
        };
        if(strcmp(password1,password)==0)
        {
            TorF+=1;
            break;
        };
    }
    if(TorF==2)
    {
        fanhui=quanxianfanhuizhi;
    }
    else
    {
        fanhui=0;
    };
    return fanhui;
}
//开发者信息
void kaifazhexinxi()
{
    system("cls");
    printf("                         初始设计图纸(后期会有其他功能)              \n");
    printf("                                     |-查询信息                        \n");
    printf("                 |-学生端-|-查询信息-|-返回                            \n");
    printf("          |-登录-|        |-                                           \n");
    printf("          |      |        |-退出                                       \n");
    printf("          |      |                   |-查询信息                        \n");
    printf("   主页面 |-注册-|        |-查询信息-|-整体查看                        \n");
    printf("          |      |        |          |-返回                            \n");
    printf("          |      |        |-添加信息                                   \n");
    printf("          |      |-教师端-|          |-修改信息--|-均为修改单独学生    \n");
    printf("          |               |-更改信息-|-删除信息--|                     \n");
    printf("          |-退出          |          |-返回                            \n");
    printf("                          |-退出                                       \n");
    printf("  核心方法:链表                                                       \n");
    printf("  实现功能:1单独查询学生信息2删除单独学生信息                         \n");
    printf("            3查询所有数据4智能化的保存系统5添加单独学生信息            \n");
    printf("            6修改单独学生信息                                          \n");
    system("pause");
}
void fengche1(int x)
{
    int a,a1,b=0,b1,c=1,c1;
    a=x-1;
    while(a--)
    {
        b1=b;
        while(b1--)
        {
            printf(" ");
        };
        a1=x;
        while(a1--)
        {
            printf("*");
        };
        for( int i=x-2; i>0; i--)
        {
            printf(" ");
        };
        c1=c;
        while(c1--)
        {
            printf("*");
        };
        printf("\n");
        x=x-1;
        c=c+1;
        b=b+1;
    }
}
void fengche2(int x)
{
    int a=2*x-1;
    while(a--)
    {
        printf("*");
    };
    printf("\n");
}

void fengche3(int x)
{
    int a,b,b1,c=0,c1,d=2,d1;
    a=x-1;
    b=x-1;;
    while(a--)
    {
        b1=b;
        d1=d;
        c1=c;
        while(b1--)
        {
            printf("*");
        };
        while(c1--)
        {
            printf(" ");
        };
        while(d1--)
        {
            printf("*");
        };
        for(int j=x-2; j>0; j--)
        {
            printf(" ");
        };
        printf("\n");
        b=b-=1;
        c=c+1;
        d=d+1;
    }
}

很长吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值