数据结构课程设计--考试报名管理
来源:互联网 发布:php游戏开发教程 编辑:程序博客网 时间:2024/03/29 07:30
/* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:cgh22.project * 作者:陈光辉 * 完成日期:2016年12月29日 * 版本号:VC++6.0 * 问题描述:本程序是一个有关于考试报名管理系统。实现了增加、删除、修改、查询、显示、排序等功能。*/
头文件ks.h
#include <iomanip> #include<malloc.h>#include<iostream>using namespace std;typedef struct datatype{char KH[12]; //考生考号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 输出信息
ks.cpp文件#include"ks.h" // 1.报名信息添加函数 尾插法//===========================================================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.报名表人数统计//========================================================= int ListLength(LinkList *p){int n=0;LinkList *L=p;while(L->next!=NULL){n++;L=L->next;}return n; }//=========================================================== // 3.考生信息的查询//===========================================================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"; }//===========================================================// 4.报名表信息排序 冒泡 //===========================================================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.信息修改//===========================================================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)//||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";} else break;}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;}else cout<<"表为空\n"; return p;}//===========================================================// 6.考生信息的删除//===========================================================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;}//===========================================================// 7.考生信息表的输出 //==========================================================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";}
主函数main.cpp#include"ks.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<<" 7.输出考生信息表 \n";cout<<" 0.安全退出系统 \n";cout<<"=============================\n";cout<<" 请选择0-7进行操作 \n";cout<<" 陈光辉 计156-1\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: SortList(p); break; case 5: ReList(p); break; case 6: DelList(p); break; case 7: DispList(p); break; default: cout<<"输错啦!!!重输= =\n"; } } return 0;}
0 0
- 数据结构课程设计--考试报名管理
- 数据结构课程设计【考试报名管理系统】
- 数据结构课程设计—考试报名管理系统
- 数据结构课程设计——考试报名管理系统
- 数据结构课程设计——英语四级考试报名管理
- 课程设计--考试报名管理系统
- 考试报名管理系统课程设计
- 数据结构课程设计(考试管理系统)
- 数据结构课程设计——CET-6报名管理系统
- 考试报名管理
- 考试报名管理
- 考试报名管理系统
- 考试报名管理
- 考试报名管理系统
- 考试报名管理系统
- 数据结构课程设计考生报名系统
- 考生报名管理系统 课程设计
- 公交线路管理 数据结构课程设计
- 如何用pycharm来调试odoo?
- skip-grant-tables:非常有用的mysql启动参数
- OTA--卡刷全包、差分升级包制作、分析(代码摘自Google)---2
- 查看会话信息
- Leetcode刷题记—— 35. Search Insert Position(查找插入位置)
- 数据结构课程设计--考试报名管理
- Error: Error parsing D:\android-sdk-windows\sdk\system-images\android-22\android-wear\x86\devices.xm
- 抽象工厂模式(设计模式_17)
- ubuntu ftp 服务器搭建及vsftpd.conf配置实例详解
- linux c之gdb常用断点调试总结
- The Knowledge of Linux-.-Day01
- 2017年值得一看的设计趋势(一)
- (2)Javascript之函数的多种调用方式
- 腻害了!我的console.log