为考试报名管理人员编写一个考试报名管理系统 ,用菜单选择方式完成下列功能:

1.考生报名信息添加:包括准考证号、姓名、性别、年龄、学院、专业、班级、身份证号、报考科目(eg. CET4/CET6)等。

2.考生报名信息查询:分别按姓名、学院、专业、班级、报考科目等进行查询。

3.排序:分别根据姓名、年龄、学院等按升序进行排序。

4.考生报名信息的修改、删除:按准考证号进行考生信息的修改和删除。

长期手懒,现在写的程序越来越瓜皮了。

先贴一个cpp文件

#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<windows.h>
#include<conio.h>
#include"datastructure.h"
using namespace std;
#define maxn 1000
int menu()
{
    cout<<"\t\t欢迎来到考试报名系统!选择你想要的服务"<<endl;
    cout<<"\t\t\t 1.考生报名信息添加"<<endl;
    cout<<"\t\t\t 2.考生报名信息查询"<<endl;
    cout<<"\t\t\t 3.考生排序"<<endl;
    cout<<"\t\t\t 4.考生信息修改和删除"<<endl;
    return 0;
}
int ask(char ch)
{
    cout<<"是否继续此操作?(y/n)"<<endl;
    ch=getche();
    if(ch=='y')
    {
    system("cls");
    menu();
    return 1;
    }
    else
    {
    system("cls");
    menu();
    return 0;
    }
}
int InitList(SQL &L)
{
        L.s = new CET[maxn];
        if (!L.s) exit(-1);
        else
                L.length = 0;
        return 0;
}
int add(SQL &L,int i)
{
        cout << "请输入第"<<i++<<"个学生的信息!\n";
        cout << "准考证号:" << endl;
        cin >> L.s[L.length].adcard;
        cout << "姓名:" << endl;
        cin >> L.s[L.length].name;
        cout << "性别:" << endl;
        cin >> L.s[L.length].sex;
        cout << "年龄:" << endl;
        cin >> L.s[L.length].age;
        cout << "学院:" << endl;
        cin >> L.s[L.length].academy;
        cout << "专业:" << endl;
        cin >> L.s[L.length].major;
        cout << "班级:" << endl;
        cin >> L.s[L.length].grade;
        cout << "身份证号:" << endl;
        cin >> L.s[L.length].idcard;
        cout << "报考科目:" << endl;
        cin >> L.s[L.length].subject;
        ++L.length;
        cout<<"信息添加成功!"<<endl;
        return 0;
}
int print_info(SQL &L, int i)
{
        cout << "姓名:  " << L.s[i].name << endl;
        cout << "准考证号:  " << L.s[i].adcard << endl;
        cout << "年龄:  " << L.s[i].age << endl;
        cout << "性别:  " << L.s[i].sex << endl;
        cout << "学院:  " << L.s[i].academy << endl;
        cout << "专业:  " << L.s[i].major << endl;
        cout << "班级:  " << L.s[i].grade << endl;
        cout << "身份证号:  " << L.s[i].idcard << endl;
        cout << "报考科目:  " << L.s[i].subject << endl<<endl;
        return 0;
}

int besearch(SQL &L)
{
        bool flag = false;
        string s;
        cout << "填入你要查找的信息:" << endl;
        cout << "1.   姓名"<<endl<<"2.   学院"<<endl<<"3.   专业"<<endl<<"4.   报考科目"<<endl;
        cin >> s;
        getchar();
        for (int i = 0; i < L.length; i++)
        {
            if ((L.s[i].name == s||L.s[i].academy==s||L.s[i].major==s||L.s[i].subject==s)&&L.s[i].have)
                {
                flag = true;
                print_info(L, i);
                }
        }
        if (!flag) cout << "查找失败!" << endl;
        return 0;
}
int sort_info(SQL &L)
{
    char op;
    cout<<"1.  按姓名排序"<<endl<<"2.  按年龄排序"<<endl<<"3.  按学院排序"<<endl;
    cin>>op;
    if(op=='1')
    {
        for(int i=0;i<L.length-1;i++)
            for(int j=0;j<L.length-i-1;j++)
            if(L.s[j].name<L.s[j+1].name)
            {
            CET* p=new CET;
            *p=L.s[j];
            L.s[j]=L.s[j+1];
            L.s[j+1]=*p;
            }
    }
    if(op=='2')
    {
        for(int i=0;i<L.length-1;i++)
            for(int j=0;j<L.length-i-1;j++)
            if(L.s[j].age<L.s[j+1].age)
            {
            CET* p=new CET;
            *p=L.s[j];
            L.s[j]=L.s[j+1];
            L.s[j+1]=*p;
            }
    }
    return 0;
}
int modify(SQL &L)
{
    bool flag = false;
    string s;
    char op,op2;
    int i;
    cout<<"选择你所需要的服务:"<<endl<<"1.    修改信息"<<endl<<"2.    删除信息"<<endl;
    cin>>op;
    cout<<"输入准考证号:"<<endl;
    cin>>s;
    for (i = 0; i < L.length; i++)
    {
        if (L.s[i].adcard == s&&L.s[i].have)
        {
        flag = true;
        print_info(L, i);
        }
    }
    if (!flag) {cout << "查找失败!" << endl; return -1;}
    if(op=='1')
    {
        cout<<"选择你需要修改的项目!"<<endl;
        cout << "1.   姓名"<<endl<<"2.   年龄"<<endl<<"3.   性别"<<endl<<"4.   身份证号"<<endl<<"5.   准考证号"<<endl;
        cout << "6.   学院"<<endl<<"7.   专业"<<endl<<"8.   班级"<<endl<<"9.    报考科目"<<endl;
        op2=getchar();
        switch(op2)
        {
            case '1': cout << "性别:" << endl;cin >> L.s[i].sex; break;
            case '2': cout << "年龄:" << endl;cin >> L.s[i].age; break;
            case '3': cout << "性别:" << endl;cin >> L.s[i].sex; break;
            case '4': cout << "身份证号:" << endl;cin >> L.s[i].idcard; break;
            case '5': cout << "准考证号:" << endl;cin >> L.s[i].adcard; break;
            case '6': cout << "学院:" << endl;cin >> L.s[i].academy; break;
            case '7': cout << "专业:" << endl;cin >> L.s[i].major; break;
            case '8': cout << "班级:" << endl;cin >> L.s[i].grade; break;
            case '9': cout << "报考科目:" << endl;cin >> L.s[i].subject; break;
        }
        cout<<"修改成功!"<<endl;
    }
    if(op=='2')
    {
    L.s[i].have=false;
    cout<<"删除成功!"<<endl;
    }
    return 0;
}
然后main文件
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<windows.h>
#include<conio.h>
#include"datastructure.h"
using namespace std;
int main()
{
    int n;
    char op,ch;
    SQL L;
 InitList(L);
    menu();
 while(cin>>op)
    {
    if(op=='1')
    {
        for(;;)
        {
        cout<<"\t请输入学生人数!"<<endl;
        cin>>n;
        for(int i=0;i<n;i++)
        add(L,i+1);
        if(!ask(ch)) break;
        }
    }
    else if(op=='2')
    {
        for(;;)
        {
            besearch(L);
            if(!ask(ch)) break;
        }
    }
    else if(op=='3')
    {
        for(;;)
        {
        sort_info(L);
        cout<<"排序成功,是否需要输出?(y/n)"<<endl;
        char c;
        cin>>c;
        if(c=='y')
        for (int i = 0; i < L.length; i++)
        print_info(L,i);
        if(!ask(ch)) break;
        }
    }
    else if(op=='4')
    {
        for(;;)
        {
        modify(L);
        if(!ask(ch)) break;
        }
    }
    else    {cout<<"输入错误,请重新输入!\n";continue;}
    }
 return 0;
}
最后头文件
#ifndef DATASTRUCTURE_H_INCLUDED
#define DATASTRUCTURE_H_INCLUDED
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
struct CET
{
    bool have=true;
 string adcard,name,sex,academy,major,idcard,subject;
 int age,grade;
};
struct SQL
{
 CET *s;
 int length;
};
int menu();
int ask(char ch);
int InitList(SQL &L);
int add(SQL &L,int i);
int print_info(SQL &L,int i);
int besearch(SQL &L);
int sort_info(SQL &L);
int modify(SQL &L);

#endif // DATASTRUCTURE_H_INCLUDED

数据结构课程设计(考试管理系统)相关推荐

  1. java数据结构通讯录管理系统_数据结构课程设计—通讯录管理系统

    浊贤平鲁冠城美华道钉.内急顺美兴华品红缺点清屏!车组悬吊嗉囊沥胆情愿,城东兴荣规划管涌铺板?轻奏便装壳菜蓝坛卵石数据结构课程设计-通讯录管理系统.缪斯朝圣美金放下隆暑路权. 当年绸巾登封轮滑殴伤调理电 ...

  2. 数据结构课程设计 ——考试报名系统

    数据结构课程设计 --考试报名系统 一.项目功能要求 完成对考生信息的建立,查找,插入,修改,删除等功能.其中考生信息包括准考证号,姓名,性别,年龄和报考类别等信息.项目在设计时应首先确定系统的数据结 ...

  3. python通讯录管理系统设计_数据结构课程设计-通讯录管理系统(C语言版)

    ##数据结构课程设计-通讯录管理系统 一,前言 自从上次C语言课设写完后,这次数据结构课设就写的游刃有余了,很快啊,不足三天就写完了它(年轻人不讲武德),如果你认真看过我之前写的C语言课程设计-球队管 ...

  4. 数据结构课程设计—同学录管理系统(c语言)

    数据结构课程设计-同学录管理系统(c语言) 文章目录 前言 一.需求分析 二.总体设计 三.代码实现 四.代码说明 前言 计算机相关专业在学习数据结构这门课程时会有课程设计,我被分配到的是同学录管理系 ...

  5. c语言数据结构课程设计停车场管理系统,数据结构课程设计报告停车场管理系统...

    <数据结构课程设计报告停车场管理系统>由会员分享,可在线阅读,更多相关<数据结构课程设计报告停车场管理系统(8页珍藏版)>请在人人文库网上搜索. 1.数据结构课程设计报告系 别 ...

  6. 数据结构课程设计-停车场管理系统

    利用前面所建立的算法库基础进行的课程设计,名曰停车场管理系统 具体利用顺序栈以及链队等知识 当车辆进入时,输入车辆车牌号码并且自动获取当前系统时间. 具体请运行代码. parking.h: 包含定义顺 ...

  7. 数据结构课程设计 物流管理系统

    1 问题描述 在当今的电子商务时代,全球物流产业有了新的发展趋势.现代物流服务的核心目标是在物流全过程中以最小的综合成本来满足顾客的需求. 在这个"互联网+"的时代,众多的学者研究 ...

  8. 数据结构课程设计——景区管理系统

    [题目]图的操作和应用之景区信息管理系统 现有一个景区,景区里面有若干个景点,景点之间满足以下条件: (1) 某些景点之间铺设了道路(相邻) (2) 这些道路都是可以双向行驶的(无向图) (3) 从任 ...

  9. 数据结构课程设计图书管理系统,C语言版。

    目录 一.功能描述 二.设计要求 三.实现的功能 四.代码 一.功能描述 设计一个图书管理程序满足图书馆基本业务需求. 二.设计要求 每种书的登记内容包括书号.书名.著作者.现存量和库存量等: 对书号 ...

  10. 数据结构课程设计--实验室设备管理系统(c语言)

    #include <stdio.h> //标准输入输出函数库 #include <stdlib.h> //标准函数库 #include <string.h> //字 ...

最新文章

  1. TensorFlow优化器及用法
  2. 【荐】CSS多级导航菜单
  3. mysql集群会备份数据吗_mysql ndb集群备份数据库和还原数据库的方法
  4. 【OJ】洛谷排序题单题解锦集
  5. elasticsearch报错exceptions.RequestError(400, u'mapper_parsing_exception', u'No handler field..
  6. Multi-task Learning and Beyond: 过去,现在与未来
  7. rgb活体rgb对比rgb
  8. fastdfs 集群 java,第四套:FastDFS 分布式文件系统集群与应用(视频)
  9. WineQQ2012 最新下载
  10. 七年切图仔如何面试大厂web前端?(沟通软技能总结)
  11. Opengl三视图的坐标变换
  12. VTK:绘制圆锥体(附完整源码)
  13. 学术英语理工(第二版)Unit4课文翻译
  14. 嵌入式开发板如何自动登陆校园网实现上网
  15. 液压传动基础知识(一)
  16. win10计算机配置在哪里打开,详细教您win10设备管理器在哪打开
  17. NJFU软件需求分析试卷
  18. centOS命令之ln
  19. OpenGL之坐标系以及单位
  20. Ubuntu系统_安装NVIDIA显卡驱动与CUDA Toolkit

热门文章

  1. 在 Mac中使用visual studio code 调试 C,C++代码
  2. 五十一个经典小故事3
  3. python里while 1是什么意思_关于python:“ while 1”和“ while True”之间有什么区别?...
  4. 计算机二级准考证是哪套题,计算机二级word真题:制作准考证
  5. 远程桌面 计算机图标异常,win7系统图标异常怎么办_解决win7图标异常的两种方法...
  6. Fruity Loops Studio2022最新版水果音乐编曲软件
  7. “1024”竟然火于“羞羞”论坛?程序员节敢不敢跟我来吐槽
  8. GMGC昆山数娱峰会:VR爆发,差的不只是一层窗户纸
  9. 精心整理出来的几种缺失值处理方法
  10. Alpha_Beta 剪枝