shixian.hpp
#include<iomanip>
#include<iostream>
#include<mm_malloc.h>
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 LinkList //节点类型
{
DataType data;
struct LinkList * next;
}LNode; //节点命名
int InsetList(LNode *&p) ; // 1 添加
int ListLength(LNode *p); // 2 统计
void FindElem(LNode *p); // 3 查找
void SortList(LNode *&p); // 4 排序
LNode ReList(LNode *&p); // 5 修改
int DelList(LNode *&p); // 6 删除
LNode DispList(LNode *p); // 7 输出信息
wcf.cpp
/*********************************************************
* 功能描述:报名信息添加 *
* 输入参数: 头指针p,考生信息
* 输出参数: 无
* 返回值:0
* 其它说明:无 *
************************************************************/
//1.报名信息添加 尾插法
#include"shixian.hpp"
int InsetList(LNode *&p)
{
LNode *L=p;
while(L->next!=NULL)
L=L->next;
LNode *q;
q=(LNode *)malloc(sizeof(LNode));//向系统请求分配内存空间来装LNode这种类型的指针数据的内存大小
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 0;
}
rs,cpp
/*********************************************************
* 功能描述:报名人数统计 *
* 输入参数: 头指针p
* 输出参数: 人数n
* 返回值:n
* 其它说明:无 *
************************************************************/
#include "shixian.hpp"
//2.人数统计
int ListLength(LNode *p)
{
int n=0;
LNode *L=p;
while(L->next!=NULL)
{
n++;
L=L->next;
}
return n;
}
xxcx.cpp
/*********************************