输入学生成绩查询删除系统.doc_第1页
输入学生成绩查询删除系统.doc_第2页
输入学生成绩查询删除系统.doc_第3页
输入学生成绩查询删除系统.doc_第4页
输入学生成绩查询删除系统.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*输入10名学生的信息,每个学生含有成员名为“学号、姓名、语文、数学、英语、政治、计算机、总分、平均分、名次”,分别编写六个函数求:(1)输入一个学生的学号,查询该学生的信息并输出,若不存在显示没找到。(2)输入一个学生的信息,按学号顺序将该学生的信息插入后输出。(3)输入一个已存在学生的姓名信息,删除该学生的信息后输出。(4)求每个学生的总分、平均分并输出;(5)求每门课程的平均分并输出;(6)对所有学生的信息按总分排序,并填写名次后输出;要求:每个学生的信息用结构体,10名学生的信息用数组存储,也可预先放在文件中,再由文件读到数组中。程序启动后先显示“菜单”,当输入为1时,执行第(1)个函数;当输入为2时,执行第(2)个函数;当输入为3时,执行第(3)个函数;当输入为4时,执行第(4)个函数;当输入为5时,执行第(5)个函数;当输入为6时,执行第(6)个函数;当输入为7时,退出系统,当输入其他数字时,提示输入有错误。*/#include #include using namespace std;/定义学生结构体struct student char snum10;/学号 char name10;/姓名 float chi;/语文 float math;/数学 float eng;/英语 float pol;/政治 float com;/计算机 float sum;/总分 float ave;/平均分 int rank;/排名;/系统功能介绍void Introduction() cout-endl; cout-系统菜单-endl; cout功能介绍:endl; cout输入“1”为查找endl; cout操作提示:输入一个学生的学号,查询该学生的信息并输出,若不存在显示没找到。endl; cout输入“2”为插入endl; cout操作提示:输入一个学生的信息,按学号顺序将该学生的信息插入后输出。endl; cout输入“3”为删除endl; cout操作提示:输入一个已存在学生的姓名信息,删除该学生的信息后输出。endl; cout输入“4”为求每个学生的总分、平均分并输出endl; cout输入“5”为求每门课程的平均分并输出endl; cout输入“6”为对所有学生的信息按总分排序,并填写名次后输出endl; coutt注意:执行6步骤前要先执行4步骤endl; cout输入“7”为退出系统endl; cout-endl;/初始化void Initinfo(student *&set,int &len) cout-endl; int i = 0; cout-初始化-endl; cout请将len个学生的信息按照学号从小到大的顺序输入endl; while(i != len) cout请输入第i+1个学生的信息:endl; coutseti.snum; ; coutseti.chi; coutseti.math; coutseti.eng; coutseti.pol; ; seti.sum = 0; seti.ave = 0; seti.rank = 0; i+; /(1)输入一个学生的学号,查询该学生的信息并输出,若不存在显示没找到。void Search(student set,int &len) char num10; coutnum; for(int i = 0 ; i len ; i+) if( !strcmp(num,seti.snum) ) cout该学生的信息为:endl; cout学号:seti.snumendl; cout姓名:endl; cout语文成绩:seti.chiendl; cout数学成绩:seti.mathendl; cout英语成绩:seti.engendl; cout政治成绩:seti.polendl; cout计算机成绩:endl; cout总分为:seti.sumendl; cout平均分为:seti.aveendl; cout排名为:seti.rankendl; return; cout没有找到该学生!endl;/(2)输入一个学生的信息,按学号顺序将该学生的信息插入后输出。void Insert(student *&set,int &len) student temp; cout请输入要插入的学生的信息endl; couttemp.snum; ; couttemp.chi; couttemp.math; couttemp.eng; couttemp.pol; ; temp.sum = 0; temp.ave = 0; temp.rank = 0; cout 0) len+; for(int j = len - 1 ; j i ; j-) setj = setj-1; seti = temp; break; i+; if(i = len) len+; setlen-1 = temp; cout输出所有学生信息;endl; for( i = 0 ; i len ; i+) / cout第i+1个学生的信息为:endl; cout学号:seti.snum ; cout姓名: ; cout语文成绩:seti.chi ; cout数学成绩:seti.math ; cout英语成绩:seti.eng ; cout政治成绩:seti.pol ; cout计算机成绩:endl; /(3)输入一个已存在学生的姓名信息,删除该学生的信息后输出。void Del(student *&set,int &len) char delname10; coutdelname; int i = 0; while(1) if( i = len-1) len-; break; if( !strcmp(,delname) ) for(int j = i+1 ; j len ; j+) setj-1 = setj; len-; break; i+; if(len = 0) cout无学生!endl; return; cout输出剩余学生信息:endl; for(i = 0 ; i len ; i+) / cout第i+1个学生的信息为:endl; cout学号:seti.snum ; cout姓名: ; cout语文成绩:seti.chi ; cout数学成绩:seti.math ; cout英语成绩:seti.eng ; cout政治成绩:seti.pol ; cout计算机成绩:endl; /(4)求每个学生的总分、平均分并输出;void Cal_sum_ave(student *&set,int &len) for(int i = 0 ; i len ; i+) seti.sum = seti.chi + seti.math + seti.eng + seti.pol + ; seti.ave = seti.sum/5; for(i = 0 ; i len ; i+) / cout第i+1个学生的信息为:endl; cout学号:seti.snum ; cout姓名: ; cout总分为:seti.sumendl; cout平均分为:seti.aveendl; /(5)求每门课程的平均分并输出void Cal_subject_ave(student *&set,int &len) int chi_ave = 0,math_ave = 0,eng_ave = 0,pol_ave = 0,com_ave = 0; for(int i = 0;ilen;i+) chi_ave = chi_ave + seti.chi; math_ave = math_ave + seti.math; eng_ave = eng_ave + seti.eng; pol_ave = pol_ave + seti.pol; com_ave = com_ave + ; cout语文的平均成绩为:chi_ave/lenendl; cout数学的平均成绩为:math_ave/lenendl; cout英语的平均成绩为:eng_ave/lenendl; cout政治的平均成绩为:pol_ave/lenendl; cout计算机的平均成绩为:com_ave/lenendl;/(6)对所有学生的信息按总分排序,并填写名次后输出;void Sort_sum(student *&set,int &len) student temp; for(int i = 0 ; i len ; i+) for(int j = 1 ; j setj.sum) temp = setj-1; setj-1 = setj; setj = temp; for(i = len-1 ; i = 0 ; i-) seti.rank = len-i; cout第seti.rank名为:endl; cout学号:seti.snum ; cout姓名: ; cout总分为:seti.sumendl; void main() student set100; int len = 2; student *head = &set0; Initinfo(head,len); Introduction(); int a; while(1) couta; switch(a) case 1: Search(set,len); Introduction(); break; case 2: Insert(head,len); Introduction(); break; case 3: Del(head,len); Introduction(); break; case 4: Cal_sum_ave(head,len); Introduction()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论