C++学生成绩管理系统课程设计报告
最全的 内容最好的!
C++课程设计报告书
题目:学生成绩管理系统
专 业:信息与计算科学 班 级:0208403 学 号:020840306 姓 名:张亚炬 任课老师:文 军
最全的 内容最好的!
学生成绩管理系统课程设计报告
摘要:
本系统主要用于对学生的成绩进行管理。通过本系统,可以将各个学生的成绩记录输入到系统中,保存到文件,便于查阅和相关管理。此外,该系统还能实现对学生成绩记录的显示,查询以及插入或删除学生的成绩记录等功能。
一、 问题描述
编写一个简单的学生成绩管理系统。学生成绩管理系统有若干学生成绩记录组成,每个记录由学号、姓名、性别和成绩四部分组成,学号不超过11个字符,姓名不超过21个字符,性别为’m’(male)或’f’(female),成绩为double型数据。该系统具有以下功能:
(1) 程序开始执行时显示如下版权信息和主菜单: *******学生成绩管理系统*************
*1.添加学生成绩记录 *2.显示学生成绩记录 *3.查找学生成绩记录 * 4.删除学生成绩记录 * 5.保存学生成绩记录 * 6.加载学生成绩记录 * 7.退出学生成绩管理系统
************************************ 请输入(1~7):
(2) 通过键盘输入数字1~7后,程序能够执行相应的功能,执行完后回到上述
主菜单继续等待用户输入,输入数字7后退出程序。
(3) 选择“添加学生成绩记录”后,输入要插入记录的位置。按程序提示依次
输入学号,姓名,性别,成绩,插入记录成功。
(4) 选择“显示学生成绩记录”,显示学生成绩表中已有的学生记录的个数,
最全的 内容最好的!
并显示出各个学生记录的相关信息。
(5) 选择“查找学生成绩记录”,按提示输入要查找的学生的学号,输入学号,
若该学号存在,则输出相应的学生记录,如该学号不存在,则按任意键返回主菜单。
(6) 选择“删除学生成绩记录”,按提示输入要删除的学生的学号,输入学号,
若改学号存在,则删除相应的学生记录,如果该学号不存在,则按任意键返回主菜单。
(7) 选择“保存学生成绩记录”,系统会将已有的学生记录保存在默认的文件
名为fname.txt的文件中。
(8) 选择“加载学生成绩记录”,系统会提示输入文件名,输入默认的文件名
为fname.txt,则可将文件中的相关信息导出。
(9) 选择“退出学生成绩管理系统”,按任意键退出系统。
二、 解决方案
这是一个很实际的编程实例。编程要求很详细,内容也比较多,有一定难度。首先,学生成绩记录是一个复杂的数据结构,至少应包括学号,姓名,性别和成绩。所以,必须建立一个类student,用来记录学号,姓名,性别和成绩。此外还得建立一个类stuscore,用来记录多个学生的成绩记录。 1、
建立类学生类student,它至少包括学号number,姓名name,性别sex,成绩chengji。具体如下:
class student {
public:
char name[21]; //姓名 char number[11]; //学号 char sex; //性别 double chengji; //成绩
student *next; //类指针,用来指向下一个记录
student();
void init(string &Name,string &Number,char Sex,double Chengji); //输入学生成
最全的 内容最好的!
绩记录 };
函数init(string &Name,string &Number,char Sex,double Chengji)用于输入学生记录,相当于一个注册。其具体实现如下:
void student::init(string &Name,string &Number,char Sex,double Chengji) {
int len;
len=Name.length(); if(len>20)len=20; virtual ~student();
Name.copy(name,len,0); name[len]=0; }
2、
建立学生成绩记录类stuscore,该类是学生成绩记录的集合。其成员函数则是问题中要求的添加、显示、查找、删除、保存、导出等各种操作。改类具体如下:
class stuscore {
student* head;
len=Number.length(); if(len>10)len=10;
Number.copy(number,len,0); number[len]=0; sex=((sex=='m')?'m':'f'); chengji=Chengji;
public:
bool add_record();//添加学生成绩记录
最全的 内容最好的!
void display_record();//显示学生成绩记录 int length();//学生成绩记录个数 bool delete_record();//删除学生成绩记录 void save_record();//保存学生成绩记录 void load_record();//加载学生成绩记录 bool find_record();//查找学生成绩记录 stuscore(); virtual ~stuscore(); };
现在就要编写各个功能的函数实体了:
① 添加学生成绩记录add_record(),建立一个链表: bool stuscore::add_record() {
int i; int j=1; string Name;
string Number;
char Sex; double Chengji;
student *newnode,*current,*previous; current=previous=head; cout<<"请输入插入的位置:";
cin>>i;
if(i<=0||i>length()+1)
{
cout<<"输入的位置不正确!";
return false; }
cout<<"请输入学号:";
最全的 内容最好的!
cout<<"请输入姓名:";
cin>>Name;
cout<<"请输入性别:";
cin>>Sex;
cout<<"请输入成绩:"; cin>>Chengji; newnode=new student();
newnode->init(Name,Number,Sex,Chengji); newnode->next=null; if(!newnode)
{
cout<<"内存已满!";
return false; }
if(i==1) { }
newnode->next=head; head=newnode; return true;
else
{
while(current&&j<i) {
previous=current;
current=current->next; j++; }
newnode->next=current;
最全的 内容最好的!
}
}
return true;
② 显示学生成绩记录display_record(),具体实现如下: void stuscore::display_record() {
student*current; current=head;
cout<<"表中有"<<length()<<"条记录!\n"; if(length()) {
cout<<setiosflags(ios::left)<<setw(15)<<"学号"<<setw(15)<<"姓名
"<<setw(12)<<"性别"<<setw(5)<<"成绩"<<endl;
while(current) } }
另外,对<<运算符进行了重载,这样就可以直接用cout输出学生成绩记录,函数重载如下:
ostream&operator<<(ostream&output,const student *addr) {
output<<setiosflags(ios::left)<<setw(15)<<addr->number<&l …… 此处隐藏:4462字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




