建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档格式.docx
- 文档编号:14141997
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:11
- 大小:92.58KB
建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档格式.docx
《建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档格式.docx》由会员分享,可在线阅读,更多相关《建立一个顺序表表中元素为学生每个学生信息包含姓名学号和成绩三部分对该表实现输出插入删除Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
建立一个顺序表,表中元素为学生,每个学生信息包含姓名、学号和成绩三部分,对该表实现:
①输出、②插入、③删除、④查找功能,并计算出平均成绩和总成绩。
三、程序的编写与调试
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);
/*输出*/
分数:
"
<
v[i].score<
endl;
}
/*插入*/voidsq_LList:
:
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;
/*删除*/
voidsq_LList:
del_sq_LList(inti){intk;
if(nn==0)
underflow"
if((i<
1)||(i>
nn)){cout<
Notthiselementinthelist!
for(k=i;
k<
nn;
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<
学号:
v[i].num<
姓名:
v[i].name<
分数:
if(t==0)
Nothisstudentinthelist!
/*按姓名查找*/
sea_name_sq_LList(inti,chary[])
{intt;
{if(strcmp(y,v[i].name)=0)
{t=t+1
分数:
if(t==0)cout<
endl
/*计算*/
cal_sq_LList(intm)
{inti;
floatsum,avr;
{sum=0;
{sum=sum+v[i].score;
avr=sum/(i+1);
总分:
sum<
endl;
平均分:
avr<
intmain()
{intmx;
sq_LLists1(100);
while
(1)
{cout<
1.输出2.插入3.删除4.查找5出\n"
输入0-5:
cin>
>
mx;
switch(mx)
{case1:
s1.prt_sq_LList();
break;
case2:
inti;
STUDENTb;
输入插入点位置和插入元素值:
cin>
i>
b.num>
b.name>
b.score;
s1.ins_sq_LList(i,b);
case3:
cout<
请输入删除学生的位置:
i;
s1.del_sq_LList(i);
s1.prt_sq_LList();
case4:
intmain(){intmx;
1.按学号查找2.按姓名查找0.cout<
输入0-2:
计算0.退
break;
返"
{
case1:
longdoublek;
批注[A1]:
删除cout<
请输入要查找学生的学号
k;
删除s1.sea_num_sq_LList(i);
case2:
chary[10];
批注[A3]
请输入要查找学生的姓名:
y;
s1.sea_name_sq_LList();
case0:
返回"
return
}return0;
}break;
case5:
s1.cal_sq_LList();
程序结束"
return0;
return0;
2、正确程序:
usingnamespacestd;
classsq_LList
voidsea_name_sq_LList();
/*输出*/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[2].num=970158;
strcpy(v[2].name,"
v[3].num=970159;
strcpy(v[3].name,"
v[4].num=970160;
strcpy(v[4].name,"
nn=5;
李小青"
v[1].score=96;
刘华"
v[2].score=85;
王伟"
v[3].score=93;
李启明"
v[4].score=88;
prt_sq_LList()
i<
i++)
k--)
v[k]=v[k-1];
del_sq_LList(inti)
{intk;
nn))
return;
k++)
v[k-1]=v[k];
sea_num_sq_LList(inti)
{intk,t;
sea_name_sq_LList()
{chary[10];
inti,t;
{if(strcmp(y,v[i].name)==0)
{t=t+1;
1.输出2.插入3.删除4.查找5.计算0.退出\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建立 一个 顺序 表表 元素 学生 每个 信息 包含 姓名 学号 成绩 三部 实现 输出 插入 删除
![提示](https://static.bdocx.com/images/bang_tan.gif)
链接地址:https://www.bdocx.com/doc/14141997.html