• 大小: 13KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签:

资源简介

数据结构课设运动会分数统计 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<<“文件中无资料,请先输入成绩!“<

评论

共有 条评论