全国英语等级考试报名管理系统

来源:互联网 发布:python cookie文档 编辑:程序博客网 时间:2024/04/29 05:10
/*  *Copyright  (c)2017,烟台大学计算机与控制工程学院      *All rights reservrd.           *作者:马明祥 *完成时间:2017年12月21日      *版本号:v1.0      *问题描述:全国英语等级考试报名管理系统

一、头文件

/*********************************************************** * 版权所有 (C)2017, Mamingxiang。 * * 文件名称: mmx.h * 文件标识:无 * 内容摘要:该代码用于函数声明及结构体构建 * 其它说明:无 * 当前版本: V1.0 * 作 者:马明祥 * 完成日期: 2017 12 21 * * 修改记录1: * 修改日期: 2017 12 21 * 版本号: V1.0 * 修改人: 马明祥 * 修改内容:创建 **********************************************************/  
#include <iomanip>#include<malloc.h>#include<iostream>using namespace std;typedef struct datatype{char KH[13];                  //考生考号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 查找  LinkList * ReList(LinkList *&p);                //     4 修改  LinkList * DelList(LinkList *&p);               //     5 删除  void DispList(LinkList *p);                     //     6 输出信息

二、源文件

/*********************************************************** * 版权所有 (C)2017,Mamingxiang。 * * 文件名称: mmx.cpp* 文件标识:无 * 内容摘要:该代码用于函数的定义* 其它说明:无 * 当前版本: V1.0 * 作 者:马明祥 * 完成日期: 2017 12 21 * * 修改记录1: * 修改日期: 2017 12 21 * 版本号: V1.0 * 修改人: 马明祥 * 修改内容:创建 **********************************************************/  
#include"mmx.h"#include<stdio.h>#include<cstring>//               * 功能描述:录入考生信息 //               * 输入参数:输入录入的信息 //               * 输出参数:无 //               * 备注信息:尾插法创建链表 //***********************************************************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;}//***********************************************************//                  * 功能描述:报名表人数统计//                  * 输入参数:输入需要的考号 //                  * 输出参数:以报名人数//                  * 备注信息:链表用来储存数据//*********************************************************int ListLength(LinkList *p){int n*0;LinkList *L*p;while(L->next!*NULL){n++;L*L->next;}return n;}//***********************************************************//                     * 功能描述:考生信息的查询//                     * 输入参数:输入需要的考号//                     * 输出信息:输出查询考生的信息//                     * 备注信息:链表的遍历//***********************************************************void FindElem(LinkList *p){LinkList *L*p;char y[99999];cout<<"请输入需查询者的考号\n";cin>>y;while(L!*NULL&&(strcmp(L->data.KH,y)!*0))//||strcmp(L->data.XM,y)!*0)){L*L->next;}if(L!*NULL){cout<<"------------------------------------------------------------------------------------------------------------------------\n";cout<<"考生号       姓名    性别     年龄        报名地                        考试类别 \n";cout<<setiosflags(ios::left)<<setw(11)<<L->data.KH<<setiosflags(ios::left)<<setw(9)<<L->data.XM<<setiosflags(ios::left)<<setw(9)<<L->data.XB<<setiosflags(ios::left)<<setw(12)<<L->data.NL                       <<setiosflags(ios::left)<<setw(31)<<L->data.JG<<setiosflags(ios::left)<<setw(0)<<L->data.KSLB<<endl;cout<<"------------------------------------------------------------------------------------------------------------------------\n";}elsecout<<"查无此人\n";}//***********************************************************//                      * 功能描述:信息修改//                      * 输入参数:输入需要的考号//                      * 输出参数:输出需要修改的信息//                      * 备注信息:链表的遍历 格式控制//***********************************************************LinkList * ReList(LinkList *&p){LinkList *L;L*p->next;if(L!*NULL){char y[13];cout<<"请输入需修改考生的考号\n";cin>>y;while(strcmp(L->data.KH,y)!*0)//||strcmp(L->data.XM,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";}elsebreak;}cout<<"确认更改后信息:\n";cout<<"考生号     姓名     性别     年龄        报名地                           考试类别 \n";cout<<setiosflags(ios::left)<<setw(11)<<L->data.KH<<setiosflags(ios::left)<<setw(9)<<L->data.XM<<setiosflags(ios::left)<<setw(9)<<L->data.XB<<setiosflags(ios::left)<<setw(12)<<L->data.NL                       <<setiosflags(ios::left)<<setw(31)<<L->data.JG<<setiosflags(ios::left)<<setw(0)<<L->data.KSLB<<endl;}elsecout<<"表为空\n";return p;}//***********************************************************//                    * 功能描述:考生信息的删除//                    * 输入参数:输入需要的考生号//                    * 输出参数:无//                    * 备注信息:链表的遍历 链表的删除//***********************************************************LinkList * DelList(LinkList *&p){LinkList *m*p,*s;char y[12];cout<<"请输入需删除者的考号\n";        cin>>y;   //if(m!*NULL)while(m!*NULL&&(strcmp(m->next->data.KH,y)!*0))//||strcmp(m->next->data.XM,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;}//***********************************************************//                   * 功能描述:考生信息表的输出//                   * 输入参数:无//                   * 输出参数:所有考生的信息//                   * 备注信息:链表的遍历 格式控制//**********************************************************void DispList(LinkList *p){LinkList *L;L*p->next;cout<<"考生报名信息表输出:\n";cout<<"---------------------------------------------------------------------------------------------------------\n";cout<<"考生号     姓名     性别     年龄        报名地                         考试类别 \n";while(L!*NULL){cout<<setiosflags(ios::left)<<setw(11)<<L->data.KH<<setiosflags(ios::left)<<setw(9)<<L->data.XM<<setiosflags(ios::left)<<setw(9)<<L->data.XB<<setiosflags(ios::left)<<setw(12)<<L->data.NL                       <<setiosflags(ios::left)<<setw(31)<<L->data.JG<<setiosflags(ios::left)<<setw(0)<<L->data.KSLB<<endl; L*L->next;}cout<<"---------------------------------------------------------------------------------------------------------\n";cout<<"                  输出结束\n";}

/*********************************************************** * 版权所有 (C)2017, Mamingxiang。 * * 文件名称: main.cpp * 文件标识:无 * 内容摘要:该代码用于功能的实现 * 其它说明:无 * 当前版本: V1.0 * 作 者:马明祥 * 完成日期: 2017 12 21 * * 修改记录1: * 修改日期: 2017 12 21 * 版本号: V1.0 * 修改人: 马明祥 * 修改内容:创建 **********************************************************/  

#include"mmx.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<<"                               2.统计考生人数       \n";cout<<"                               3.查询考生信息       \n";cout<<"                               4.修改考生信息       \n";cout<<"                               5.删除考生信息       \n";cout<<"                               6.输出考生信息表    \n";cout<<"                               0.安全退出系统       \n";cout<<"                      =============================\n";cin>>xz;  if(xz==0)  {  cout<<"        您已安全退出系统       \n";  break;  }  switch(xz)  {  case 0:  cout<<"          谢谢使用\n   ";  break;  case 1:  {  int K=1;  while(K==1)  {  InsetList(p) ;  cout<<"是否继续添加?(1/0)\n";  cin>>K;  }  break;  }  case 2:  cout<<"当前报名人数为:"<<ListLength(p)<<endl;  break;  case 3:  FindElem(p);  break;  case 4:  ReList(p);  break;  case 5:  DelList(p);  break;  case 6:  DispList(p);  break;  default:  cout<<"输入错误,请重新输入\n";  }  }  return 0;}

三、运行结果截图:

功能一(添加):

功能二(统计):

功能三(查询):

功能四(修改):

功能五(删除):

功能六(输出):

原创粉丝点击