- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 查找、排序的应用
一、实验目的
1、本实验可以使学生更进一步巩固各种查找和排序的基本知识。
2、学会比较各种排序与查找算法的优劣。
3、学会针对所给问题选用最适合的算法。
4、掌握利用常用的排序与选择算法的思想来解决一般问题的方法和技巧。
二、实验内容
[问题描述]
对学生的基本信息进行管理。
[基本要求]
设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、性别、成绩1、成绩
2、总成绩等信息。要求实现以下功能:
总成绩要求自动计算;
查询:分别给定学生学号、姓名、性别,能够查找到学生的基本信息(要求至少用两种查找算法实现);
排序:分别按学生的学号、成绩 1、成绩 2、总成绩进行排序(要求至少用两种排
序算法实现)。
三.主要功能:实现学生成绩的录入,并分别按照学号,姓名和性别进行查询,按照成绩 1,2 和总成绩分别排序。
四.主要实现函数
折半查找for(i=1;iST.length;i++)
{for(j=i;j=1;j--)
if(ST.r[j].numST.r[j-1].num)
{LI=ST.r[j];
ST.r[j]=ST.r[j-1];
ST.r[j-1]=LI;}
顺序查找=0;
cout输入要查找的姓名endl; cinname; for(i=0;iST.length;i++) if(name==ST.r[i].name)
{coutST.r[i].num ST.r[i].name ST.r[i].sex
ST.r[i].className ST.r[i].mark1 ST.r[i].mark2
ST.r[i].mark1+ST.r[i].mark2endl;a=1;} 3.选择法排序for(i=0; iST.length;i++)
{
for (j=i+1;jST.length;j++)
{
if(ST.r[i].sumST.r[j].sum)
{
五.源程序
#include iostream #includestring #include iomanip
LI=ST.r[j]; ST.r[j]=ST.r[i]; ST.r[i]=LI;
using namespace std; #define MAXSIZE 100 typedef struct
{
float num;//学生学号string name;//学生姓名string sex;//性别
char className[20];//班级名称float mark1;// 第 1 门 成 绩 float mark2;// 第 2 门 成 绩 float sum;//第 3 门成绩
}DataType;
typedef struct //定义顺序表的结构
{
DataType r[ MAXSIZE +1 ]; //存储顺序表的向量int length; //顺序表的长度
}SqList; int menu()
{
int i;
cout /////////////////////////////////////////////////endl; cout 学生信息管理系统\n endl; cout /////////////////////////////////////////////////endl; cout 1.输入成绩endl;
cout 2.查询成绩endl;
cout 3.成绩排序endl;
cout 4.退出endl;
cout请选择 1-4:endl; cini;
while(i0||i4)
{
cout对不起, 您输入错误!endl; //提示输入是否错误cout请重新输入 1-4: endl;
cini;
}
return i;
}
void CreatList(SqList ST) //创建学生的相关信息
{
cout请输入学生的个数endl; cinST.length;
cout 学号 姓名 性别 班级 成绩 1 成绩 2 endl; for(int i=0;iST.length;i++)
{
cout 输 入 第 i+1 学 生 的 信 息 endl; cinST.r[i].numST.r[i].nameST.r[i].sexST.r[i].classNameST.r[i].mar
k1ST.r[i].mark2;
}
cout完成输入endl;
}
void output(SqList ST)//输出
{
cout学生的信息如下endl;
cout 学号 姓名 性别 班级 成绩 1 成绩 2 总分
endl;
for(int i=0;iST.length;i++) coutsetw(6)ST.r[i].numsetw(6)ST.r[i].namesetw(6)ST.r[i].sexse
您可能关注的文档
最近下载
- 湘少版2025年三年级春季学期英语阅读理解真题.pdf VIP
- 乘着歌声的翅膀降A调正谱伴奏.pdf VIP
- 游戏开发与游戏运营的策划技巧.docx VIP
- (正式版)H-Y-T 147.1-2013 海洋监测技术规程 第1部分:海水(正式版).docx VIP
- 中央八项规定精神相关解读.ppt VIP
- 通用学术英语1(张敬源)课后习题答案.docx VIP
- (统编2024版)语文八年级上册第三单元解读课件(新教材).pptx
- 河南安阳红色文化传承模式研究.pptx VIP
- 人教PEP版(2024)三年级上册英语全册教案(单元整体教学设计) .pdf
- 加快建设教育强国、科技强国、人才强国PPT课件 .pptx VIP
原创力文档


文档评论(0)