数据结构之学生管理系统

来源:互联网 发布:赖宁的真正死因 知乎 编辑:程序博客网 时间:2024/05/21 06:34

#include<iostream>#include<string.h>#include<string>//#include<conio.h>#include <stdlib.h>#include <stdio.h>using namespace std;#define LL long long int#define mem(a) memset(a,0,sizeof(a))typedef struct node{    LL num;//学号    char name[100];//姓名    char sex[100];//性别    int year;//年    int month;//月    int day;//日    char edu[100];//学历    LL tel;//电话    struct node *next;} linklist;void face(linklist *G);void menu(linklist *G); //显示菜单void creat(linklist *G);//创建void insertt(linklist *G);//插入void display(linklist *G);//显示void inqure(linklist *G);//查询void modify(linklist *G);//修改void deletee(linklist *G);//删除void bye();//退出void face(linklist *G)  //外表(完成){    system("color 5E");    puts("\t\t\t\t  欢迎进入张晓阳大学学生管理系统");    puts("\t\t\t**************************************************");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @               学生成绩管理系统                 @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                 制作人:张晓阳  @");    puts("\t\t        @                                日期:2017-12-13 @");    puts("\t\t\t**************************************************");    printf("\n\t\t\t\tPress [ Enter ] key to continue……\n");    getchar();    system("cls");    menu(G);}void menu(linklist *G)//显示菜单(完成){    system("cls");    int flag=1,n;    while(flag)    {        system("color 3e");        puts("\t\t\t\t     欢迎进入学生学籍管理系统");        puts("\t\t\t**************************************************");        puts("\t\t        @                   1.创建                       @");        puts("\t\t        @                   2.插入                       @");        puts("\t\t        @                   3.显示                       @");        puts("\t\t        @                   4.查询                       @");        puts("\t\t        @                   5.修改                       @");        puts("\t\t        @                   6.删除                       @");        puts("\t\t        @                   7.退出                       @");        puts("\t\t        @                             *********          @");        puts("\t\t        @                             *  zxy  *          @");        puts("\t\t        @                             *********          @");        puts("\t\t\t**************************************************");        printf("\t\t\t请选择服务种类(1-7) : [ ]\b\b");        scanf("%d",&n);        if(n>=1&&n<=7)        {            flag=0;        }        else        {            system("cls");            printf("\n\t\t\t选择出错,请重新选择。。。\n");        }    }    if(n==1)    {        creat(G);    }    else if(n==2)    {        insertt(G);    }    else if(n==3)    {        display(G);    }    else if(n==4)    {        inqure(G);    }    else if(n==5)    {        modify(G);    }    else if(n==6)    {        deletee(G);    }    else if(n==7)    {        bye();    }}void creat(linklist *G)//创建{    system("cls");    system("color 3e");    linklist *p,*q;    //p=new linklist;    p=G;    printf("输入录入学生人数:");    int n;    scanf("%d",&n);    for(int i=1; i<=n; i++)    {        printf("第%d个学生信息:\n",i);        q=new linklist;        printf("学号:");        scanf("%lld",&q->num);        //printf("\n");        printf("姓名:");        scanf("%s",q->name);        //printf("\n");        printf("性别:");        scanf("%s",q->sex);        //printf("\n");        printf("出生年:");        scanf("%d",&q->year);        //printf("\n");        printf("出生月:");        scanf("%d",&q->month);        //printf("\n");        printf("出生日:");        scanf("%d",&q->day);        //printf("\n");        printf("学历:");        scanf("%s",&q->edu);        //printf("\n");        printf("手机号:");        scanf("%lld",&q->tel);        //printf("\n");        q->next=NULL;        p->next=q;        p=q;    }    getchar();    printf("\n");    printf("按回车退出。。。\n");    getchar();    menu(G);}void insertt(linklist *G)//插入{    system("cls");    system("color 3e");    printf("在某学号前插入,此学号为:");    LL aa;    scanf("%lld",&aa);    linklist *nex;    //nex=new linklist;    nex=G->next;    int flag=0;    while(nex)    {        if(nex->num==aa)        {            printf("找到此学号,请输入插入学生信息\n");            linklist *q;            q=new linklist;            //q=new linklist;            printf("学号:");            scanf("%lld",&q->num);            //printf("\n");            printf("姓名:");            scanf("%s",q->name);            //printf("\n");            printf("性别:");            scanf("%s",q->sex);            //printf("\n");            printf("出生年:");            scanf("%d",&q->year);            //printf("\n");            printf("出生月:");            scanf("%d",&q->month);            //printf("\n");            printf("出生日:");            scanf("%d",&q->day);            //printf("\n");            printf("学历:");            scanf("%s",&q->edu);            //printf("\n");            printf("手机号:");            scanf("%lld",&q->tel);            q->next=nex->next;            nex->next=q;            flag=1;            break;        }        else        {            nex=nex->next;        }    }    if(flag)    {        printf("插入成功\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }    else    {        printf("插入失败\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }}void display(linklist *G)//显示{    system("cls");    system("color 3e");    linklist *q;    q=new linklist;    q=G->next;    int tt=1;    while(q)    {        printf("第%d个学生信息\n",tt++);        printf("学号:");        printf("%lld",q->num);        printf("\n");        printf("姓名:");        printf("%s",q->name);        printf("\n");        printf("性别:");        printf("%s",q->sex);        printf("\n");        printf("出生年:");        printf("%d",q->year);        printf("\n");        printf("出生月:");        printf("%d",q->month);        printf("\n");        printf("出生日:");        printf("%d",q->day);        printf("\n");        printf("学历:");        printf("%s",q->edu);        printf("\n");        printf("手机号:");        printf("%lld",q->tel);        q=q->next;    }    getchar();    printf("\n");    printf("按回车退出。。。\n");    getchar();    menu(G);}void inqure(linklist *G)//查询{    system("cls");    system("color 3e");    printf("输入你要查询的学号:");    LL aa;    scanf("%lld",&aa);    linklist *q;    q=new linklist;    q=G->next;    int flag=0;    while(q)    {        //printf("fsalfd\n");        if(q->num==aa)        {            printf("查到此学号,信息为:\n");            printf("学号:");            printf("%lld",q->num);            printf("\n");            printf("姓名:");            printf("%s",q->name);            printf("\n");            printf("性别:");            printf("%s",q->sex);            printf("\n");            printf("出生年:");            printf("%d",q->year);            printf("\n");            printf("出生月:");            printf("%d",q->month);            printf("\n");            printf("出生日:");            printf("%d",q->day);            printf("\n");            printf("学历:");            printf("%s",q->edu);            printf("\n");            printf("手机号:");            printf("%lld",q->tel);            flag=1;            break;        }        else        {            q=q->next;        }    }    printf("\n");    if(flag)    {        printf("查找成功\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }    else    {        printf("查找失败\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }}void modify(linklist *G)//修改{    system("cls");    system("color 3e");    printf("输入你要修改的学号:");    LL aa;    scanf("%lld",&aa);    linklist *q;    q=new linklist;    q=G->next;    int flag=0;    while(q)    {        //printf("fsalfd\n");        if(q->num==aa)        {            printf("查到此学号:\n");            printf("1.姓名修改 2.性别修改 3.出生年修改 4.出生月修改 5.出生日修改 6.学历修改 7.手机号修改\n");            printf("输入修改项:");            int t;            scanf("%d",&t);            while(t<0||t>7)            {                printf("输入出错,请重新输入:");                scanf("%d",&t);            }            if(t==1)            {                printf("姓名修改为:");                scanf("%s",q->name);                flag=1;                break;            }            //printf("\n");            else if(t==2)            {                printf("性别修改为:");                scanf("%s",q->sex);                flag=1;                break;            }            //printf("\n");            else if(t==3)            {                printf("出生年修改为:");                scanf("%d",&q->year);                flag=1;                break;            }            //printf("\n");            else if(t==4)            {                printf("出生月修改为:");                scanf("%d",&q->month);                flag=1;                break;            }            //printf("\n");            else if(t==5)            {                printf("出生日修改为:");                scanf("%d",&q->day);                flag=1;                break;            }            //printf("\n");            else if(t==6)            {                printf("学历修改为:");                scanf("%s",&q->edu);                flag=1;                break;            }            //printf("\n");            else if(t==7)            {                printf("手机号修改为:");                scanf("%lld",&q->tel);                flag=1;                break;            }        }        else        {            q=q->next;        }    }    printf("\n");    if(flag)    {        printf("修改成功\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }    else    {        printf("修改失败\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }}void deletee(linklist *G)//删除{    system("cls");    system("color 3e");    printf("输入你要删除的学号:");    LL aa;    scanf("%lld",&aa);    linklist *first,*nex;    first=G;    nex=G->next;    int flag=0;    while(nex!=NULL)    {        //printf("hfkjsdfjksd\n");        //printf("%lld\n",next->num);        if(nex->num==aa)        {            linklist *q;            q=new linklist;            q=nex;            first->next=q->next;            delete q;            flag=1;            break;        }        else        {            nex=nex->next;            first=first->next;        }    }    if(flag)    {        printf("删除成功!\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }    else    {        printf("删除失败!\n");        getchar();        printf("\n");        printf("按回车退出。。。\n");        getchar();        menu(G);    }}void bye() //退出(完成){    system("cls");    system("color 0F");    puts("\t\t\t**************************************************");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                    再见!                      @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t        @                                                @");    puts("\t\t\t**************************************************");    exit(0);}int main(){    linklist G;    G.next=NULL;    face(&G);    return 0;}



zxy

原创粉丝点击