数据结构课程设计—考试报名管理系统

来源:互联网 发布:网络开盘抢房技巧 编辑:程序博客网 时间:2024/05/15 10:48
/************************************************************ 版权所有(C)2017jiacunyu **文件名称:jcy.cpp *文件标识:无 *内容摘要:该代码用于创建一个考试报名管理系统 *其它说明:无 *当前版本:V1.0 *作者:贾存钰 *完成日期:20171221 **修改记录1: *修改日期:20171221 *版本号:V1.0 *修改人:贾存钰 *修改内容:创建 **********************************************************/  


#include"jcy.h"#include<string.h>#include<iostream>//1.报名信息添加函数/**********************************************************功能描述:添加信息*输入参数:p*输出参数:p*返回值 :p*其它说明:无***********************************************************/ LinkList * InsetList(LinkList *&p){    LinkList *L=p;    while(L->next!=NULL)    L=L->next;    LinkList *q;    q=(LinkList *)malloc(sizeof(LinkList));    cout<<"考号:";    cin>>q->data.KH;    cout<<"姓名:";    cin>>q->data.XM;    cout<<"性别:";    cin>>q->data.XB;    cout<<"年龄:";    cin>>q->data.NL;    cout<<"籍贯:";    cin>>q->data.JG;    cout<<"考试类别:";    cin>>q->data.KSLB;    q->next=L->next;    L->next=q;    return p;}  //2.报名表人数统计/************************************************************功能描述:统计总数*输入参数:p*输出参数:n*返回值 :n*其它说明:无***********************************************************/ int ListLength(LinkList *p){    int n=0;    LinkList *L=p;    while(L->next!=NULL)    {        n++;        L=L->next;    }    return n;}   //3.考生信息的查询/***********************************************************功能描述:信息查询*输入参数:p*输出参数:无*返回值 :无*其它说明:无***********************************************************/ void FindElem(LinkList *&p){    LinkList *L=p;    char y[99999];    cout<<"请输入需查询者的考号\n";    cin>>y;    while(L!=NULL&&(strcmp(L->data.KH,y)!=0))    {        L=L->next;    }    if(L!=NULL)    {        cout<<"==============================================================================\n";        cout<<"  考生号       姓名     性别     年龄        籍贯                 考试类别 \n";        cout<<L->data.KH<<"       "<<L->data.XM<<"     "<<L->data.XB<<"      "<<L->data.NL             <<"          "<<L->data.JG<<"                 "<<L->data.KSLB<<endl;        cout<<"==============================================================================\n";    }    else        cout<<"没有这个人\n";} //4.报名表信息排序/*********************************************************功能描述:信息排序输入参数:p输出参数:无返回值 :无其它说明:无**********************************************************/ void SortList(LinkList *&p){    LinkList *L=p->next,*q,*r;    if(L!=NULL)    {        r=L->next;        L->next=NULL;        L=r;        while(L!=NULL)        {            r=L->next;            q=p;            while(q->next!=NULL && strcmp(q->next->data.KH,L->data.KH)<0)            q=q->next;            L->next=q->next;            q->next=L;            L=r;        }    }    cout<<"排序完成\n";    DispList(p);} //5.信息修改/**********************************************************功能描述:信息修改*输入参数:p*输出参数:p*返回值 :p*其它说明:无**********************************************************/ LinkList * ReList(LinkList *&p){    LinkList *L;    L=p->next;    if(L!=NULL)    {        char y[12];        cout<<"请输入需修改人的考号\n";        cin>>y;        while(strcmp(L->data.KH,y)!=0)        {            L=L->next;        }        for(;;)        {            cout<<"修改哪类信息\n";            cout<<"1.考号 2.姓名 3.性别 4.年龄 5.籍贯 6.考试类别 其它整数退出";            int x;cin>>x;            if(x==1)            {                cin>>L->data.KH;                cout<<"修改完毕\n";            }            if(x==2)            {                cin>>L->data.XM;                cout<<"修改完毕\n";            }            if(x==3)            {                cin>>L->data.XB;                cout<<"修改完毕\n";            }            if(x==4)            {                cin>>L->data.JG;                cout<<"修改完毕\n";            }            if(x==5)            {                cin>>L->data.KSLB;                cout<<"修改完毕\n";            }            else                break;        }        cout<<"确认更改后信息:\n";        cout<<"==============================================================================\n";        cout<<"考生号     姓名     性别     年龄        籍贯                     考试类别 \n";        cout<<"  "<<L->data.KH<<"          "<<L->data.XM<<"       "<<L->data.XB<<"        "<<L->data.NL             <<"          "<<L->data.JG<<"                         "<<L->data.KSLB<<endl;        cout<<"==============================================================================\n";    }    else        cout<<"表为空\n";    return p;}  //6.考生信息的删除/***********************************************************功能描述:删除信息输入参数:p输出参数:p返回值 :p其它说明:无************************************************************/ LinkList * DelList(LinkList *&p){    LinkList *m=p,*s;    char y[12];    cout<<"请输入需删除者的考号\n";        cin>>y;        while(m!=NULL&&(strcmp(m->next->data.KH,y)!=0))         m=m->next;        if(m==NULL)        {            cout<<"未找到此考生\n";            return NULL;        }              s=m->next;              if(s==NULL)                  return 0;              m->next=s->next;              free(s);   return p;} //7.考生信息表的输出/************************************************************功能描述:输出信息输入参数:p输出参数:无返回值 :无其它说明:无*************************************************************/ void DispList(LinkList *p){    LinkList *L;    L=p->next;    cout<<"考生报名信息表输出:\n";    cout<<"==============================================================================\n";    cout<<"    考生号        姓名     性别     年龄        籍贯                 考试类别  \n";    while(L!=NULL)    {        cout<<L->data.KH<<"       "<<L->data.XM<<"       "<<L->data.XB<<"        "<<L->data.NL             <<"          "<<L->data.JG<<"               "<<L->data.KSLB<<endl;         L=L->next;    }    cout<<"==============================================================================\n";    cout<<"                  输出结束\n";}

/************************************************************版权所有(C)2017jiacunyu**文件名称:head.cpp*文件标识:无*内容摘要:该代码用于创建一个考试报名管理系统*其它说明:无*当前版本:V1.0*作者:贾存钰*完成日期:20171221**修改记录1:*修改日期:20171221*版本号:V1.0*修改人:贾存钰*修改内容:创建**********************************************************/


#include <iomanip>#include<malloc.h>#include<iostream>using namespace std;typedef struct datatype    {    char KH[20];                  //考生考号    char XM[12];                  //考生姓名    char XB[4];                   //性别    char NL[4];                   //年龄    char JG[20];                  //籍贯    char KSLB[10];                //考试类别    }DataType;                    //为结构体命名typedef struct LNode             //节点类型{    DataType data;    struct LNode * next;}LinkList;  LinkList * InsetList(LinkList *&p) ;            //     1 添加  int ListLength(LinkList *p);                    //     2 统计  void FindElem(LinkList *&p);                     //     3 查找  void SortList(LinkList *&p);                    //     4 排序  LinkList * ReList(LinkList *&p);                //     5 修改  LinkList * DelList(LinkList *&p);               //     6 删除  void DispList(LinkList *p);                     //     7 输出信息
  1. /************************************************************ 
  2. 版权所有(C)2017jiacunyu 
  3. **文件名称:main.cpp 
  4. *文件标识:无 
  5. *内容摘要:该代码用于创建一个考试报名管理系统 
  6. *其它说明:无 
  7. *当前版本:V1.0 
  8. *作者:贾存钰 
  9. *完成日期:20171221 
  10. **修改记录1: 
  11. *修改日期:20171221 
  12. *版本号:V1.0 
  13. *修改人:贾存钰 
  14. *修改内容:创建 
  15. **********************************************************/  

#include"jcy.h"#include<iomanip>#include<iostream>using namespace std;int main(){    LinkList *p;    int  xz;    p=(LinkList *)malloc(sizeof(LinkList));    p->next=NULL;for(;;){    cout<<"╭─────考生报名管理系统─────╮\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────1.添加考生信息──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────2.统计考生人数──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────3.查询考生信息──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────4.考生信息排序──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────5.修改考生信息──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────6.删除考生信息──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────7.输出考生信息──────┤\n";    cout<<"┝━━━━━━━━━━━━━━━━━━┥\n";    cout<<"├─────0.退出管理系统──────┤\n";    cout<<"╰──────────────────╯\n";    cout<<"╭──────────────────╮\n";    cout<<"│             请进行操作             │\n";    cout<<"╰──────────────────╯\n";    system("color 70");    cin>>xz;      if(xz==0)      {          cout<<"        您已退出系统       \n";          break;      }      switch(xz)      {      case 0:          cout<<"          谢谢使用\n   ";          break;      case 1:          {              int Z=1;              while(Z==1)              {                  InsetList(p) ;                  cout<<"是否继续添加?1是添加 0是不添加\n";                  cin>>Z;              }              break;          }      case 2:          cout<<"报名人数为:"<<ListLength(p)<<endl;          break;      case 3:          FindElem(p);          break;      case 4:          SortList(p);          break;      case 5:          ReList(p);          break;      case 6:          DelList(p);          break;      case 7:          DispList(p);          break;      default:          cout<<"请重新输入";      }  }  return 0;}





原创粉丝点击