资源简介
数据结构课设运动会分数统计
C++源码
需要的拿去
代码片段和文件信息
#include //对cin,cout的值做操纵
#include //用于文件的操作
#include //用于数值交还
#define MAXSIZE 40 //定义表的最大长度用以存储记录
#define n 20 //学校数
#define m 20 //男子项目数
#define w 20 //女子项目数
//定义结构体变量,存储关键字
typedef struct ElemType
{ //成绩记录类型
int item_no; //项目编号
char item_name[20]; //项目名称
int school_no; //学校编号
char school_name[20]; //学校名称
int place; //前五前三名
int score; //得分
int order; //名次
};
//顺序表结构类型List
typedef struct List
{
ElemType* element;
int length;
};
void ClearList(List &L)//清空线性表
{
if (L.element!=NULL) {
delete []L.element;
L.element=NULL;
}
L.length=0;
}
void InitList(List &L) //初始化线性表
{
L.element=new ElemType[MAXSIZE];
if (L.element==NULL)
{cout<<“内存为空“< exit(1);
}
L.length=0;
}
bool InsertList(List &LElemType itemint x) //插入数据元素x
{ if (L.length >MAXSIZE)
{cout<<“上溢!“< if (x<1||x>L.length+1)
{cout<<“位置异常“< if (L.length==MAXSIZE) {
int k=sizeof(ElemType);
L.element=(ElemType*)realloc(L.element2*MAXSIZE*k);
if (L.length==NULL)
{cout<< “动态可分配的存储空间用完,退出运行!“< exit(1);
}
}
for( int j=L.length-1;j>=x-1;j--)
L.element[j+1]=L.element[j];
L.element[x-1]=item;
L.length++;
ofstream f1(“运动会数据.txt“ios::app);//打开记录文本
f1.write((char*)&L.element[x-1]sizeof(ElemType)); //把插入线性表的元素写入文件
return true;
}
bool DeleteList(List &Lint x) //删除某个元素
{
if (L.length==0) {
cout<<“线性表为空,删除无效!“< return false;
}
if (x<0||x>L.length) {
cout<<“输入值无效!“< return false;
}
for(int i=x;i L.element[i-1]=L.element[i];//记录删除后后面的记录依次向前进位
L.length--;
cout<<“删除成功!“< return true;
}
int LenthList(List &L) //得到线性表的长度
{
return L.length;
}
void PrintElement(List &Lint x) //得到线性表中指定序号为x的元素
{
if (x<1||x>L.length)
{
cout<<“所给的值越界!“< return;
}
//给定一定宽度存放数据
cout< “学校名称“<
cout< L.element[x-1].school_no< setw(10)< cout< }
bool ReadFileTxt(List &L) //生成数据文本
{
ifstream f1(“运动会数据.txt“ios::in|ios::out); //对文件可进行输入输出操作
ElemType x;
if(f1.read((char*)&xsizeof(ElemType))) //判断文件中是否有资料
{
cout< “学校名称“< f1.seekg(0); //把文件指针移到文件的开始位置
}
else
cout<<“文件中无资料,请先输入成绩!“<
- 上一篇:C++课程设计飞机订票系统
- 下一篇:vs mfc opengl配置教程
评论
共有 条评论