建立一个顺序表,表中元素为学生,每个学生信息包含姓名、学号和成绩三部分,对该表实现输出、插入、删除、

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

v[3].score=93; v[4].num=970160; strcpy(v[4].name,"李启明
"); v[4].scoreΒιβλιοθήκη Baidu88;
nn=5;
}
void sq_LList ::prt_sq_LList()
{ int i;
for(i=0; i<nn; i++)
{ cout<<"学号: "<<v[i].num<<" 姓名: "<<v[i].name<<"
4
Commented [A1]: error C2065: 'k' : undeclared identifier 错误原因:变量 k 缺少定义和申明; sq_LList ::sea_num_sq_LList(int i)中缺少对变量 k 定义和申明,不能再 case 4 中的 case1 中定义和申明。 修改:在该处对变量 k 进行申明和定义,并把 case 4 中 的 case 1 中的定义和申明删除。
____ t=0;
for(i=0;i<nn;i++) { if(strcmp(y,v[i].name)=0)
{t=t+1 cout<<"学号: "<<v[i].num<<" 姓名: "<<v[i].name<<" "<<"分数: "<<v[i].score<<endl;
} } if(t==0) cout<<"No this student in the list!"<<endl } /*计算*/ void sq_LList ::cal_sq_LList(int m) { int i; float sum,avr; { sum=0; for(i=0;i<nn;i++) {sum=sum+v[i].score; avr=sum/(i+1);
Commented [A2]: error C2511: 'sea_name_sq_LList' : overloaded member function 'void (int,char [])' not found in 'sq_LList' 原因:重载的成员函数“void(int,char [])在 sq_llist 没 有找到” 修改:将定义删除,包括 class 里的定义。
if(nn==0) {cout<<"underflow"<<endl; return ;}
if((i<1)||(i>nn)) {cout<<"Not this element in the list!"<<endl;
return ; }
3
for(k=i; k<nn; k++) v[k-1]=v[k]; nn=nn-1;
"<<"分数: "<<v[i].score<<endl;
2
} } /*插入*/ void sq_LList ::ins_sq_LList(int i, STUDENT b) { int k;
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; } /*删除*/ void sq_LList ::del_sq_LList(int i) { int k;
含姓名、学号和成绩三部分,对该表实现:① 输出、② 插入、③ 删除、④ 查找功能,并计算出平均成绩和总 成绩。
三、程序的编写与调试
1、原程序: #include <iostream> using namespace std; typedef struct { long double num; char name[10]; int score; } STUDENT; class sq_LList { private:
1
void sea_name_sq_LList(int ,char 批注[A2]);
void cal_sq_LList(int);
};
/*输出*/
sq_LList ::sq_LList(int m)
{ mm=m;
v=new STUDENT [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,"王 伟");
} /*按学号查找*/ void sq_LList ::sea_num_sq_LList(int i) { int k,t ; ____
t=0; for(i=0;i<nn;i++)
{ if(v[i].num==k) { t=t+1; cout<<"学号: "<<v[i].num<<" 姓名: "<<v[i].name<<"
"<<"分数: "<<v[i].score<<endl; }
} if(t==0) cout<<"No this student in the list!"<<endl;
} /*按姓名查找*/ void sq_LList ::sea_name_sq_LList(int i, char y[]) { int t;
int mm; int nn; STUDENT *v; public: sq_LList(int); void prt_sq_LList(); void ins_sq_LList(int, STUDENT); void del_sq_LList(int); void sea_num_sq_LList(int);
相关文档
最新文档