当前位置:文档之家› c++面向对象程序设计大作业

c++面向对象程序设计大作业

{
if (it->ID==tID)
{
cout<<"----查找到,该学生信息如下:-----"<<endl;
it->print();
lst.erase(it);
cout<<"删除完毕!"<<endl;
flag=true;
break;
}
}
if (flag==false)
{
cout<<"未找到!"<<endl;
三 大作业的要求与数据
1、用C++语言实现系统;
2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.
3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:
(1)每一条记录包括一个学生的学号、姓名、3门课成绩
四 大作业应完成的工作
(1)编写算法;
(2)算法测试,并有具体的测试结果和结果分析;
(3)撰写大作业报告。内容包括:
1)封面扉页
2)设计任务书
3)目录
4)总体设计方案(包括流程图)
5)使用说明及运行实例(包括界面)
6)成员设计内容简介
7)项目源程序代码(注意注释的使用)
8)指导教师评语
五总体设计(包含几大功能模块)
{
name=pName;
ID=pID;
grade=pgrade;
}
//显示学生的信息
void print()
{
cout << name <<"\t" <<ID << "\t" << grade << endl;
}
};
list<Student> lst;//学生链表,用于存放学生数据
void print(list<Student> lst)//显示链表中所有的学生
}
}
void screenA()//显示屏幕操作A
{
cout<<"****************************************"<<endl;
cout<<" 1--------------查询"<<endl;
cout<<" 2--------------插入"<<endl;
cout<<" 3--------------删除"<<endl;
八总结………………………………………………………………...8
十 参考资料…………………………………………………………….9
一 大作业的目的
《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。
二 大作业的内容
对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。
{
list<Student>::iterator it;
cout <<"tname\tID\tgrade"<< endl;
for(it = lst.begin(); it != lst.end(); ++it)
it->print();
cout << endl;
}
void insertStudent()//插入一个学生
1、成绩录入功能
2、成绩输出功能
3、成绩查询功能
4、删除模块
5、排序功能
6、统计功能
7、退出系统
六 详细设计(各功能模块的具体实现算法——流程图)
6.1各函数的功能和实现
1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。
(2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。)
(3)、成绩信息显示浏览功能:完成全部学生记录的显示。
(4)、查询功能:完成按姓名查找学生记录,并显示。
(5)成绩信息的删除:按学号进行删除某学生的成绩.
(6)、排序功能:按学生平均成绩进行排序。
(7)、应提供一个界面来调用各 tname;
cin>>tname;
bool flag=false;
list<Student>::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
if (it->name==tname)
{
cout<<"----查找到,该学生信息如下:-----"<<endl;
break;
case '2'://插入学生
insertStudent();
break;
case '3'://删除学生
deleteStudent();
break;
case '4'://显示当前信息
cout<<"---------当前数据列表如下"<<endl;
print(lst);
break;
case '5'://退出
cout<<" 4--------------显示"<<endl;
cout<<" 5--------------退出"<<endl;
cout<<"****************************************"<<endl;
}
void searchByName()//按名字查找
{
cout<<"-------请输入姓名:"<<endl;
return 0;
}
system("pause");
system("cls");
screenA();
}
cout<<"系统退出"<<endl;
return 0;
}
7.2.2主要程序运行结果
运行开始(如图7.1)
图7.1
选择1输入成绩(7.2)
图7.2
选择3按平均分排序 再按2输出成绩(如图7.3)
图7.3
{
system("cls");
cout<<"-------请输入要删除学生的学号ID:"<<endl;
string tID;
cin>>tID;
bool flag=false;
list<Student>::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
八 总结
通过这次大作业使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。本
{
system("cls");
cout<<"-------请输入学号ID"<<endl;
string tID;
cin>>tID;
cout<<"-------请输入姓名:"<<endl;
string tname;
cin>>tname;
cout<<"-------请输入分数:"<<endl;
int tgrade;
6、统计功能能:用函数void stat(STUDENT *data, int len)来实现
7、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
如图6.1
图6.1
七 调试分析(包含各模块的测试用例,及测试结果)
7.1源程序
#include <iostream>
2、成绩输出模块:输出学生的信息以及成绩void output(STUDENT *data, int len):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出成绩的平均分数、最高和最低分数。
四大作业应完成的工作.................. ................4
相关主题