资源描述
辽 宁 科 技 大 学
课程设计报告
设计题目: 学生成绩管理
学院、系: 电子与信息工程学院
专业班级: 计算机 11—2 班
学生姓名: 赵月
指导教师: 龙艳彬
成 绩:
2013年 1月 8 日
目录
一、需求分析—-—————————-——-——-————-—-—-----——--—-———-—--—---3
二、概要设计—---—-—————-—-—--—--—--———--——-——----—--————————3
三、详细设计-—————-————----—————-—-——---——-——-———--——--—-———5
3。1系统流程图-—-—————--————-—-——--—-——-———--—-—-—————-————-———-———5
3.2界面设计-———-——--—-————--——--——-——--——-—-—--———————-——-————————6
3。3各功能模块的设计——————--————------————-——--——--————----—---———7
四、测试与分析———————---——---———-----————————-————-——-——-—-9
五、总结-—--—-—————---—————-—-———————-——---————-—-—-—-——--———15
六、附录(源代码)———----——-——-——-———-—-—----——-—-——-———16
1. 需求分析
1.1问题描述
本系统实现了学生成绩管理的功能,具有学生成绩的输入、读取、查询、修改、插入、删除、排序,统计等功能。
1.2基本要求
(1) 输入的形式和输入值的范围;
首先输入学生个数,按回车键。按照提示选择,将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。输入数据类型主要是char、int、float等数据类型,输入内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,大学英语成绩总分,平均分等数据。
(2) 输出的形式;
学期、学号、姓名、高等数学成绩,数据结构成绩,大学英语成绩,总分,平均分等数据.
(3) 程序所能达到的功能;
1.数据输入功能,输入的数据能最终保存在文件中;
2。数据删除功能,能最终从文件中删除;
3.排序功能,根据自己设计的数据结构,设计排序算法
4。多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;
6。 学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)
7。其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等)
2、 概要设计
1。 数据结构:数组(顺序存储结构)
2。 程序模块:
(1)先编入系统所需的库函数,使程序可运行
#include 〈iostream。h〉
#include 〈stdlib。h〉
#include <iomanip。h〉 //主要是对cin,cout之类的一些操纵运算,是I/O流控制头文件。
#include <conio.h〉 //文件和标准控制台的输入输出
#include 〈stdio。h〉
(2) 主界面的设计
在主界面中包括“①输入学生信息并保存到文件 ②读取文件并输出学生信息 ③按学号及学期查询 ④按姓名及学期查询 ⑤按学号及学期修改信息 ⑥插入信息 ⑦按学号及学期删除信息 ⑧按数据结构降序(冒泡)排序 ⑨按总分降序(选择)排序 ⑩统计各科成绩的总分和平均分 11退出”等全部的功能。每个函数体如下:
void input(Student *r); //输入
void output(Student *r); //输出
void searchnum(Student *r); //按 学号及学期 查找
void searchname(Student *r); //按 姓名及学期 查找
void change(Student *r); //按 学号及学期 修改信息
Student *insert(Student *r); //插入信息
void shanchu(Student *r); //按 学号及学期 删除信息
void maopao(Student *r); //按数据结构降序(冒泡)排序
void xuanze(Student *r); //按总分降序(选择)排序
void tongji(Student *r); //统计各科总分和平均分信息
(3) Main()函数的设计
在main()函数中主要运用do-while循环语句和switch()—case选择判断语句来调用相关
功能模块。系统的运行是在一个循环里进行的,只有在主界面并选择“退出"时,才会跳出循环,并退出程序。
void main()
{
cout〈〈"输入学生的个数:”;
cin>〉num; //全局变量
Student *p=(Student *)new Student[num]; //定义指针数组,存放学生个数
int m;
do{
cout〈〈endl;
cout〈<endl;
cout〈〈"\t*——-————-—-——--—-———-————---——〉菜单栏〈———-—-——--————-—-—-————————--*\n”〈〈endl;
cout〈<"\t* <1〉 输入学生信息并保存到文件 〈2> 读取文件并输出学生信息 *”<<endl;
cout<<”\t* <3〉 按学号及学期查询 <4〉 按姓名及学期查询 *”〈<endl;
cout<〈”\t* 〈5> 按学号及学期修改信息 〈6〉 插入信息 *”<〈endl;
cout<〈"\t* 〈7〉 按学号及学期删除信息 〈8〉 按数据结构降序(冒泡)排序 *"〈<endl;
cout〈<"\t* <9〉 按总分降序(选择)排序 〈10〉 统计各科成绩的总分和平均分*”<<endl;
cout<〈"\t* 〈11〉 退出 *”〈〈endl;
cout〈〈”\t*——-—--——-——-————---———-—-—-——--—-———-——--———-——-—————---——-—--————*\n”<〈endl;
cout<〈"请选择:";
cin>〉m;
switch(m)
{
case 1:
input(p); //输入
break;
case 2:
output(p);
break;
case 3:
searchnum(p);
break;
case 4:
searchname(p);
break;
case 5:
change(p);
break;
case 6:
p=insert(p);
break;
case 7:
shanchu(p);
break;
case 8:
maopao(p);
break;
case 9:
xuanze(p);
break;
case 10:
tongji(p);
break;
case 11: //退出
break;
}
}while(m!=11);
}
3、详细设计
1、系统流程图
输
入
学
生
个
数
主
界
面
输入学生成绩
输出学生成绩
查询学生成绩
修改学生成绩
插入学生成绩
删除学生信息
按总分排序
按单科排序
统计分数
退出
退
出
2、界面设计
在此界面用户可以选择要操作的选项,回车之后即可进入相关的页面进行操作(例如:选择1,即可进入输入学生信息页面)
3、各功能模块的设计
主函数模块:
用函数void main()来实现
主要是来显示主菜单,使用户选择操作.首先定义一个指针数组(全局使用)Student *p=(Student *)new Student[num];在此处num是指学生个数,并不是学号,在这里应用了do—while和switch-case语句来进行选择。最后若选择“11"则是保存记录并退出循环。
输入学生记录模块:
用函数void input(Student *r);来实现
主要功能用来对学生的成绩进行输入.首先会有个提示“输入学生的个数”,之后跳出主菜单,选择”1",进入输入模块输入所需学生个数的学生信息,比如学期,学号,姓名,成绩等。输完之后会自动跳出主菜单。期间会有一些提示语,按照提示操作.根据if和for语句来判定是否有重复学号输入,在本操作中,允许有重复学生姓名出现.t=1表示找到了与之重复的学号,t=0表示未出现重复学号。在此期间会根据语句算出总分和平均分,并默认按学号排序保存到文件中去.之后返回主菜单.
输出学生记录模块:
用函数void output(Student *r);来实现
主要功能是用来输出学生的信息.在系统已经录入了学生资料的前提下,用该功能可以显示学生的信息资料。同时也会自动跳出主菜单进行后续操作.其中stew()指的是两字节之间的间隔,在括号中填入数字就会有相应的间隔。
按学号及学期来查找学生记录模块:
用函数void searchnum(Student *r);来实现
主要功能时用来查找学生记录。首先会有提示输入学号及学期,再用for循环语句和if判断语句来进行查找,if(r[m].num==n&&r[m].term==k)若找到则显示学生记录并跳出循环;if(r[m]。num!=n&&r[m]。term!=k)若没有则提示“该学号不存在,或没有这个学期的成绩!".
按姓名及学期来查找学生记录模块:
用函数void searchname(Student *r)来实现
主要功能也是用来查找学生记录的。首先会有提示输入姓名及学期,再用for循环语句和if判断语句来进行查找,if((r[m].name[0] == n[0]) && (r[m]。term == k))若找到则显示学生记录并跳出循环;if(r[m]。name[0]!=n[0]&&r[m].term!=k)若没有则提示”该姓名不存在,或没有这个学期的成绩!”
按学号及学期修改信息:
用函数void change(Student *r)来实现
主要功能是用来修改学生记录.首先也要有个判断语句,判断学生是否存在,这个是通过学号及学期来判断的,这里会有提示输入学号及学期,之后是for和if语句,if(r[m].num==n && r[m]。term==k)若存在则先输出修改之前的信息,查看是否正确。若正确,则修改此学生记录,这里有个while循环语句,和switch-case选择语句,用来选择修改哪科成绩,和是否进行再修改记录(通过选择Y或y来实现)。最后将修改过后的记录保存到文件中去,并输出提示"文件已修改并写入"。
插入学生资料模块:
用函数Student *insert(Student *r);实现
主要功能是用来添加学生资料,成绩.若显示没有此学生的信息,就可以使用本模块来进行添加。在此模块代码中定义了另一个指针数组:Student *y = (Student *)new Student[num+1];用来存放新添加的学生记录。再利用for循环进行输入新学生记录,for(m=0;m〈num;m++)最后会有一个提示语句cout<〈”是否继续输入?(继续,输入y,否则输入其他)"〈〈endl;若输入y则继续输入,否则将返回主菜单。
按学号及学期删除学生记录模块
用函数void shanchu(Student *r)来实现
主要功能是用来删除学生记录。首先有个读文件的操作,之后会有判断语句,根据所输入的学号及学期,来显示删除前的信息记录,添加for循环语句,循环把后一位的信息提前一位,整体数量减一,来进行全局变量的修改,之后再把修改过后的信息记录保存到文件中去。
按数据结构成绩(冒泡)降序排序模块
用函数void maopao(Student *r)来实现
主要功能时是用来对学生的记录来按单科成绩(这里以数据结构成绩为例)进行排序。这样方便对某科成绩有个大致的了解。首先会有一个读文件操作,为排序做基础.本排序使用冒泡排序。它有两个优点:一是很容易写出代码;二是具有稳定性,这里的稳定性是指原序列中相同两元素的相对顺序仍然保持到排序后的序列。冒泡排序时进过n—1趟子排序完成的,第i趟子排序从第1个数至第n+1个数,若第i个数比后一个数大(则升序,小则降序。本程序一律采用降序)则交换两数。排序之后,将排序之后的结果写入文件,再打开文件的时候,里面显示的就是按单科成绩排序后的结果。
按总分(选择)降序排序:
用函数void xuanze(Student *r)来实现
主要功能时是用来对学生的记录来按总分成绩进行排序。这样方便对学生总体有个大致的了解.首先会有一个读文件操作,为排序做基础。本排序使用选择排序.其基本思想是:n个记录的文件的直接选择排序可进过n—1趟直接选择排序得到有序结果:①初始状态,无序区为R[1。.n],有序区为空。②第一趟排序 在无序区R[1。.n]中选出关键字最小的记录R[k],将它与无序区的第一个记录R[1]交换,使R[1。.n]和R[2。。n]分别变为记录个数增加1个的新有序区记录和记录数减少1个的新无序区。 。.。。. ③第i趟排序 第i趟排序开始时,当前有序区和无序区分别为R[1..i—1]和R(1≤i≤n—1)。该趟排序从当前无序区中选出关键字最小的记录R[k],将它与无序区的第一个记录与R交换,使R[1.。i]和R分别变成为记录个数增加1个的新有序区和记录个数减少1个的新无序区。这样,n个记录的文件的直接选择排序可经过n—1趟直接选择排序得到有序结果。
统计各科总分及平均分模块:
用函数void tongji(Student *r)来实现
主要功能是计算总分和各科平均分,计算完之后将总分保存到文件中.
4、 测试与分析
进入主界面选择<1〉输入学生信息
输入结束后的界面:
Student。txt:
23 赵月 89.0 92。0 88。0 3 269。0 89.7
12 李丽 92。0 85.0 88.0 3 265。0 88。3
31 王虎 87。0 79.0 45。0 3 211。0 70。3
选择<2〉,输出了学生信息:
选择〈3〉,按学号及学期查询学生信息:
选择<4>,按姓名及学期查询学生信息:
选择<5>,按学号及学期修改学生信息:
Student。txt:
23 赵月 89。0 92。0 88.0 3 269.0 89.7
12 李丽 92。0 85.0 88.0 3 265.0 88。3
31 王虎 87.0 79。0 85。0 3 211.0 70.3
选择<6>,插入学生信息:
Student.txt:
23 赵月 89。0 92。0 88。0 3 269.0 89。7
12 李丽 92。0 85。0 88.0 3 265。0 88。3
31 王虎 87。0 79。0 85.0 3 211.0 70.3
17 王万 78。0 79。0 86.0 3 243。0 81.0
选择〈7〉,按学号及学期删除学生信息:
Student.txt:
23 赵月 89.0 88.0 88。0 3 269.0 89。7
12 李丽 92.0 88。0 88.0 3 265。0 88。3
17 王万 78.0 86。0 86。0 3 243。0 81.0
选择〈8>,按数据结构降序〈冒泡〉排序:
Student.txt:
23 赵月 89.0 88。0 88.0 3 269.0 89。7
12 李丽 92.0 88。0 88。0 3 265。0 88.3
17 王万 78.0 86。0 86。0 3 243。0 81。0
选择<9>,按总分降序<选择〉排序:
Student。txt:
23 赵月 89。0 88.0 88。0 3 269.0 89。7
12 李丽 92.0 88.0 88.0 3 265。0 88。3
17 王万 78.0 86.0 86。0 3 243。0 81。
选择〈10〉,统计各科成绩的总分和平均分:
选择<11>,退出:
5、 总结 课程设计终于结束了感觉有很多的收获,通过课程设计我又一次巩固了所学的知识,对学习到的理论知识进行了巩固,真正的理解及体会了。平时有很多知识都是似懂非懂,通过平时上机操作,自己也了解了一些,但在这次的课设上,之前的困惑也通过这次的课设解决了一些,虽然还是不能够全面的理解,但是有进步就很有成就感。在课程设计中遇到不少困难,通过查阅资料,询问同学,在应用课本的前提下,拓展课外知识,完成了此次课程设计,虽然还有许多不足之处,但是从中我学到了许多东西.我懂得了我们不能拘泥于所学知识,应对其灵活运用.
通过此次课程的设计使我认识到对知识的掌握不全面,而且感觉我们在学习专业知识的同时还需要再加强其他方面知识的学习,因为编程有时候涉及到其他方面的知识,只有了解了其他方面的知识才能收集资料,然后编程。在编程的过程中,又重新复习了课本,从中学到了许多以前未学到的知识,感觉非常有成就感,特别当自己把程序一点点完善时,
让我对自己更加有信心,让我对数据结构这门课程也更感兴趣了,以前我一直感觉枯燥难学的数据结构,在编程的过程中我也愿意去认真研究学习了。
这次数据结构课程设计中,多亏了同学的耐心帮助。如果没有同学的指导改错,我会花更多的时间去找错误。在以后的学习过程中,我一定会认真负责地对待课本中的每一个知识点,进一步充实自己,提高自己。争取在不断的练习中提高自己的层次.也希望可以在以后的专业课当中多增加一些实践的内容,只有多动手,我们才能不断提高.
6、附录:源程序清单
#include <iostream.h>
#include <stdlib.h>
#include <iomanip。h〉 //主要是对cin,cout之类的一些操纵运算,是I/O流控制头文件.
#include 〈conio.h〉 //文件和标准控制台的输入输出
#include 〈stdio.h>
//数组、结构体
struct Student //结构体
{
int term; //学期
int num; //学号
char name[12]; //姓名
float mark1; //成绩1
float mark2; //成绩2
float mark3; //成绩3
float sum; //总分
float average; //平均分
};
int num=0;
//声明
void input(Student *r); //输入
void output(Student *r); //输出
void searchnum(Student *r); //按 学号及学期 查找
void searchname(Student *r); //按 姓名及学期 查找
void change(Student *r); //按 学号及学期 修改信息
Student *insert(Student *r); //插入信息
void shanchu(Student *r); //按 学号及学期 删除信息
void maopao(Student *r); //按数据结构降序(冒泡)排序
void xuanze(Student *r); //按总分降序(选择)排序
void tongji(Student *r); //统计各科总分和平均分信息
void main()
{
cout<〈"输入学生的个数:";
cin〉〉num; //全局变量
Student *p=(Student *)new Student[num]; //定义指针数组,存放学生个数
int m;
do{
cout〈〈endl;
cout〈〈endl;
cout〈〈"\t*—-—-—-——————-——--————--——————〉菜单栏〈--—-——---—--——-———---—-————-—*\n”<〈endl;
cout<<”\t* 〈1〉 输入学生信息并保存到文件 <2> 读取文件并输出学生信息 *”〈〈endl;
cout<〈”\t* 〈3> 按学号及学期查询 〈4〉 按姓名及学期查询 *”<〈endl;
cout<〈"\t* 〈5〉 按学号及学期修改信息 〈6> 插入信息 *”〈〈endl;
cout<〈”\t* 〈7〉 按学号及学期删除信息 〈8> 按数据结构降序(冒泡)排序 *”<<endl;
cout<〈"\t* <9> 按总分降序(选择)排序 〈10〉 统计各科成绩的总分和平均分*"<〈endl;
cout〈<"\t* 〈11〉 退出 *”〈<endl;
cout〈〈"\t*————--—-—--——-—-———-——----—-———-—-——--——---——-——-———--—-————--—-——*\n"<<endl;
cout〈<”请选择:”;
cin〉〉m;
switch(m)
{
case 1:
input(p); //输入
break;
case 2:
output(p);
break;
case 3:
searchnum(p);
break;
case 4:
searchname(p);
break;
case 5:
change(p);
break;
case 6:
p=insert(p);
break;
case 7:
shanchu(p);
break;
case 8:
maopao(p);
break;
case 9:
xuanze(p);
break;
case 10:
tongji(p);
break;
case 11: //退出
break;
}
}while(m!=11);
}
//输入信息
void input(Student *r)
{
FILE *fp;
int n=0;
int i;
int t=0; //t为标志位,1为找到,0为未找到
cout〈〈endl〈〈”——-—-——-——〉 请输入学生信息 〈————————-”〈〈endl;
for(i=0;i〈num;i++)
{
cout<<”请输入学期:”;
cin〉〉r[i]。term;
cout〈<"请输入第”〈<i+1<〈"个人的学号:";
cin〉〉r[i]。num;
if(i>=1)
{
for(n=0;n<i;n++)
{
if(r[n]。num==r[i]。num)
{
cout〈〈"该学号已存在!!”〈〈endl;
t=1;
}
}
}
if(t==1) //表示有重复
{
i——;
t=0;
continue;
}
cout〈〈”请输入姓名:”;
cin〉>r[i]。name;
cout<〈"请输入 高等数学 成绩:”;
cin〉〉r[i].mark1;
cout〈〈”请输入 数据结构 成绩:”;
cin>〉r[i]。mark2;
cout<〈”请输入 大学英语 成绩:";
cin〉〉r[i]。mark3;
r[i]。sum=r[i].mark1+r[i]。mark2+r[i]。mark3;
r[i].average=(r[i].mark1+r[i].mark2+r[i]。mark3)/3;
}
fp=fopen(”student.txt”,"w+");
if(!fp)
{
cout<<”文件不能打开”〈<endl;
exit(0);
}
for(n=0;n〈i;n++)
{
fprintf(fp,”%d %s %。1f %。1f %。1f %d %。1f %.1f",r[n]。num,r[n]。name,r[n].mark1,r[n]。mark2,r[n]。mark3,r[n]。term,r[n].sum,r[n]。average);
fprintf(fp,"\n");
}
fclose(fp);
cout〈〈”文件已经写入”〈〈endl;
}
//输出信息
void output(Student *r)
{
int m;
system(”cls”); //清屏
if(num〉0)
{
FILE *fp;
if((fp=fopen(”student。txt",”r”))==NULL) //r只读
{
cout<〈”文件不能打开”〈〈endl;
exit(0);
}
for(int n=0;n〈num;n++)
{
fscanf(fp,”%d%s%f%f%f%d%f%f”,&r[n]。num,r[n].name,&r[n]。mark1,&r[n]。mark2,&r[n].mark3,&r[n]。term,&r[n].sum,&r[n].average);
}
fclose(fp); //关闭文件
cout<〈”文件已经读入”〈〈endl;
cout〈<"-——————-—————-——-—--—--—--—-〉 学生信息如下 〈——--—-———--—-—---—--—--—--—-—-"<〈endl;
cout〈〈”学号"〈<setw(6)〈〈”姓名”〈<setw(10)〈〈”高等数学”〈<setw(10)〈〈”数据结构"〈〈setw(10) //setw(6) 设置输出宽度
<〈"大学英语”〈<setw(6)〈〈”学期”<<setw(6)〈〈"总分”<〈setw(8)〈<”平均分"<〈endl;
cout〈<"——--—-————----—-——————----—-—-—-——--———————————---——————-—-——--”<〈endl;
for(m=0;m〈num;m++)
{
cout〈〈r[m]。num〈<setw(6)<〈r[m]。name〈〈setw(7)<〈r[m]。mark1〈<setw(10)
〈〈r[m]。mark2〈<setw(10)〈<r[m].mark3〈〈setw(8)〈<r[m].term〈〈setw(6)
〈〈r[m]。sum<<setw(6)<〈r[m]。average<〈endl;
}
cout〈<”\0\0”〈〈endl;
}
else
cout〈<”未输入任何信息!!”<〈endl;
}
//按学号及学期查找
void searchnum(Student *r)
{
int n,k;
system(”cls”); //清屏
if(num〉0)
{
cout<〈”请输入要查找学生的学号:”;
cin>〉n;
cout〈〈"请输入学期号:";
cin>>k;
for(int m=0;m〈num;m++)
{
if(r[m].num==n&&r[m].term==k) //如果找到了输出并跳出循环
{
cout<<endl;
cout〈〈"—--—--——-————-———-—--—--—〉 要查找的信息如下 〈——----—--—————-——-——-——-——-——”〈<endl;
cout〈<”学号”<〈setw(6)<<"姓名”〈<setw(10)〈〈"高等数学”<〈setw(10)<〈"数据结构”
<〈setw(10)<〈"大学英语”〈〈setw(6)<〈"学期”〈〈setw(6)<〈”总分”<<setw(8)<〈”平均分"<〈endl;
cout<〈r[m]。num<<setw(6)〈<r[m].name<〈setw(7)〈<r[m].mark1<<setw(10)〈〈r[m].mark2
<<setw(10)〈<r[m]。mark3<〈setw(8)<〈r[m].term〈<setw(6)<〈r[m].sum〈〈setw(8)
〈〈r[m].average〈〈endl;
break;
}
}
if(r[m]。num!=n&&r[m]。term!=k) //若没找到提示不存在
cout<〈”该学号不存在,或没有这个学期的成绩!”<〈endl;
}
else
cout〈〈”未输入任何信息!!”〈〈endl;
}
//按姓名及学期查找
void searchname(Student *r)
{
char n[12];
int k;
system("cls”); //清屏
if(num〉0) //如果没输入就查找提示
{
cout〈〈"请输入要查找学生的姓名:";
cin〉>n;
cout〈〈"请输入学期号:";
cin>〉k;
for(int m=0;m<num;m++)
{
if((r[m].name[0] == n[0]) && (r[m]。term == k)) //如果找到了输出并跳出循环
{
cout<〈endl;
cout〈<"————-——--———-——-——--——--—〉 要查找的信息如下 <-----——--—-—-——-—-——--—----”〈<endl;
cout〈〈”学号"〈〈setw(6)〈〈”姓名”〈〈setw(10)〈〈”高等数学"<〈setw(10)<〈"数据结构"
〈<setw(10)<<"大学英语”〈〈setw(6)<〈”学期”<〈setw(6)〈〈"总分"
〈〈setw(8)〈〈"平均分"〈<endl;
cout<〈r[m]。num〈<setw(6)<<r[m].name〈〈setw(7)〈〈r[m].mark1<<setw(10)〈〈r[m].mark2
<<setw(10)〈〈r[m].mark3〈<setw(8)〈〈r[m]。term〈<setw(6)<〈r[m].sum〈〈setw(8)
〈〈r[m].average<〈endl;
break;
}
}
if(r[m]。name[0]!=n[0]&&r[m]。term!=k) //若没找到提示不存在
cout〈〈”该姓名不存在,或没有这个学期的成绩!"〈〈endl;
}
else
cout〈〈”未输入任何信息!!”〈<endl;
}
//按学号及学期修改信息
void change(Student *r)
{
FILE *fp;
int n=0;
char chiose ='Y';
if(num〉0)
{
int n,k;
int t=0;
system(”cls”); //清屏
cout〈<"输入要修改成绩的学生学号:”;
cin〉〉n;
cout<〈”所需修改的学期:”;
cin>〉k;
for(int m=0;m〈num;m++)
{
if(r[m]。num==n && r[m]。term==k)
{
int j;
cout<<endl;
cout〈<”——-——-————--—————--—-————〉 修改前的信息如下 <—-——-———--——-—-————-——--——"<〈endl;
cout<〈”学号”〈<setw(6)〈〈”姓名”〈〈setw(10)〈〈”高等数学”〈〈setw(10)〈〈”数据结构”
〈〈setw(10)〈〈”大学英语”〈
展开阅读全文