建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx

上传人:b****5 文档编号:20611337 上传时间:2023-01-24 格式:DOCX 页数:11 大小:20.33KB
下载 相关 举报
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx_第1页
第1页 / 共11页
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx_第2页
第2页 / 共11页
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx_第3页
第3页 / 共11页
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx_第4页
第4页 / 共11页
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx

《建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档下载推荐.docx

①输出、②插入、③删除、④查找功能,并计算出平均成绩和总成绩。

三、程序的编写与调试

1、原程序:

#include<

iostream>

usingnamespacestd;

typedefstruct

{longdoublenum;

charname[10];

intscore;

}STUDENT;

classsq_LList

{private:

intmm;

intnn;

STUDENT*v;

public:

sq_LList(int);

voidprt_sq_LList();

voidins_sq_LList(int,STUDENT);

voiddel_sq_LList(int);

voidsea_num_sq_LList(int);

voidsea_name_sq_LList(int,char批注[A2]);

voidcal_sq_LList(int);

};

/*输出*/

sq_LList:

:

sq_LList(intm)

{mm=m;

v=newSTUDENT[mm];

v[0].num=970156;

strcpy(v[0].name,"

张小明"

);

v[0].score=87;

v[1].num=970157;

strcpy(v[1].name,"

李小青"

v[1].score=96;

v[2].num=970158;

strcpy(v[2].name,"

刘华"

v[2].score=85;

v[3].num=970159;

strcpy(v[3].name,"

王伟"

v[3].score=93;

v[4].num=970160;

strcpy(v[4].name,"

李启明"

v[4].score=88;

nn=5;

}

voidsq_LList:

prt_sq_LList()

{inti;

for(i=0;

i<

nn;

i++)

{cout<

<

"

学号:

"

v[i].num<

姓名:

v[i].name<

分数:

v[i].score<

endl;

}

/*插入*/

ins_sq_LList(inti,STUDENTb)

{intk;

if(nn==mm)

{cout<

overflow"

;

return;

if(i>

nn)i=nn+1;

if(i<

1)i=1;

for(k=nn;

k>

=i;

k--)

v[k]=v[k-1];

v[i-1]=b;

nn=nn+1;

}

/*删除*/

del_sq_LList(inti)

if(nn==0)

underflow"

if((i<

1)||(i>

nn))

Notthiselementinthelist!

for(k=i;

k<

k++)

v[k-1]=v[k];

nn=nn-1;

/*按学号查找*/

sea_num_sq_LList(inti)

{intk,t;

____

t=0;

for(i=0;

i<

i++)

{if(v[i].num==k)

{t=t+1;

cout<

}

if(t==0)

cout<

Nothisstudentinthelist!

/*按姓名查找*/

sea_name_sq_LList(inti,chary[])

{intt;

____

t=0;

{if(strcmp(y,v[i].name)=0)

{t=t+1

}

if(t==0)cout<

endl

/*计算*/

cal_sq_LList(intm)

floatsum,avr;

{sum=0;

{sum=sum+v[i].score;

avr=sum/(i+1);

总分:

sum<

endl;

平均分:

avr<

intmain()

{intmx;

sq_LLists1(100);

while

(1)

1.输出2.插入3.删除4.查找5.计算0.退出\n"

输入0-5:

cin>

>

mx;

switch(mx)

{case1:

s1.prt_sq_LList();

break;

case2:

inti;

STUDENTb;

cout<

输入插入点位置和插入元素值:

cin>

i>

b.num>

b.name>

b.score;

s1.ins_sq_LList(i,b);

break;

case3:

请输入删除学生的位置:

cin>

i;

s1.del_sq_LList(i);

s1.prt_sq_LList();

case4:

intmain()

while

(1)

1.按学号查找2.按姓名查找0.返"

输入0-2:

switch(mx)

{

case1:

longdoublek;

批注[A1]:

删除

请输入要查找学生的学号:

k;

s1.sea_num_sq_LList(i);

case2:

chary[10];

批注[A3]

请输入要查找学生的姓名:

y;

批注[A3]

s1.sea_name_sq_LList();

case0:

返回"

return;

}

return0;

}break;

case5:

s1.cal_sq_LList();

case0:

程序结束"

return0;

2、正确程序:

voidsea_name_sq_LList();

cin>

t=0;

sea_name_sq_LList()

{chary[10];

inti,t;

{if(strcmp(y,v[i].name)==0)

{t=t+1;

cout<

return0;

s1.cal_sq_LList(i);

四、实验总结

通过此次试验,我对线性表(顺序存储)有了全面的认识,知道了什么是线性表,以及线性表有什么作用;

并学会了如何根据要求建立一个实际的线性表,包括线性表的输出、插入、删除、查找、计算等功能的编写。

另外,通过此次试验,自己的编程能力得到了一定的提高,对编程中常犯的错误以及如何更正有了更加深入的认识和了解等等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1