![C++课程设计学生成绩管理系统]_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/01028788-83a2-4b4e-8fdc-0f616f2c31dc/01028788-83a2-4b4e-8fdc-0f616f2c31dc1.gif)
![C++课程设计学生成绩管理系统]_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/01028788-83a2-4b4e-8fdc-0f616f2c31dc/01028788-83a2-4b4e-8fdc-0f616f2c31dc2.gif)
![C++课程设计学生成绩管理系统]_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/01028788-83a2-4b4e-8fdc-0f616f2c31dc/01028788-83a2-4b4e-8fdc-0f616f2c31dc3.gif)
![C++课程设计学生成绩管理系统]_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/01028788-83a2-4b4e-8fdc-0f616f2c31dc/01028788-83a2-4b4e-8fdc-0f616f2c31dc4.gif)
![C++课程设计学生成绩管理系统]_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/01028788-83a2-4b4e-8fdc-0f616f2c31dc/01028788-83a2-4b4e-8fdc-0f616f2c31dc5.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中南大学二。一二二。一三学年第二学期信息科学与工程学院C+班序设计语言课程设计报告课程名称:C+福序设计语言班 级:电气信息类1206班姓 名:期继阳指导教师:王磊二0一三年零七月目录1 .课程设计目的2 .系统描述(需求分析) 2.1 需要处理的基础数据 2.2 系统的基本功能 2.3 可行性分析3 .功能模块设计 3.1 类的分析与设计 3.1.1 Course 类3.1.2 Stu 类3.2 整体流程4 .丰要模块的尊法说明 4.1 信息的保存和读取 4.2 对信息白处理 4.2.1 数据的录入和插入 4.2.2 数据的查询4.2.3 数据的修改4.2.4 数据的删除4.2.5 数据的排
2、序5 .程序运行结果 5.1 菜单欢迎界面 5.3 信息的显示5.4 信息的查询5.5 信息的修改5.6 信息的删除5.7 按平均分降序排列 5.8 查看全部信息 5.9 输出不及格学生信息 5.10 退出系统6 .课程设方f总结7 .参考文献8 .附录(源代码)1 .课程设计目的1.1 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以 及它们在程序中的使用方法。1.2 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。1.3 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。2 .系统描述(需求分析
3、)2.1 需要处理的基础数据学生基本信息:如班级、学号、姓名、性别、年龄、宿舍号码、电话号码等。学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否等。2.2 系统的基本功能数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选修课的信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名
4、、不及格的课程和成绩)。考虑用文件把数据保存起来(可选)。2.3 可行性分析2.3.1 如上所示,该系统要求处理一些学生成绩的基本数据,包括两个方面:学生身份信息和学生成绩信息、。具体可以考虑创建两个类,一个学生基本信息类,一个学科基本信息类。这样既可以保持二者的独立性,也可以使之相关联。2.3.2 该系统不仅要求能录入一些基本数据外,还要能对这些数据进行处理,比如修改,删除,插入,查询等。对这些操作的实现可以暂时放开面向对象,而采用面向过程的方法。另外,因为对数据库了解不多,可以考虑用文件保存的形式将数据保存起来,最后在查找的时候采用文件读取。3 .功能模块设计3.1 类的分析与设计由上面的
5、需求分析可以知道,在本程序中,需要处理两大类数据:一个是学生的身份基本信息,另一 个是该同学的课程基本信息。而且要求二者既要相互联系,又不能太相互制约。于是可以考虑创建两个类: Stu类(学生信息类)和 Course类(课程信息类)。为了使二者相互关联,可以让 Course的一个类对象作 为Stu对象的一个基本数据成员。具体如下:3.1.1 Course 类由于学生只需要一些课程信息,故在该类中只有一些基本的成员数据,不涉及成员函数之类的对数据进 行操作的函数。把对学生信息进行处理的函数放在Stu类中。成员成员属性访问类型course_num数据成员publiccourse_name数据成员p
6、ublicregular_score数据成员publicFinal_score数据成员publicaverage_score数据成员publicstudy_score数据成员publicrebulid数据成员public由于这些数据信息是作为Stu类的一个信息的,为了使 stu类中的函数可以访问这些成员数据,故要将访问类型定义为 public型。3.1.2 Stu 类正如上面所述,Course类的一个对象作为 Stu类的一个数据成员,但是正常情况下,一个同学是不只一 门科目的,所以要定义一个Course类的数组来存放同一学生的不同科目信息Course course20。为了其信息的隐蔽性,我们
7、把所有的数据成员都声明为private。接下来,要处理的就是函数了。有两种处理方式,但到底是采用成员函数还是采用友元函数呢?在本 例中,我采用的是友元函数。原因如下:(1)采用友元函数,可以使类的结构变得更加简单,有助于整个设计过程的思考。(2)使用友元函数,将函数独立于类的结构之外而采用类对象传参的方式,可以使该函数的独立性大 大提高,有助于在其他地方的使用。具体如下:成员成员属性访问类型Class_num数据成员privatenum数据成员privatename数据成员privatesex数据成员privateage数据成员privateroom数据成员privatetel数据成员priv
8、ateaverage数据成员privateNum_of_course数据成员privateorder数据成员privateCourse20数据成员private友元函数:Input( Stu stud)输入学生信息Statistic( Stu stud口)学生信息输出Lookup( Stu stud)查找学生信息Modi伙 Stu stud)修改学生信息Delete( Stu stud口)删除学生信息Output( Stu stud口)输出全部信息Sort( Stu stud)对学生进行排序Insert( Stu stud口)插入学生信息Showfail( Stu stud)查找/、及格学生W
9、rite( Stu stud口)文件写入函数Read( Stu stud口)文件读取函数void menu()菜单函数,以供选择3.2 整体流程上面已经主要分开介绍了两个独立的类及其内部成员,现在来介绍整个学生系统功能实现的流程。个文件中,当需要使用这些数据时,例如查询,修改,显示等,再将需要的读取出来进行相关的操作4.2对信息的处理4.2.1 数据的录入和插入数据的录入和插入基本一样,这里只介绍录入。当在主菜单里选择信息录入时,会跳出录入页面,只需依次输入提示的信息即可。在整个大体框架上, 采用一个 while语句判断是否继续录入。注意在录入学生成绩信息时。需要输入要登记的课程数目。其中成
10、绩信息的各科综合成绩和是否重修不需要手动录入,它会在登记完平时成绩和末考成绩后自动生成。当所有 信息录入完成后,该生所有科目的平均成绩average也会自动计算。4.2.2 数据的查询所谓数据的查询,就是把存放在文档中的学生数据读取出来并加以输出。当只针对某个人的查询时,需要输入学号或姓名,再调用read ()函数将相关的数据读取出来,至于需要输出哪些,可以自己控制。当要输出所有学生的数据是时,首先调用read ()函数返回数据的个数 count,即学生的个数。最后采用for循环控制依次输出每一个学生的信息。4.2.3 数据的修改当修改数据时,只需输入需要修改学生的学号即可。首先会将该生的相关
11、信息输出出来。然后再提示 重新输入信息。执行到这里时基本就和前面的数据录入,插入一样了。本例中,对数据的删除比较简单。只需输入学号或姓名,当查找到该生的相关信息后。将后面一个学生 的信息赋值给他,相当于该生的信息被覆盖,也就是删除。4.2.5 数据的排序在需求分析中,有一项功能,按学生成绩平均分降序排列。此功能还是比较好实现的。在输入学生数据时,当所有课程分数输入完毕,会自动生成一个平均分,该数值就是学生类Stu中的average数据成员。然后采用冒泡法比较大小,把这些学生的数据重新排列,最后再依次输出。5.程序运行结果率东*#*京索* /*;4:左*京*31u|c * s|c * *.* *
12、 * *C * l|c * * 率京求*章*率*£*聿*率*事*本* * 率本率常率率本率率案率军率率率*1"*木* *本* 左*率事*£ *率本*聿*本*事 率*率*率*率率*宰率欢迎使用学生成绩管理系统 *宰*率*率*宰隼本窄京本卓*本* *率*率* 4=*聿*请输入您的选择(。一 9):5.1 菜单欢迎界面L输入学生成绩2 .显示统计数据3 .查找统计成绩4 .修改学生成绩5 .删除学生成绩6 .插入学生成绩7 .按平均分降序排列8 .显示学生详细信息9 .显示不及格学生信息0.安全退出系统5.2信息的录入如上所示,依次输入需要填写的信息,其中“该门课的综合
13、成绩”和“是否重修”是不需要输入,系统 自动执行的。最后还会提示是否继续填写(YN)。5.3 信息的显示在这个功能里面主要显示全部同学的身份信息和平均分:5.4 信息的查询信息的查询分两种方式:当你选择1 时,表示按学号查询,当你选择2 时,表示按姓名查询。下面介绍的是按学号查询。如上所示,当输入需要查询的同学的学号时,会输出该同学的身份信息以及每一门课的综合成绩,还有这些 课的平均成绩。5.5 信息的修改当输入需要修改的学生学号时,会首先输出该同学现在的已经存在的信息:然后提示重新输入:输入完成后,会提示是否保存:5.6 信息的删除信息的删除也分两种类型:选择不同的方式,进入不同的界面按姓名
14、删除按学号删除5.7 按平均分降序排列会输出学生的一些基本信息和平均分与名次。5.8 查看全部信息由于一个同学的全部信息较多,于是分成两部分输出:身份信息和成绩信息在身份信息中,主要包括班级,学号,姓名,年龄,性别,宿舍,电话等。在成绩信息中,包括该同学的各 科成绩,是否重修,获得的学分,以及所有科目的平均分。5.9 输出不及格学生信息当选择该功能时,首先会输出该同学的学号,姓名和班级,然后再输出他的不及格科目以及分数,如下所示。5.10 退出系统6.课程设计总结( 1 ) 回顾此次课程设计,感慨良多,从刚拿到题目时的一脸茫然,到最后能成功解决,觉得此次课程设计我又学到了好多知识。首先在这里要
15、感谢一下王磊指导老师,经过他的细心讲解,我才有了一个完整的 设计思路。(2)在这次课程设计的过程中,最大的感觉就是对知识的不熟悉,一些C+煌础知识似懂非懂,结果总要去查书才能写出不出错误的代码,结构就是耗费了大量的时间,事倍功半。经历这次教训,我想会对我 以后的计算机语言学习起到一定的帮助。(3)在这次的课程设计过程中,通过查书的学习,对C+的了解又加深了不少,包括类的结构,以及怎样在类外访问类类的私有成员等,我想下次再写基于对象的程序时,一定会得心应手。( 4) 还有比较重要的收获就是类的相互嵌套使用,就拿本例来说,在一个类中设置一个数据成员,而该数据成员确是另一个类的对象。这对理解数据类型
16、起到了不少的作用。(5) ?总的来说,这次程序设计让我获益匪浅,对C+语言也有了进一步的认识:语言功能高、表达能力强、使用灵活方便、目标程序效率高等等。C+语言是在国内外广泛使用的一种计算机语言,相信除了以上优点,还有许多我们还未发现,希望能在以后的学习中有更深入的认识。7.参考文献(1) C+程序设计(第二版)谭浩强 编着(2) visual C+从入门到精通明日科技 编着(3) C+编程思想(美)埃克尔 编着 刘宗田 译.附录(源代码)#include <iostream>#include <fstream>#include <stdlib.h>/ 后面
17、的 exit 函数和 syetem 函数要用#include <string>using namespace std;class Course /定义一个课程信息类public:int course_num; / 课程编号 string course_name;/ 课程名称 float regular_score;/ 平时成绩 float final_score;/ 末考成绩 float average_score;/ 综合成绩 float study_score;/ 学分 string rebulid;/ 是否重修;class Stu/ 把对类的私有成员的处理函数全部定义为友元函
18、数public:friend void Input(Stu stud) ;friend void Statistic(Stu stud);/ friend void Lookup(Stu stud) ;friend void Modify(Stu stud) ; friend void Delete(Stu stud) ; friend void Output(Stu stud) ;friend void Sort(Stu stud) ; friend void Insert(Stu stud) ;/ 学生成绩录入函数学生信息输出函数/ 学生成绩查找函数/ 学生成绩修改函数/ 学生信息删除函数
19、/ 学生全部信息输出函数 / 学生成绩排序函数 / 学生成绩插入函数friend void Write(Stu stud,int n);/friend int Read(Stu stud);friend void Showfail(Stu stud);private:int class_num; / 班级号码int num;/ 学号string name;/ 姓名int age;/ 年龄char sex;/ 性别int room;/ 宿舍string tel;/ 电话float average;/ 所有课程平均分int num_of_course;/ 课程数目int order;/ 名次Cou
20、rse course20;/ 课程信息数组学生成绩写入档案函数/学生成绩信息读取函数/ 查找不及格学生;void Write(Stu stud,int n)fstream myFile;if(!myFile)exit(1);int count=n;myFile<<count<<endl<<endl;/ 定义一个文件输入输出类/ 文件写入函数for(int i=0; i<count; i+)myFile<<studi.class_num<<" "<<studi.num<<" &
21、quot;<<<<" "<<studi.age<<" "<<studi.sex<<" "<<studi.room<<" "<<studi.tel<<" "<<studi.num_of_course<<" "<<studi.average<<" "<<endl;
22、for(int j=0; j<studi.num_of_course; j+)myFile<<studi.coursej.course_num<<""<<studi.coursej.course_name<<""<<studi.coursej.regular_score<<""<<studi.coursej.final_score<<""<<studi.coursej.average_score<
23、<""<<studi.coursej.study_score<<" "<<studi.coursej.rebulid<<endl;myFile.close();int Read(Stu stud)/文件读取函数fstream myFile;if(!myFile)exit(1);int count;myFile.seekg(0);myFile>>count;for(int i=0; i<count; i+)myFile>>studi.class_num>>stu
24、di.num>>>>studi.age>>studi.sex>>studi.room>>studi.tel>>stud i.num_of_course>>studi.average;for(int j=0; j<studi.num_of_course; j+)myFile>>studi.coursej.course_num>>studi.coursej.course_name>>studi.coursej.regular_score>>s
25、tudi.coursej.final_score>>studi.coursej.average_score>>studi.coursej.study_score>>studi.coursej.rebu lid;myFile.close();return count ;/函数返回一个查询出来的数值void Input(Stu stud)/ 学生成绩录入函授system("cls"); /调用系统命令cls,清除屏幕int i=0;/ int num;char sign;cout<<endl<<"=>&
26、gt; 请输入学生成绩<<="<<endl;while(sign!='n'&&sign!='N') cout<<"班级:"cin>>studi.class_num;loop:/loop循环,VB中的循环cout<<"学号:"cin>>studi.num;int c=0;while(c<i) c+;if(studi.num=studi-c.num) cout<<"你输入的学号已经存在!请重新输入。&q
27、uot;<<endl;goto loop;)cout<<"姓名:"cin>>;cout<<"年龄:"cin>>studi.age;cout<<"性别:";cin>>studi.sex;cout<<"宿舍:"cin>>studi.room;cout<<"电话:";cin>>studi.tel;cout<<"请输入需要登记的学科
28、数目:"cin>>studi.num_of_course;int j;float sum=0;for(j=0; j<studi.num_of_course; j+) cout<<"请登记第"<<j+1<<"门课的信息:"<<endl;cout<<"课程编号:"cin>>studi.coursej.course_num;cout<<"课程名称:"cin>>studi.coursej.course
29、_name;cout<<"平时成绩:"cin>>studi.coursej.regular_score;cout<<"末考成绩:"cin>>studi.coursej.final_score;cout<<"学分:"cin>>studi.coursej.study_score;studi.coursej.average_score=studi.coursej.regular_score*0.3+studi.coursej.final_score*0.7; cout&
30、lt;<"该门课的综合成绩是:"<<studi.coursej.average_score<<endl;if(studi.coursej.average_score<60) studi.coursej.rebulid="是"; elsestudi.coursej.rebulid="否";cout<<"是否重修:"<<studi.coursej.rebulid<<endl;sum=sum+studi.coursej.average_score;
31、studi.average=sum/studi.num_of_course; cout<<"该学生这几门课的平均分为:"<<studi.average<<endl;cout<<"=>提示:是否继续写入学生成绩?(Y/N)"cin>>sign; i+; Write(stud,i); /调用文件写入函数,把信息写入文件 void Statistic(Stu stud)/学生成绩数据输出函数system("cls");int n=Read(stud);cout<<
32、"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"年龄"<<"t"<<"性别"<<"t"<<"宿舍"<<"t"<<"电话 "<<"tt"<&
33、lt;"平均成绩"<<endl;for(int i=0; i<n; i+)cout<<studi.class_num<<"t"<<studi.num<<"t"<<<<"t"<<studi.age<<"t"<<studi.sex<<"t"<<st udi.room<<"t"<
34、;<studi.tel<<"t"<<studi.average<<endl;system("pause"); void Lookup(Stu stud) /学生成绩查找函数 system("cls");int n=Read(stud);int s1;string s2;int i=0;int choose;cout<<"请输入查询方式:"<<endl<<endl;cout<<"> 按学号查询:1<&quo
35、t;<<endl;cout<<"> 按姓名查询:2<"<<endl;doII.cout<<"请输入您的选择: cin>>choose;while(choose!=1)&&(choose!=2);switch(choose)(case 1:system("cls");cout<<endl<<"=>> 查找学生成绩<<="<<endl;cout<<"请输入需要查
36、找学生的学号:"<<endl;cin>>s1;while(studi.num-s1)!=0&&i<n) i+;if(i=n)(cout<<"=>提示:对不起,无法找到该学生的信息! "<<endl; else(cout<<""<<endl;cout<<"班级:"<<studi.class_num<<endl;cout<<"学号:"<<studi.n
37、um<<endl;cout<<"姓名:"<<<<endl;cout<<"年龄:"<<studi.age<<endl;cout<<"性别:"<<studi.sex<<endl;cout<<"宿舍:"<<studi.room<<endl;cout<<"电话:"<<studi.tel<<end
38、l;for(int j=0; j<studi.num_of_course; j+) (cout<<studi.coursej.course_name<<":"cout<<studi.coursej.average_score<<endl;cout<<"平均分:"<<studi.average<<endl; break;case 2:system("cls");cout<<endl<<"=>> 查找学生
39、成绩<<="<<endl;cout<<"请输入需要查找学生的姓名:"<<endl;cin>>s2;int flag=0;for(i=0; i<n; i+) (if(=s2)(cout<<""<<endl;cout<<"班级:"<<studi.class_num<<endl;cout<<"学号:"<<studi.num<<end
40、l;cout<<"姓名:"<<<<endl;cout<<"年龄:"<<studi.age<<endl;cout<<"性别:"<<studi.sex<<endl;cout<<"宿舍:"<<studi.room<<endl;cout<<"电话:"<<studi.tel<<endl;for(int j=0
41、; j<studi.num_of_course; j+) (cout<<studi.coursej.course_name<<":"cout<<studi.coursej.average_score<<endl; cout<<"平均分:"<<studi.average<<endl; flag=1; break; if(flag=0)cout<<"=>提示:对不起,无法找到该学生的信息!"<<endl; void Mo
42、dify(Stu stud)/学生成绩修改函数( system("cls"); int n=Read(stud); int s; int i=0; cout<<endl<<"=>> 修改学生成绩 <<="<<endl; cout<<"请输入需要修改成绩学生的学号:"<<endl;cin>>s; while(studi.num-s)!=0&&i<n) i+; if(i=n) (cout<<"=>
43、;提示:对不起,无该学生的成绩 "<<endl; else (cout<<"该学生的信息 "<<endl;cout<<"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"年龄"<<"t"<<"性别"<<"t&
44、quot;<<"宿舍"<<"t"<<"电 iB"<<endl;cout<<""<<endl;cout<<studi.class_num<<"t"<<studi.num<<"t"<<<<"t"<<studi.age<<"t"<<studi.s
45、ex<<"t"<<st udi.room<<"t"<<studi.tel<<endl;for(int j=0; j<studi.num_of_course; j+)(cout<<studi.coursej.course_name<<":"cout<<studi.coursej.average_score<<endl;cout<<"平均分:"<<studi.average<&
46、lt;endl;cout<<" 请重新输入该学生的信息"<<endl;cout<<" 班级 :"<<endl;cin>>studi.class_num;cout<<" 学号:"<<endl;cin>>studi.num;cout<<" 姓名:"<<endl;cin>>;cout<<" 年龄:"<<endl;cin>&
47、gt;studi.age;cout<<" 性别:"<<endl;cin>>studi.sex;cout<<" 宿舍:"<<endl;cin>>studi.room;cout<<" 电话:"<<endl;cin>>studi.tel;cout<<" 请输入需要登记的学科数目:"cin>>studi.num_of_course;int j;float sum=0;for(j=0; j<
48、;studi.num_of_course; j+)cout<<" 请登记第"<<j+1<<" 门课的信息:"<<endl;cout<<" 课程编号:"cin>>studi.coursej.course_num;cout<<" 课程名称:"cin>>studi.coursej.course_name;cout<<" 平时成绩:"cin>>studi.coursej.regular
49、_score;cout<<" 末考成绩:"cin>>studi.coursej.final_score;cout<<" 学分: "cin>>studi.coursej.study_score;studi.coursej.average_score=studi.coursej.regular_score*0.3+studi.coursej.final_score*0.7;cout<<" 该门课的综合成绩是:"<<studi.coursej.average_score
50、<<endl;if(studi.coursej.average_score<60)studi.coursej.rebulid=" 是"elsestudi.coursej.rebulid=" 否"cout<<" 是否重修:"<<studi.coursej.rebulid<<endl;sum=sum+studi.coursej.average_score;studi.average=sum/studi.num_of_course;cout<<" 该学生这几门课的平
51、均分为:"<<studi.average<<endl;char c;cout<<" 是否保存数据?(y/n)"<<endl;cin>>c;if(c!='n'&&c!='N') Write(stud,n); ) ) void Delete(Stu stud)/删除学生信息函数( system("cls"); int s1; string s2; int n=Read(stud); int i=0,j; char sign;cout<&
52、lt;"请选择删除学生信息的方式"<<endl<<endl;cout<<"-> 按学号删除1<"<<endl;cout<<"-> 按姓名删除2<"<<endl;int choose; do ( cout<<"请输入您的选择:" cin>>choose;while(choose!=1)&&(choose!=2); switch(choose) ( case 1:system(&quo
53、t;cls");cout<<endl<<"=>> 删除学生成绩<<="<<endl;while(sign!='n'&&sign!='N') ( cout<<"请输入需要删除学生的学号:“<<endl;cin>>s1;while(studi.num-s1)!=0&&i<n) i+;/这种结构形式决定一次只能删除一个学生if(i=n) (cout<<"=>提示:对不起
54、,无法找到该学生 "<<endl; else (for(j=i; j<n-1; j+) (studj=studj+1; cout<<"=> 提示:已成功删除!"<<endl; n-;cout<<"=>提示:是否继续删除学生信息? ( Y/N)" cin>>sign;)Write(stud,n);break;case 2:system ("cis");int flag=O;cout«endl«"=» 删除学生成
55、绩«="«endl;while(sign!="n'&&sign!="N') (coutw"请输入需要删除学生的姓名:"«endl;cin»s2;for(i; in; i+) (if(=s2) (/ studi=studi+1; for(j=i;jn-1;j+) (studj=studj+1;) coutv"=提示:已成功删除!"«endl;flag=1; break; ) if(flag=O) ("«en
56、dl;COUtvv"=提示:对不起,无法找到该学生break;)n-;coutv"=提示:是否继续删除学生信息? ( Y/N) cin»sign; )Write(stud,n); break; ) ) void lnsert(Stu stud)/学生信息插入函数system ("cis");int flag;int n=Read(stud);char s;cout«endl«"=» 增力口学生成绩 «="«endl; while(s!="n"&&a
57、mp;s!="N')cout<<" 班级 :" cin>>studn.class_num; cout<<" 学号:"cin>>studn.num;cout<<" 姓名:"cin>>;cout<<" 年龄:"cin>>studn.age;cout<<" 性别:"cin>>studn.sex;cout<<" 宿舍:&quo
58、t;cin>>studn.room;cout<<" 电话:"cin>>studn.tel;cout<<" 请输入需要登记的学科数目:"cin>>studn.num_of_course;int j;float sum=0;for(j=0; j<studn.num_of_course; j+) cout<<" 请登记第"<<j+1<<" 门课的信息:"<<endl;cout<<" 课程
59、编号:"cin>>studn.coursej.course_num;cout<<" 课程名称:"cin>>studn.coursej.course_name;cout<<" 平时成绩:"cin>>studn.coursej.regular_score;cout<<" 末考成绩:"cin>>studn.coursej.final_score;cout<<" 学分: "cin>>studn.course
60、j.study_score;studn.coursej.average_score=studn.coursej.regular_score*0.3+studn.coursej.final_score*0.7; cout<<" 该门课的综合成绩是:"<<studn.coursej.average_score<<endl;if(studn.coursej.average_score<60)studn.coursej.rebulid=" 是 " else studn.coursej.rebulid=" 否 &
61、quot; cout<<" 是否重修:"<<studn.coursej.rebulid<<endl;sum=sum+studn.coursej.average_score;studn.average=sum/studn.num_of_course;cout<<" 该学生这几门课的平均分为:"<<studn.average<<endl;n+;cout<<"> 提示:插入成功!"<<endl;cout<<"是否继续输
62、入(y/n)"<<endl; cin>>s;) Write(stud,n);) void Sort(Stu stud)/学生成绩排序函数( system("cls"); int i,j,k; float s; char t20;cout<<endl<<"=>> 降序排序成绩<<="<<endl;int n=Read(stud); for(i=0; i<n-1; i+) for(j=0; j<n-1-i; j+)if(studj.average<
63、studj+1.average)/采用冒泡法比较大小,即相邻两个数比较,把大的放在前面(Stu temp;temp=studj;studj=studj+1; studj+1=temp; )cout<<""<<endl;cout<<"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"年龄"<<"
64、t"<<"性别"<<"t"<<"宿舍"<<"t"<<"电话 "<<"tt"<<"平均分"<<"t"<<"名次"<<endl;cout<<""<<endl;for(i=0; i<n; i+) (studi.order=i+1;cout<
65、<studi.class_num<<"t"<<studi.num<<"t"<<<<"t"<<studi.age<<"t"<<studi.sex<<"t "<<studi.room<<"t"<<studi.tel<<"t"<<studi.average<<
66、"t"<<studi.order<<endl; ) Write(stud,n); ) void Output(Stu stud)/输出全部学生成绩( system("cls"); int n=Read(stud); cout<<endl<<"=>> 显示全部学生成绩<<="<<endl;if(!stud) cout<<"没有记录" else (for(int i=0; i<n; i+)cout<<&qu
67、ot;"<<endl;cout<<"身份信息:"<<endl;cout<<"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"年龄"<<"t"<<"性别"<<"t"<<"宿 舍
68、 "<<"t"<<"电话"<<endl;cout<<studi.class_num<<"t"<<studi.num<<"t"<<<<"t"<<studi.age<<"t"<<studi.sex<<"t"<<st udi.room<<"t"<<studi.tel<<endl;cout<<"成绩信息:"<<endl;for(int j=0; j<studi.num_of_course; j+)(cout<<studi.coursej.course_name<<"t"<<"重修? "<<"t"<<"学分"<<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 告别任性心理健康课件
- 硫酸事故案例培训
- 肥大细胞生物学特性与功能解析
- 反常性痤疮系统化护理指南
- 第八单元办一场幽默达人脱口秀(教学设计)-五年级语文下册大单元教学
- 细胞核分离与鉴定技术
- 2025年机械设备批发服务项目提案报告
- 艾灸题目及答案大全图片
- c语言经典题目及答案
- 2025年异形钢项目申请报告模板
- 学校课后服务外聘老师合同
- 【保险营销策略探究文献综述6900字】
- 航空公司客户价值分析数据挖掘设计
- 华为项目管理金种子中级培训教材
- 沥青混凝土路面安全技术交底
- 医疗器械监督管理条例培训试题
- 小升初数学知识点总结(小考复习精编专项讲义)六年级数学小升初复习系列:数与式知识点梳理大全
- 中国抗血栓药物相关出血诊疗规范专家共识(2022年版)解读
- 垃圾电站焚烧炉安装施工方案
- 伊东丰雄作品分析
- 自动售货机设备采购投标方案(技术方案)
评论
0/150
提交评论