/***********************************************************
* 版权所有 (C)2017,考试报名管理系统
*
* 文件名称: main.cpp
* 文件标识:main
* 内容摘要:函数文件
* 其它说明:主函数
* 当前版本: V3.0
* 作 者:宋昊
* 完成日期: 2017.12.21
*
* 修改记录1:
* 修改日期 :2017.12.20
* 版本号: V1.0
* 修改人: 宋昊
* 修改内容:修复统计信息Bug
*
* 修改记录2:
* 修改日期 :2017.12.21
* 版本号: V2.0
* 修改人:
* 修改内容:修复修改信息Bug
*
**********************************************************/
#ifndef ST_H_INCLUDED
#define ST_H_INCLUDED
typedef struct student
{
int num;
char sex[10];
char name[10];
char address[10];
int type;
}ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
} LinkList;
void InitList(LinkList *&L); //初始化线性表
void DestroyList(LinkList *&L); //销毁线性表
void CreateListR(LinkList *&L); //采用尾插法创建链表
void DispList(LinkList *L); //输出链表
int LocateElem(LinkList *L); //查找信息
int ListDelete(LinkList *&L); //删除信息
int create(LinkList *&L); //修改信息
void sort(LinkList *&L); //排序信息
void sumList(LinkList *&L); //统计信息
void Insterlist(LinkList *L); //插入信息
void display(); //菜单名
void Display(LinkList *L); //菜单对应的操作
#endif // ST_H_INCLUDED
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#include <iostream>
#include "st.h"
using namespace std;
ElemType e;
/***********************************************************
* 功能描述:初始化线性表 建立一个空的单链表,创建一个头结点
* 输入参数:L
* 输出参数:无
* 返回值 :无
* 其它说明:无
************************************************************/
void InitList(LinkList *&L)
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
}
/***********************************************************
* 功能描述:销毁线性表,释放单链表L占用的内存空间,即逐一释放全部节点的空间
* 输入参数:L
* 输出参数:空链表
* 返回值 :无
* 其它说明:无
************************************************************/
void DestroyList(LinkList *&L)
{
LinkList *p=L,*q=p->next;
while (q!=NULL)
{
free(p);
p=q;
q=p->next;
}
free(p);
L->next=NULL;
printf("释放空间成功!\n");
}
/***********************************************************
* 功能描述:采用尾差法创建链表
* 输入参数:该链表的总人数n
* 输出参数:无
* 返回值 :无
* 其它说明:无
************************************************************/
void CreateListR(LinkList *&L) //采用尾差法创建链表>
{ int n; //该链表的总人数
printf("请输入要增加的人数n=");
scanf("%d",&n);
LinkList *s,*r;in